]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/kern/efi/mm.c (grub_efi_get_memory_map): Never return a
[grub2.git] / ChangeLog
1 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/efi/mm.c (grub_efi_get_memory_map): Never return a
4 descriptor_size==0 to avoid potential divisions by zero.
5
6 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/osdep/haiku/getroot.c (grub_util_find_partition_start_os):
9 Avoid division by zero.
10
11 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/kern/generic/rtc_get_time_ms.c (grub_rtc_get_time_ms): Avoid
14 division by zero.
15
16 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/loader/i386/xnu.c (guessfsb): Avoid division by 0.
19
20 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * grub-core/kern/i386/tsc.c (calibrate_tsc): Ensure that
23 no division by 0 occurs.
24
25 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * include/grub/misc.h (grub_div_roundup): Remove as it's unused.
28
29 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/term/gfxterm.c: Avoid division by zero.
32
33 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
34
35 Avoid division by zero in serial.
36
37 * grub-core/term/serial.c (grub_cmd_serial): Ensure speed is not 0.
38 * grub-core/term/ns8250.c (serial_get_divisor): Exit if speed is 0.
39
40 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/video/readers/jpeg.c: Avoid sivision by zero.
43
44 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/disk/diskfilter.c: Validate volumes to avoid division
47 by zero.
48
49 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * include/grub/term.h: Avoid returining 0-sized terminal
52 as it may lead to division by zero.
53
54 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * grub-core/fs/zfs.c: Avoid divisions by zero.
57
58 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/fs/btrfs.c: Avoid divisions by zero.
61
62 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Check that hash len is not 0.
65
66 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/osdep/linux/blocklist.c (grub_install_get_blocklist): Check
69 blocksize validity.
70
71 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity.
74
75 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size
78 validity.
79
80 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Do not
83 divide by zero.
84
85 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/fs/hfs.c (grub_hfs_mount): Additional filesystem
88 sanity checks.
89
90 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/fs/minix.c: Additional filesystem
93 sanity checks.
94
95 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/fs/ext2.c (grub_ext2_mount): Additional
98 checks for superblock validity.
99
100 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * grub-core/fs/ufs.c (grub_ufs_mount): Check
103 that sblock.ino_per_group is not 0.
104
105 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
106
107 Reject NILFS2 superblocks with over 1GiB blocks.
108
109 * grub-core/fs/nilfs2.c (grub_nilfs2_valid_sb): Check that
110 block size is <= 1GiB.
111
112 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/disk/ata.c (grub_ata_setaddress): Check that geometry
115 is sane when using CHS addressing.
116
117 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0.
120
121 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Avoid
124 division by zero.
125
126 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_maxpacket): Avoid
129 potentially returning 0.
130
131 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/fs/minix.c (grub_minix_read_file): Avoid reading past
134 the end of file.
135
136 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/fs/fshelp.c (grub_fshelp_read_file): Don't attempt to read
139 past the end of file.
140
141 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Update len
144 synchronously with line.
145
146 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
147
148 Replace explicit sizeof divisions by ARRAY_SIZE.
149
150 2015-01-19 Kris Moore <kris@pcbsd.org>
151
152 * grub-core/disk/geli.c: Support GELI v6 and v7.
153
154 2014-12-09 Andrei Borzenkov <arvidjaar@gmail.com>
155
156 * grub-core/term/serial.c (grub_cmd_serial): Fix --rtscts
157 option processing.
158
159 2014-12-07 David Kozub <zub.272@gmail.com>
160
161 * grub-core/kern/arm/misc.S: fix unaligned 64bit local variable
162 in __aeabi_uidivmod
163 Fixes Savannah bug #43632.
164
165 2014-12-07 Peter Nelson <peterdn>
166
167 * grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse
168 chunks.
169
170 2014-12-07 Andrei Borzenkov <arvidjaar@gmail.com>
171
172 * util/grub-mkconfig_lib.in (version_test_gt): Remove redundant
173 non-portable '-n' echo option.
174 * util/grub.d/10_kfreebsd.in: Change how list is built to avoid
175 non-portable 'echo -n.
176 * util/grub.d/10_linux.in: Likewise (closes 43668).
177 * util/grub.d/20_linux_xen.in: Likewise.
178 * util/grub.d/30_os-prober.in: Print spaces directly to avoid
179 non-portable 'echo -n'.
180
181 2014-12-07 Curtis Larsen <larsen@dixie.edu>
182
183 * grub-core/net/tcp.c (grub_net_recv_tcp_packet): Fix double
184 free when multiple empty segments were received (closes 42765).
185
186 2014-12-05 Andrei Borzenkov <arvidjaar@gmail.com>
187
188 * tests/util/grub-shell.in: Support --files also for netboot.
189 * tests/file_filter_test.in: New file with file filters tests.
190 * Makefile.util.def: Add file_filter_test.
191 * conf/Makefile.extra-dist: ... and here.
192 * tests/file_filter/file.gz: Test file for file_filter_test.
193 * tests/file_filter/file.gz.sig: Likewise.
194 * tests/file_filter/file.lzop: Likewise.
195 * tests/file_filter/file.lzop.sig: Likewise.
196 * tests/file_filter/file.xz: Likewise.
197 * tests/file_filter/file.xz.sig: Likewise.
198 * tests/file_filter/keys: Likewise.
199 * tests/file_filter/keys.pub: Likewise.
200 * tests/file_filter/test.cfg: Likewise.
201 * grub-core/commands/verify.c: Fix memory corruption doing
202 signature check for network files (closes 43601).
203
204 2014-12-01 Andrei Borzenkov <arvidjaar@gmail.com>
205
206 * grub-core/loader/i386/xen_fileXX.c (grub_xen_get_infoXX): Fix
207 memory leak (CID 73645, 73782).
208 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix memory leak
209 (CID 73635).
210
211 2014-11-30 Andrei Borzenkov <arvidjaar@gmail.com>
212
213 * grub-core/lib/syslinux_parse.c (free_menu): Do not free
214 inline array (CID 73610).
215
216 2014-11-28 Andrei Borzenkov <arvidjaar@gmail.com>
217
218 * grub-core/io/lzopio.c (test_header): Fix double free (CID 73665)
219 * grub-core/disk/geli.c (configure_ciphers): Fix memory leaks
220 (Coverity CID 73813, 73710)
221 * grub-core/disk/luks.c (configure_ciphers): Fix memory leaks
222 and use after free (Coverity CID 73813, 73710, 73730)
223 * grub-core/disk/luks.c (luks_recover_key): Fix memory leak (Coverity
224 CID 73854)
225 * util/grub-install-common.c (grub_install_get_target): Check return
226 value of grub_util_fd_read (Coverity CID 73819).
227 * util/grub-mkstandalone.c (add_tar_file): Fix out of bound access
228 to hd.magic (Coverity CID 73587, 73888, bug 43690).
229
230 2014-11-20 Andrei Borzenkov <arvidjaar@gmail.com>
231
232 * tests/util/grub-fs-tester.in: Consistently print output
233 of grub ls if test fails.
234
235 2014-11-07 Leif Lindholm <leif.lindholm@linaro.org>
236
237 * grub-core/kern/efi/init.c: check value of *path before
238 dereferencing.
239
240 2014-11-03 Michael Chang <mchang@suse.com>
241
242 * grub-core/net/icmp6.c (grub_net_recv_icmp6_packet): Fix size
243 of neighbor solicitation packet in grub_netbuff_pull.
244
245 2014-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
246
247 * grub-core/loader/arm/linux.c: Use full initializer for initrd_ctx to
248 avoid fatal warnings with older gcc (probably before 4.7).
249 * grub-core/loader/arm64/linux.c: Likewise.
250 * grub-core/loader/i386/linux.c: Likewise.
251 * grub-core/loader/i386/pc/linux.c: Likewise.
252 * grub-core/loader/ia64/efi/linux.c: Likewise.
253 * grub-core/loader/mips/linux.c: Likewise.
254 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
255 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
256
257 2014-09-25 Colin Watson <cjwatson@ubuntu.com>
258
259 Fix in-tree --platform=none
260
261 * configure.ac: Only remove include/grub/cpu and
262 include/grub/machine in the --platform=none case, not all of
263 include/grub.
264
265 2014-09-23 Colin Watson <cjwatson@ubuntu.com>
266
267 Add a new "none" platform that only builds utilities
268
269 * configure.ac: Add "none" platform. Default to it for unsupported
270 CPUs rather than stopping with a fatal error. Don't downgrade
271 x86_64-none to i386. Define COND_real_platform Automake conditional
272 if the platform is anything other than "none". Don't do any include
273 directory linking for "none".
274 * Makefile.am: Skip building grub-core and all bootcheck targets if
275 !COND_real_platform.
276 * include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
277 is defined.
278
279 2014-09-22 Andrei Borzenkov <arvidjaar@gmail.com>
280
281 Use grub_cpu_to_XXX_compile_time for constants.
282
283 2014-09-21 Valentin Dornauer <valentin@unimplemented.org>
284
285 The AML parser implements only a small subset of possible AML
286 opcodes. On the Fujitsu Lifebook E744 this and another bug in
287 the parser (incorrect handling of TermArg data types) would lead
288 to the laptop not turning off (_S5 not found).
289
290 * grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
291 in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
292 aren't always simply strings!); Add function to skip TermArgs
293 * include/grub/acpi.h: Add new opcodes
294
295 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/normal/main.c: Don't drop to rescue console in
298 case of password-protected prompt and no menu entries.
299
300 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/commands/keylayouts.c: Ignore unknown keys.
303
304 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/gmodule.pl.in: Accept newer binutils which output
307 empty column rather than 0x0.
308
309 2014-09-21 Michael Chang <mchang@suse.com>
310
311 * grub-core/osdep/unix/config.c: Remove extraneous comma.
312
313 2014-09-21 Peter Jones <pjones@redhat.com>
314
315 * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
316 we don't free a random pointer from the stack.
317 * grub-core/loader/arm64/linux.c: Likewise.
318 * grub-core/loader/i386/linux.c: Likewise.
319 * grub-core/loader/i386/pc/linux.c: Likewise.
320 * grub-core/loader/ia64/efi/linux.c: Likewise.
321 * grub-core/loader/mips/linux.c: Likewise.
322 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
323 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
324
325 2014-09-15 Khem Raj <raj.khem@gmail.com>
326
327 * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
328 _BSD_SOURCE to avoid warnings under glibc 2.20+.
329
330 2014-09-08 Michael Chang <mchang@suse.com>
331
332 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
333 check; comparing &data->extent against addresses in the region it
334 points to is unpredictable.
335
336 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
337
338 Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
339
340 * configure.ac: Remove -m64 from checks for -mcmodel=large and
341 -mno-red-zone. These are always either unnecessary (x86_64-emu) or
342 already in TARGET_CFLAGS at this point, and they produce incorrect
343 results when building for x32.
344 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
345 pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
346 * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
347 GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
348
349 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
350
351 * configure.ac: Remove several unnecessary semicolons.
352
353 2014-08-25 Colin Watson <cjwatson@ubuntu.com>
354
355 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
356 Initialise pend to pacify GCC.
357
358 2014-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
359
360 * util/grub-mkconfig.in: Fix typo (gettext_print instead of
361 gettext_printf).
362
363 2014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/term/at_keyboard.c: Retry probing keyboard if
366 scancode setup failed.
367
368 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
371
372 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
375 safety to avoid triggerring VirtualBox bug.
376
377 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
380
381 Fixes hang on virtualbox.
382
383 2014-07-08 Colin Watson <cjwatson@ubuntu.com>
384
385 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
386 kernels whose paths contain regex metacharacters.
387 * util/grub.d/10_kfreebsd.in: Likewise.
388 * util/grub.d/10_linux.in: Likewise.
389 * util/grub.d/20_linux_xen.in: Likewise.
390
391 Reported by: Heimo Stranner.
392
393 2014-06-26 Colin Watson <cjwatson@ubuntu.com>
394
395 * docs/grub-dev.texi (Finding your way around): The build system no
396 longer uses AutoGen directly.
397
398 2014-06-21 Роман Пехов <roman_pekhov>
399
400 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
401
402 2014-06-21 Glenn Washburn <development@efficientek.com>
403
404 * util/grub-install.c: Fix handling of --disk-module.
405
406 2014-06-21 Stephane Rochoy <sheda>
407
408 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
409 EFI system table.
410
411 2014-06-21 Stephane Rochoy <sheda>
412
413 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
414 EFI system table physical address.
415
416 2014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
417
418 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
419
420 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
423
424 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
427 check.
428
429 2014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
432
433 Reported by: Yves Blusseau <blusseau@zetam.org>.
434
435 2014-04-20 Piotr Krysiuk <piotras@gmail.com>
436
437 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
438 GDT in conventional memory.
439
440 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
441
442 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
443 UUID. Other parts of grub-mkconfig tolerate these, they were
444 previously allowed here up to commit
445 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
446 practice when the system has active LVM snapshots.
447 Fixes Ubuntu bug #1287436.
448
449 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
450
451 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
452 "logical_volumes" block a little more accurately.
453
454 2014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
457
458 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
461 pulled from libgcc.
462
463 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Replace few instances of memcmp/memcpy in the code that should be
466 grub_memcmp/grub_memcpy.
467
468 2014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
471 device names.
472
473 2014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
474
475 btrfs: fix get_root key comparison failures due to endianness
476
477 * grub-core/fs/btrfs.c (get_root): Convert
478 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
479
480 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
481
482 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
483
484 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
485 no longer to be forgiving of trailing spaces on grub-probe output
486 lines, which among other things means that util/grub.d/10_linux.in
487 no longer detects LVM. To fix this, make grub-probe's output
488 delimiting more consistent. As a bonus, this improves the coverage
489 of the -0 option.
490
491 Fixes Debian bug #735935.
492
493 * grub-core/disk/cryptodisk.c
494 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
495 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
496 Likewise.
497 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
498 Update prototype.
499 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
500 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
501 probe_mods): Adjust for extra user-data arguments.
502 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
503 probe_abstraction): Use configured delimiter. Update callers.
504
505 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
506
507 * util/grub-probe,c (options): Make -0 work again (broken by
508 conversion to argp).
509 (main): Simplify logic.
510
511 2014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
514
515 2014-03-26 Fu Wei <fu.wei@linaro.org>
516
517 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
518
519 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
522 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
523
524 Suggested by: Markus Müller.
525
526 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
529 if E820 failed to return any regions.
530
531 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
534 tables for low memory calculations.
535
536 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
539 location to 640K.
540
541 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
544 region.
545
546 2014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
549 exclusively.
550
551 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
552
553 Add bootpath parser for open firmware.
554
555 It enables net boot even when there is no bootp/dhcp server.
556
557 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
558 and call it at grub_ieee1275_net_config_real.
559 * grub-core/kern/ieee1275/init.c: Add bootpath to
560 grub_ieee1275_net_config.
561 * include/grub/ieee1275/ieee1275.h: Likewise.
562
563
564 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
565
566 Add grub_env_set_net_property function.
567
568 * grub-core/net/bootp.c: Remove set_env_limn_ro.
569 * grub-core/net/net.c: Add grub_env_set_net_property.
570 * include/grub/net.h: Likewise.
571
572 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
575
576 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
579
580 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
583 7 seconds to recover if last poweroff was bad.
584
585 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/disk/ahci.c: Properly handle transactions with no
588 transferred data.
589
590 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/disk/ahci.c: Add safety cleanups.
593
594 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
597 slots to avoid pointing to uninited area.
598
599 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
602 enabling busmaster for the end.
603
604 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * util/grub-mkfont.c: Downgrade warnings about unhandled features
607 to debug.
608
609 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
612
613 2014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
614
615 * .gitignore: add missing files and .exe variants.
616
617 2014-01-26 Mike Gilbert <floppym@gentoo.org>
618
619 grub-install: support for partitioned partx loop devices.
620
621 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
622 /dev/loopX as being the parent of /dev/loopXpY.
623
624 2014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
627 Ensure that pointers are inited to NULL and that pointers are not
628 accessed after free.
629
630 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
631
632 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
633 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
634 * include/grub/emu/misc.h: ... and here.
635 * include/grub/err.h: ... and here.
636 * util/import_gcry.py: ... and here (in files g10lib.h).
637
638 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
639
640 * util/grub-mkimage.c: Make prefix argument mandatory.
641
642 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
643
644 Fix several translatable strings.
645
646 Suggested by: D. Prévot.
647
648 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * util/grub-install.c: List available targets.
651
652 2014-01-23 Colin Watson <cjwatson@ubuntu.com>
653
654 * util/grub-install.c (write_to_disk): Add an info message.
655
656 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
657
658 * Makefile.am: Allow adding extra files to generated Windows ZIP
659 archive by setting GRUB_WINDOWS_EXTRA_DIST.
660
661 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
662
663 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
664 Show detected font path in summary.
665
666 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
667
668 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
669 interval gradually.
670 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
671 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
672 * grub-core/net/tftp.c (tftp_open): Likewise.
673 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
674
675 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
676
677 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
678 infinite loops.
679
680 In net/net.c there is a while (1) that only exits if there is a stop
681 condition and more then 10 packages or if there is no package received.
682
683 If GRUB is idle and enter in this loop, the only condition to leave is
684 if it doesn't have incoming packages. In a network with heavy traffic
685 this never happens.
686
687 2014-01-19 Colin Watson <cjwatson@ubuntu.com>
688
689 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
690 EPERM when modifying kern.geom.debugflags. It is only a problem for
691 such things as installing GRUB to the MBR, in which case there'll be
692 an error later anyway, not for opening files during tests.
693
694 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
695
696 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
697 instead of MOD_FILES.
698 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
699 both with and without .exe.
700 * grub-core/genemuinitheader.sh: Same.
701
702 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * util/grub-install.c: Fix a typo.
705
706 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/normal/main.c (read_config_file): Buffer config file.
709 Reduces boot time.
710
711 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
712
713 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
714 symbolic link to directory. It fails in Msys shell on Windows 2003.
715
716 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * Makefile.am (default_payload.elf): Add modules
719 multiboot cbmemc linux16 gzio echo help.
720
721 2014-01-18 Mike Gilbert <floppym@gentoo.org>
722
723 * Makefile.util.def: Link grub-ofpathname with zfs libs.
724
725 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
728 conflicts.
729
730 Reported by: Andrey Borzenkov.
731
732 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
733
734 * include/grub/misc.h: Move macros for compiler features to ...
735 * include/grub/compiler.h: ... new file.
736 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
737 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
738 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
739 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
740 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
741 * grub-core/video/capture.c: Include <grub/misc.h>.
742 * include/grub/command.h: Include <grub/misc.h>.
743 * include/grub/dl.h: Include <grub/misc.h>.
744 * include/grub/procfs.h: Include <grub/misc.h>.
745
746 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
747
748 * configure.ac: Add support for BUILD_EXEEXT and use it ...
749 * Makefile.am: ... here.
750 * Makefile.util.def: ... and here.
751 * grub-core/Makefile.am: ... and here.
752
753 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
754
755 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
756 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
757
758 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/term/terminfo.c: Recognize keys F1-F12.
761
762 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
763
764 * configure.ac: Add support for BUILD_LDFLAGS.
765 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
766 * grub-core/Makefile.am: ... and here.
767 * INSTALL: Mention BUILD_LDFLAGS.
768
769 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
772
773 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
776 and has no //.
777
778 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * NEWS: Add few missing entries.
781
782 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
783
784 * util/grub.d/00_header.in (make_timeout): Use && rather than test
785 -a.
786 * util/grub.d/10_windows.in: Likewise.
787 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
788 than test -o.
789 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
790 rather than test -o.
791
792 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
793
794 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
795 redundant preprocessor conditional.
796
797 2014-01-08 Colin Watson <cjwatson@ubuntu.com>
798
799 * Makefile.util.def (grub-macbless): Change mansection to 8.
800
801 2014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
802
803 * grub-core/loader/arm64/linux.c: correctly set device path end length.
804
805 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
806
807 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
808 arm64 to comply with EFI specification. Also use grubaa64.efi for
809 consistency.
810 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
811
812 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
813
814 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
815 on MinGW-64 when compiling for 32 bits.
816
817 2013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
818
819 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
820
821 2013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * NEWS: Add few missing entries. Correct existing ones.
824
825 2013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Don't abort() on unavailable coreboot tables if not running on coreboot.
828
829 2013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
830
831 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
832 on mingw.
833
834 2013-12-28 Colin Watson <cjwatson@ubuntu.com>
835
836 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
837 mention of it from 2.02.
838
839 2013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
842
843 As these functions are used on pre-ARMv6 CPUs as well we don't want
844 to make assembler assume that architecture is higher than default one.
845
846 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
847
848 * NEWS: First draft of 2.02 entry.
849
850 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
851
852 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
853 * docs/grub.texi (Getting the source code): Likewise.
854
855 2013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
856
857 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
858 detection.
859
860 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * configure.ac: Set version to 2.02~beta2.
863
864 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
867
868 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
869
870 * util/grub-probe.c: Improve help message and simplify list handling.
871
872 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
873
874 Fix buffer overflow in grub_efi_print_device_path.
875
876 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
877
878 Show SATA device path.
879
880 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
881
882 Revert grub-file usage in grub-mkconfig.
883
884 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Make newly-created files other than grub.cfg world-readable.
887
888 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
889
890 * util/grub.d/00_header.in: Improve compatibility with old config.
891
892 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
893
894 Make rijndael.c respect aliasing rules.
895
896 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
897
898 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
899
900 Make grub_util_device_is_mapped_stat available in grub-emu core.
901
902 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Add -Qn to TARGET_CFLAGS if it's supported.
905 Fixes compilation on cygwin.
906
907 Reported by: Andrey Borzenkov.
908 Suggested by: Andrey Borzenkov.
909
910 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
911
912 Save TARGET_CC version in modinfo.sh.
913
914 Suggested by: Andrey Borzenkov.
915
916 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
917
918 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
919 follow the same algorithm to avoid method mismatch. Don't assume
920 DMRAID- UUID to mean full disk but instead check that mapping is linear.
921
922 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
923
924 Declare GRUB_EFI_VENDOR_APPLE_GUID.
925
926 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
927
928 Dump type and vendor specific data when printing device path.
929
930 2013-12-23 Colin Watson <cjwatson@debian.org>
931
932 Update some documentation to refer to Git rather than Bazaar.
933
934 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
935 than Bazaar.
936 * po/README: Likewise. Fix spelling mistake.
937
938 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
939
940 Don't distribute config.h.
941
942 * Makefile.am (platform_HEADERS): Move to ...
943 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
944 failure when building from a distributed tarball.
945
946 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
947
948 * configure.ac: Fix spelling.
949 * grub-core/commands/parttool.c: Fix grammar.
950 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
951 Embedding Partition".
952
953 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
954
955 ARM64 support for grub-mkrescue.
956
957 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
958
959 Install modinfo.sh to keep build information around.
960
961 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/modinfo.sh.in: Add build config information.
964
965 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
966
967 ARM64 grub-file and grub-mkconfig support.
968
969 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Remove leftover options defines.
972
973 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
976
977 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/loader/arm64/linux.c: Add missing bracket.
980
981 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
982
983 Add arm64-efi recognition to grub-file.
984
985 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Fix ia64-efi recognition in grub-file.
988
989 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
990
991 Recognize raspberry pi kernel in grub-file.
992
993 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
994
995 Enable cache on ARM U-Boot port.
996
997 Without it the port is reidiculously slow.
998
999 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 Fix ARM cache maintainance.
1002
1003 More code was converted from ASM to C for easier handling.
1004
1005 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
1008 algorithm on v5.
1009
1010 Suggested by: Leif Lindholm.
1011
1012 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
1013
1014 * util/grub-mkconfig.in: Fix Xen platform conditions.
1015
1016 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
1017
1018 * util/grub-mkrescue.c: Split single help message string in several
1019 strings used in previous shell version.
1020
1021 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
1022
1023 Add arm64 Linux loader.
1024
1025 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
1026
1027 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
1028
1029 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 Add module loading and parsing boot time checkpoints.
1032
1033 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
1036 platforms.
1037
1038 2013-12-22 Lars Wendler <polynomial-c@gentoo.org>
1039
1040 * util/grub-mkconfig.in: Skip non-executable files.
1041
1042 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 Workaround buggy timer in raspberry pie by using our own timer
1045 implementation.
1046
1047 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
1050 Increase to 16 MiB to allow loading the whole memdisk.
1051
1052 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 Fix ARM Linux Loader on non-FDT platforms.
1055
1056 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * configure.ac: Choose link format based on host_os on emu.
1059
1060 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
1063
1064 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/kern/emu/main.c: Build fix for emu.
1067
1068 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 Build fixes for argp.h with older gcc.
1071
1072 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
1075 in strings.
1076
1077 Suggested by: David Prévot.
1078
1079 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
1082
1083 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 Enable -Wformat=2 if it's supported.
1086
1087 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
1090 -Wmissing-declarations if supported.
1091
1092 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
1095 u32 as both HFS and HFS+ have 32-bit inodes.
1096
1097 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * include/grub/misc.h (grub_strtol): Fix overflow.
1100
1101 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
1104 as return type in both conditionals.
1105
1106 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
1109 to use uint8_t for color.
1110
1111 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * util/misc.c (grub_util_get_image_size): Check for overflow.
1114
1115 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
1118 for size.
1119
1120 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
1123 for pointer difference.
1124
1125 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * util/import_gcry.py: Skip sample keys.
1128
1129 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
1132
1133 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * configure.ac: Remove duplicate warning arguments.
1136
1137 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Add missing static qualifiers.
1140
1141 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 Add missing includes.
1144
1145 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 Inline printf templates when possible to enable format checking.
1148
1149 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * include/grub/crypto.h: Don't discard const attribute.
1152
1153 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
1156 was intended.
1157
1158 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/lib/crypto.c: Don't discard const attribute.
1161
1162 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/lib/disk.c: Fix potential overflow.
1165
1166 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/lib/arg.c: Don't discard const attribute.
1169
1170 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/kern/dl.c: Don't discard const attribute.
1173
1174 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/kern/disk.c: Fix potential overflow.
1177
1178 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * conf/Makefile.common: Don't include non-existing directory
1181 grub-core/lib/libgcrypt-grub/include.
1182
1183 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Clarify several translatable messages.
1186
1187 2013-12-21 David Prévot <david@tilapin.org>
1188
1189 Correct some translatable strings.
1190
1191 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
1192
1193 * util/grub-mkrescue.c: Rephrase mkrescue description.
1194
1195 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1196 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
1197
1198 Clarify several translatable messages.
1199
1200 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
1201
1202 Be more verbose about some configure failures.
1203
1204 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
1205
1206 Fix various build problems on GNU/Hurd.
1207
1208 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
1209 !defined (__GNU__).
1210 (xgetcwd): Likewise.
1211 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
1212 [__GNU__]: Add prototype.
1213 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
1214 long int using %ld rather than %d.
1215
1216 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * util/grub-install.c: Inform user about install platform.
1219
1220 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * configure.ac: Set version to 2.02~beta1.
1223
1224 2013-12-18 Allen Pais <allen.pais@oracle.com>
1225 2013-12-18 Bob Picco <bob.picco@oracle.com>
1226
1227 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
1228
1229 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 Make grub_zlib_decompress handle incomplete chunks.
1232
1233 Fixes squash4.
1234
1235 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
1238 on i386-multiboot.
1239
1240 2013-12-18 Aleš Nesrsta <starous@volny.cz>
1241
1242 * grub-core/disk/usbms.c: Retry on unknown errors.
1243 Reuse the same tag on retries.
1244
1245 2013-12-18 Aleš Nesrsta <starous@volny.cz>
1246
1247 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
1248
1249 Avoid confusing them with already completed transfers.
1250
1251 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 Remove xen VFB.
1254
1255 Due to XEN bug it prevents Linux boot. Remove it at least, until
1256 workaround is found.
1257
1258 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * po/exclude.pot: Add 2 missing excludes.
1261
1262 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 Add missing license section in macbless.mod and macho.mod.
1265
1266 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 Allow compilation without thumb-interwork as long as no thumb is
1269 involved or only thumb2 is used.
1270
1271 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * INSTALL: Update comment as to why sparc64 clang isn't usable.
1274
1275 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 Add __attribute__ ((sysv_abi)) only if it's really needed.
1278
1279 Some compilers don't support it.
1280
1281 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
1284
1285 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 Remove -Wold-style-definition.
1288
1289 Not very useful and interaction of it with regexp depends on GCC
1290 version.
1291
1292 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 Make grub_util_get_windows_path_real static.
1295
1296 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/commands/fileXX.c: Silence cast-align.
1299 * grub-core/loader/i386/xen_fileXX.c: Likewise.
1300
1301 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
1304 rather than LL suffix.
1305
1306 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
1309
1310 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/loader/arm/linux.c: Use common initrd functions.
1313
1314 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 Decrease number of strings to translate.
1317
1318 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
1321
1322 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 Mark strings for translation and add remaining ones to exclude list.
1325
1326 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * util/grub-file.c (main): Fix sizeof usage.
1329
1330 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 Silence spurious warning.
1333
1334 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Remove check_nt_hiberfil as it's been superseeded by file command.
1337
1338 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * docs/osdetect.cfg: Add isolinux config to detected OSes.
1341
1342 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 Implement syslinux parser.
1345
1346 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
1349
1350 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 Support cpuid --pae.
1353
1354 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 Use AT keyboard on Yeeloong 3A.
1357
1358 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 Add Yeeloong 3A reboot and halt.
1361
1362 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 Add Radeon Yeeloong 3A support.
1365
1366 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 Add bonito 3A support.
1369
1370 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1373
1374 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1377
1378 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/loader/macho.c: Fix compilation on non-i386.
1381
1382 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 Add missing format_arg attribute to check that printf with translated
1385 messages has proper arguments.
1386
1387 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 Use grub_xasprintf to format translated error messages containing
1390 64-bit quantity.
1391
1392 2013-12-17 Jon McCune <jonmccune@google.com>
1393
1394 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1395
1396 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 Unify message for unsupported relocation.
1399
1400 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 Mark miscompile error for translation.
1403
1404 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 Use %I64 and not %ll when using OS printf if compiling for windows.
1407
1408 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 Update Mac code to match new register_efi prototype.
1411
1412 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 Implement better integration with Mac firmware.
1415
1416 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1419 load_addr.
1420
1421 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 Include serial module in default_payload.elf.
1424
1425 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 Add explicit thumb interwork bx in asm files.
1428
1429 Shouldn't matter for armv >= 5 but let's be safe.
1430
1431 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 Implement Truecrypt ISO loader.
1434
1435 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1438
1439 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 Implement grub_file tool and use it to implement generating of config
1442 in separate root.
1443
1444 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 Change to v1 xen grants.
1447
1448 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1451
1452 GRUB relied on %ebx being preserved across hypercall which isn't true.
1453
1454 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1457
1458 GRUB relied on %rdi being preserved across hypercall which isn't true.
1459
1460 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 Implement XEN VFB support.
1463
1464 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 Remove grub_bios_interrupt on coreboot.
1467
1468 It's not used currently and cannot be used safely currently.
1469
1470 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 Update exclude.pot and mark few strings for translation.
1473
1474 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1477
1478 Reported by: Jon McCune
1479
1480 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1481
1482 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1483 Add verbose information which firmware directories were tried.
1484
1485 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1486
1487 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1488 function to optionally redirect all three standard descriptors.
1489 Redefine grub_util_exec, grub_util_exec_redirect and
1490 grub_util_exec_redirect_null to use it.
1491 * include/grub/emu/exec.h: Define it.
1492 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1493 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1494 Use grub_util_exec_redirect_all to redirect error to NULL.
1495
1496 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/tests/sleep_test.c: Silence spurious warning.
1499
1500 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1503 linker trying to "fixup" the code.
1504
1505 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1508
1509 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Add support for converting PE+ to Elf64.
1512
1513 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1516
1517 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 Remove practice of assigning random const pointers to device id.
1520
1521 This is not required as cache code already checks driver id as well.
1522
1523 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1526 with mingw.
1527
1528 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1531 mingw or cygwin as API already matches.
1532
1533 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1536
1537 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1540 not on long.
1541
1542 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 Handle X86_64_PC64 relocation.
1545
1546 Those are generated by some cygwin compilers.
1547
1548 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 Determine the need for mingw-related stubs at compile time rather than
1551 using not very significant $target_os.
1552
1553 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1556 may not work with ELF.
1557
1558 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 Use unix functions for temporary files and special files on cygwin.
1561
1562 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 Define functions explicitly rather than using --defsym in tests
1565 whenever possible. Respect locality in remaining cases.
1566
1567 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1570
1571 2013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1572
1573 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1574 unlikely errors when getting EFI variables and make exhaustive search
1575 for all BootNNNN variables to find matching one.
1576
1577 2013-12-15 Ian Campbell <ijc@hellion.org.uk>
1578
1579 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1580
1581 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 New functional test for sleep function.
1584
1585 This test allows to check sleep without qemu. Keep qemu version as
1586 well as functional test won't notice if all clocks are going too fast
1587 or too slow.
1588
1589 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 Add explicit sysv_abi on amd64 asm routines.
1592
1593 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1596 num_table_entries.
1597
1598 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1601 functions.
1602
1603 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1606 appropriate.
1607
1608 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1611
1612 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1615 appropriate.
1616
1617 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1620
1621 In case of quick removal of loopback and adding another one it may
1622 get same ID, confusing the cache system.
1623
1624 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1627 appropriate.
1628
1629 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1632 than converting to long.
1633
1634 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1637
1638 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1641 than almost useless pointer.
1642
1643 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 Add gcc_struct to all packed structures when compiling with mingw.
1646
1647 Just "packed" doesn't always pack the way we expect.
1648
1649 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1652
1653 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * util/grub-pe2elf.c: Fix handling of .bss.
1656
1657 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 Implement windows flavour of EFI install routines.
1660
1661 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1664
1665 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 Change grub_install_register_efi interface to pass GRUB device.
1668
1669 This allows grub_install_register_efi to request partition info
1670 directly.
1671
1672 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1675
1676 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 Do not use TCHAR string functions as they are not available on cygwin.
1679
1680 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 Workaround windows bug when querying EFI system partition parameters.
1683
1684 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1687 by using bitfields.
1688
1689 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1692
1693 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 Make i386-* other than i386-pc compileable under cygwin.
1696
1697 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 Fix definition of grub_efi_hard_drive_device_path. Take care that
1700 existing code would work even if by some reason bogus definition is
1701 used by EFI implementations.
1702
1703 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1706
1707 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1710 invocation.
1711
1712 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * util/config.c: Remove trailing newline from distributor in simple
1715 parsing.
1716
1717 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * include/grub/efi/api.h: Rename protocol and interface to avoid
1720 conflict.
1721
1722 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * .gitignore: add .exe variants. add missing files. remove few outdated
1725 entries.
1726
1727 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/osdep/exec.c: Use unix version on cygwin.
1730
1731 2013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 Implement multiboot2 EFI BS specification.
1734
1735 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1738 Crash happened only in some cases like a string starting at the
1739 half of the screen of same length.
1740
1741 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1744 with EFI counterpart.
1745
1746 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 Propagate the EFI commits to x86-efi specific parts.
1749
1750 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1753
1754 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 Introduce grub_efi_packed_guid and use it where alignment is not
1757 guaranteed.
1758
1759 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1762 unaligned u16 rather than u8[2].
1763
1764 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1767 for relocation range.
1768
1769 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1772 non-function pcrel21b relocation. It happens with .text.unlikely
1773 section.
1774
1775 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1776
1777 * make MAX_USABLE_ADDRESS platform-specific
1778 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1779
1780 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1781
1782 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1783
1784 2013-12-09 Jon McCune <jonmccune@google.com>
1785
1786 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1787 in grub-install and grub-bios-setup for x86 BIOS targets.
1788
1789 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 Add missing compile and link options for sparc64-emu.
1792
1793 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 Implement sparc64 trampolines (needed for sparc64-emu).
1796
1797 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1800 range of R_SPARC_HI22.
1801 Implement R_SPARC_LM22.
1802
1803 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1806 Do not explicitly check for symbol table as it's already checked in
1807 platform-independent layer.
1808
1809 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1812 on ia64 as __clear_cache is a dummy on ia64.
1813
1814 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1817 Do not explicitly check for symbol table as it's already checked in
1818 platform-independent layer.
1819
1820 2013-12-09 Colin Watson <cjwatson@ubuntu.com>
1821
1822 * util/grub-mkconfig.in: Add missing newline to output.
1823
1824 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1827 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1828
1829 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1832 compilation with GCC <= 4.2.
1833 * grub-core/kern/emu/argp_common.c: Likewise.
1834
1835 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1838 right platform rather than leaking to sparc64-emu.
1839
1840 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1843 But ensure that the variables in question are indeed unsigned.
1844
1845 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1848
1849 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 Remove grub_memalign on emu.
1852
1853 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1856 truncate incomplete lines but instead flushes them.
1857
1858 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1861 and implement windows variant.
1862
1863 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 Fix mips-emu compilation.
1866
1867 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * configure.ac: Check for freetype library usability.
1870
1871 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 Make arm-emu work.
1874
1875 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1878
1879 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1880
1881 * docs/grub.texi (Environment): Update color_normal and color_highlight
1882 defaults (light-gray instead of white).
1883
1884 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1885
1886 * grub-core/normal/main.c (INIT): Set default color to light-gray
1887 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1888 and apparently BIOS defaults.
1889
1890 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 Transform -C option to grub-mkstandalone to --core-compress available
1893 in all grub-install flavours.
1894
1895 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 Merge GRUBFS and GRUB_FS variables.
1898
1899 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1900
1901 Revert commit 69ca97c820, it caused failures when using OS device name
1902 in grub-install. Instead just strip off parenthesis in grub-install
1903 if (hdX) was passed.
1904
1905 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1906
1907 * util/grub-install.c (push_partmap_module): Add helper to convert
1908 partmap names to module names and use it in probe_mods(). Fixes
1909 failure to find partmap modules in diskfilter case.
1910
1911 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * configure.ac: Make unifont mandatory on coreboot.
1914
1915 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * configure.ac: Skip unifont 6.3 pcf and bdf.
1918
1919 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * Makefile.am: Remove partial font files if generation failed.
1922
1923 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1924
1925 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1926 strings.
1927 * include/grub/util/misc.h: Define it ...
1928 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1929
1930 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1931
1932 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1933 ${grub_probe}.
1934
1935 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 Don't add -mlong-calls when compiling with clang.
1938
1939 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * configure.ac: Fix a typo.
1942
1943 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 Revamp relocation handling.
1946
1947 Move more code to common dl.c. Add missing veneers for arm and arm64.
1948 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1949
1950 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1953
1954 2013-12-05 Mike Gilbert <floppym@gentoo.org>
1955
1956 * INSTALL: Raise minimum python version to 2.6.
1957 * gentpl.py: Use python3-style print function.
1958
1959 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * util/grub-install.c: Mention Boot* variable.
1962
1963 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1964
1965 * grub-core/osdep/linux/hostdisk.c
1966 (grub_util_find_partition_start_os): Initialise start to avoid
1967 spurious compiler warning.
1968
1969 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1970
1971 On Linux, read partition start offsets from sysfs if possible, to
1972 cope with block device drivers that don't implement HDIO_GETGEO.
1973 Fixes Ubuntu bug #1237519.
1974
1975 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1976 function.
1977 (sysfs_partition_start): Likewise.
1978 (grub_util_find_partition_start_os): Try sysfs_partition_start
1979 before HDIO_GETGEO.
1980
1981 2013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1982
1983 * grub-core/kern/fdt.c: Update struct size when adding node.
1984
1985 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Handle unaligned .bss on sparc64.
1988
1989 Current code improperly assumes that both __bss_start and _end are
1990 aligned to 8-bytes. Eliminating this assumption and explicitly align
1991 modules.
1992
1993 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1996 so it doesn't land in the middle of loaded image.
1997
1998 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * configure.ac: Move all warning options that may be absent in
2001 gcc >= 3.1 to optional.
2002
2003 Note: while this allows to compile with older GCC, official requirements
2004 remain the same and no support for older GCC.
2005
2006 2013-12-04 Colin Watson <cjwatson@ubuntu.com>
2007
2008 Copying the themes directory in grub-shell isn't
2009 parallel-test-friendly and breaks on the second test when the source
2010 directory is read-only (as in "make distcheck"). Instead, add a
2011 hidden --themes-directory option to grub-mkrescue et al, and use it
2012 in grub-shell.
2013
2014 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
2017 as it's no longer necessarry.
2018
2019 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * configure.ac: Allow compilation with older GCC for ARM.
2022
2023 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
2026 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
2027 ppc.
2028
2029 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
2032
2033 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 Pass font config to config.h and not by TARGET_CFLAGS as adding
2036 arguments doesn't work if TARGET_CFLAGS is specified on command
2037 line.
2038
2039 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * configure.ac: Add -Wvla if compiler supports it.
2042
2043 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
2046 Remove variable length arrays.
2047 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
2048
2049 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
2052
2053 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * include/grub/types.h: Declare all byteswaps as inline functions
2056 except compile-time ones.
2057
2058 Solves variable shadowing in constructions like
2059 cpu_to_le (le_to_cpu(x) + 1).
2060
2061 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/kern/efi/efi.c: Remove variable length arrays.
2064
2065 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
2068 minutes.
2069
2070 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
2073 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2074
2075 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
2076
2077 * grub-core/Makefile.core.def (setjmp): Distribute
2078 lib/arm64/setjmp.S.
2079
2080 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
2081
2082 Add a new timeout_style environment variable and a corresponding
2083 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
2084 controls hidden-timeout handling more simply than the previous
2085 arrangements, and pressing any hotkeys associated with menu entries
2086 during the hidden timeout will now boot the corresponding menu entry
2087 immediately.
2088
2089 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
2090 generates a warning, and if it shows the menu it will do so as if
2091 the second timeout were not present. Other combinations are
2092 translated into reasonable equivalents.
2093
2094 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
2095
2096 2013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * util/config.c: Add missing pointer adjustment.
2099 Reported by: qwertial
2100
2101 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
2102
2103 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
2104 directly, not via `cpu' link, to fix libgrub.pp generation.
2105
2106 2013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
2107
2108 New port arm64-efi.
2109
2110 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
2111
2112 * docs/grub.texi (sleep): Document exit codes.
2113
2114 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 Ensure that -mno-unaligned-access or some equivalent option is used.
2117
2118 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
2121 -march=armv3.
2122
2123 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
2126
2127 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
2128
2129 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
2130 builds, since we don't have an EPS version of font_char_metrics.png.
2131 Add leading dot to image extension per the Texinfo documentation.
2132
2133 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
2134
2135 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
2136 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
2137 * util/grub-gen-widthspec.c: Likewise.
2138 * util/grub-mkfont.c: Likewise.
2139
2140 2013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
2141
2142 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
2143 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
2144 failed to install on (hdX).
2145 * util/grub-setup.c (get_device_name): Remove, not needed after
2146 above change.
2147
2148 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
2151
2152 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * util/grub-fstest.c: Remove variable length arrays.
2155
2156 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/osdep/linux/ofpath.c: Check return value of read.
2159
2160 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
2163 computing crc32 rather than handling with md fundtions directly.
2164
2165 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
2168 checking fwstart.img rather than md fundtions directly.
2169
2170 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * util/grub-mkrescue.c (main): Check that fread succeeded.
2173
2174 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * conf/Makefile.common: Remove -mexplicit-relocs and
2177 -DUSE_ASCII_FALLBACK on yeeloong.
2178
2179 -DUSE_ASCII_FALLBACK is already added by font snippets.
2180 -mexplicit-relocs isn't needed is compiler/assemblera are
2181 configured properly.
2182 If they're not we shouldn't attempt to fix it by ourselves.
2183 Binary compare between before and after shows no difference.
2184
2185 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
2188 sources in dependencies directly.
2189
2190 This was the only instance of "library" in core config. A bug was
2191 reported that -fno-stack-protector wasn't passed to it. Instead of
2192 figuring out why it failed just remove this construction used
2193 needlessly.
2194
2195 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/osdep/unix/password.c (grub_password_get): Check that
2198 fgets succeeded.
2199
2200 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
2201
2202 * docs/grub.texi (ls): Fix command description in case of a device name
2203 passed as argument.
2204
2205 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 Eliminate variable length arrays in grub_vsnprintf_real.
2208
2209 A bit tricky because this function has to continue to work without
2210 heap for short strings. Fixing prealloc to 32 arguments is reasonable
2211 but make all stack references use 32-bit offset rather than 8-bit one.
2212 So split va_args preparsing to separate function and put the prealloc
2213 into the caller.
2214
2215 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
2218 Fixes build for windows.
2219
2220 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * gentpl.py: Don't generate platform-dependent conditionals for
2223 platform-independent targets.
2224
2225 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2226
2227 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
2228 references to mdadm from otherwise generic code.
2229 (grub_util_exec_pipe): Likewise.
2230 (grub_util_exec_pipe_stderr): Likewise.
2231 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
2232 This function calls vgs, not mdadm; adjust variable names
2233 accordingly.
2234
2235 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2236
2237 Generate Makefile.*.am directly from gentpl.py, eliminating the use
2238 of Autogen. The Autogen definitions files remain intact as they
2239 offer a useful abstraction.
2240
2241 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2242
2243 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
2244 into no-ops, and use it in programs that copy files but do not need
2245 to take special care to sync writes (grub-mknetdir, grub-rescue,
2246 grub-mkstandalone).
2247
2248 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
2249
2250 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
2251 than hardcoding /usr/local/bin/xorriso.
2252
2253 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 Add PCI command activation to all PCI drivers as required for coreboot
2256 and maybe some other firmwares.
2257
2258 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
2261 and non-Apple variants of efiemu compile.
2262
2263 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
2264
2265 * configure.ac: Add explicit check for linking format of
2266 efiemu64; save it as EFIEMU64_LINK_FORMAT.
2267 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
2268 hardcoding linking format.
2269
2270 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
2273 and not pkgdatadir.
2274
2275 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
2276 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 Add a --locale-directory option to grub-install and related tools.
2279
2280 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
2281 --locale-directory option.
2282 (enum grub_install_options): Add
2283 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2284 * util/grub-install-common.c (grub_install_help_filter): Handle
2285 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2286 (grub_install_parse): Likewise.
2287 (get_localedir): New function to check for a user-provided option
2288 before trying grub_util_get_localedir.
2289 (copy_locales): Use get_localedir rather than
2290 grub_util_get_localedir. Handle differing locale directory layouts.
2291 (grub_install_copy_files): Likewise.
2292
2293 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
2296 Don't rely on PATH_MAX.
2297
2298 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * grub-core/genmoddep.awk: Use more portable && rather than and.
2301
2302 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
2305 an object after data. While it doesn't seem right solution, it
2306 works well enough and OSX isn't main compilation platform.
2307
2308 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
2311 While it doesn't seem right solution, it works well enough and
2312 OSX isn't main compilation platform.
2313
2314 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * configure.ac: Add -static to LDFLAGS when using apple linker to
2317 prevent it from pulling in dynamic linker.
2318
2319 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 Apple assembly doesn't handle symbol arithmetic well. So define an
2322 offset symbol in boot.S and use it.
2323
2324 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Apple assembly doesn't handle symbol arithmetic well. So instead
2327 of getting addres of kernel_sector + 4 define kernel_sector_high.
2328 It also makes code more readable.
2329
2330 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 With Apple assembly in .macro environvemnt you have to use $$ instead
2333 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
2334 to $$x on Apple and to $x on everything else.
2335
2336 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
2339 OBJCONV.
2340
2341 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
2344 and non-Apple. This instruction is shorter and faster,
2345 so no reason not to use it on both.
2346
2347 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
2350 .text when compiling for Apple.
2351
2352 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/term/arc/console.c: Add missing cast to silence warning.
2355
2356 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2359 %dx restore the probe worked on non-existant drive. Reorganize the
2360 code a little bit to free 2 bytes necessary for push/pop.
2361
2362 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2365 Add missing cast to silence warning.
2366
2367 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2368
2369 * util/grub-install.c (update_nvram): Support --no-nvram flag
2370 for EFI targets.
2371
2372 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2375
2376 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * util/garbage-gen.c: Add missing include of sys/time.h.
2379
2380 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Don't add -mflush-func if it's not supported by compiler.
2383
2384 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Move common BIOS/coreboot memory map declarations to
2387 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2388
2389 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2390
2391 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2392
2393 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * INSTALL: Document why older clang versions aren't appropriate.
2396
2397 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * INSTALL: Document about clang for mips.
2400
2401 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2404 clang.
2405
2406 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 Add *-xen to the list of grub-install-common platforms.
2409
2410 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2413 3 last commits.
2414
2415 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2418
2419 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2422 with -mcmodel=large.
2423
2424 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2427 range-checking for 32-bit quantities.
2428
2429 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * configure.ac: Compile with -fPIC when compiling with clang on
2432 mips.
2433
2434 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2437 when compiling with clang.
2438
2439 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 clang emits calls to abort () under some unknown conditions.
2442 Export abort () when compiling with clang.
2443
2444 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * docs/grub-dev.texi: Document stack and heap sizes.
2447
2448 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * include/grub/i386/pc/memory.h: Decrease
2451 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2452 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2453 The binary doesn't change (checked). It's more to better reflect actual
2454 usage.
2455
2456 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2459 at compile time that enough of scratch size is available.
2460
2461 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2464 Previously we misaligned stack by 8 in startup.S and compensated
2465 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2466 right behaviour is to align stack in startup.S and keep it aligned
2467 in callwrap.S. startup.S part was committed few commits before. This
2468 takes care of callwrap.S.
2469 Reported by: Gary Lin.
2470
2471 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2474 .data and .bss. May happen if compiler and assembly use different
2475 alignment.
2476
2477 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2480 way.
2481
2482 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Add support for a new magic symbol _gp_disp on mips to handle PIC
2485 binaries.
2486
2487 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2490
2491 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2494 when rest of GRUB is compiled for hisher stepping. Instead use
2495 .set mips3/.set mips1 around cache and sync opcodes.
2496
2497 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2500 do essentially the same thing, do it in similar way.
2501
2502 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2503
2504 * util/grub-mkrescue.c (main): If a source directory is not
2505 specified, read platform-specific files from subdirectories of
2506 pkglibdir, not pkgdatadir.
2507
2508 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2509
2510 * grub-core/normal/progress.c: Remove unused file.
2511
2512 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2515 array.
2516
2517 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2520 than grub.cfg.
2521
2522 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * coreboot.cfg: Add missing file.
2525
2526 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2529
2530 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2531
2532 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2533 selectively skipping systems.
2534
2535 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2536
2537 * Makefile.util.def (grub-mkimage): Add
2538 grub-core/osdep/aros/config.c to extra_dist.
2539 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2540 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2541 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2542 grub-core/gnulib-no-gets.diff.
2543
2544 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 Add automated filesystem checking based on scripts I've used now for
2547 quite some time locally. Most of the test require root so they are
2548 skipped when run without necessarry privelegies.
2549
2550 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2551
2552 * util/grub-install.c (main): Adjust info messages to match
2553 installed paths of grub-bios-setup and grub-sparc64-setup.
2554
2555 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2556
2557 * util/grub-install-common.c (copy_locales): Consistently use
2558 grub_util_get_localedir () rather than LOCALEDIR.
2559 (grub_install_copy_files): Likewise.
2560
2561 2013-11-19 Josh Triplett <josh@joshtriplett.org>
2562
2563 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2564 16-byte boundary, as required by the x86-64 ABI, before calling
2565 grub_main. In some cases, GCC emits code that assumes this
2566 alignment, which crashes if not aligned. The EFI firmware is also
2567 entitled to assume that stack alignment without checking.
2568
2569 2013-11-18 Josh Triplett <josh@joshtriplett.org>
2570
2571 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2572 4k page boundaries as expected by firmware rather than 1k
2573 boundaries.
2574 (grub_mmap_malign_and_register): Likewise.
2575
2576 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2579 fragmentation 512M is enough.
2580
2581 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2584 pointer to 32K. This is the size of cache element which is the most
2585 common allocation >1K. This way the pointer is always around blocks
2586 of 32K and so we keep performance while decreasing fragmentation.
2587
2588 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2591 current memory when allocating large chunks. This significantly
2592 decreases memory fragmentation.
2593
2594 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2595
2596 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2597 but for symmetry).
2598 * tests/lzocompress_test.in: Skip if lzop is not installed.
2599 * tests/xzcompress_test.in: Skip if xz is not installed.
2600
2601 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2602
2603 * util/grub-mkrescue.c (main): Fix typo.
2604
2605 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2608 clock frequency to 200 MHz,
2609
2610 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2613
2614 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2617 Load config file from (cbfsdisk)/etc/grub.cfg.
2618
2619 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * util/grub-install-common.c (grub_install_copy_files): Fix module
2622 destination directory.
2623
2624 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2625
2626 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2627 files have not been built.
2628
2629 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2630
2631 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2632 Handle errors from mkstemp.
2633 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2634
2635 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2638 on primary master on pseries.
2639
2640 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2643 already loaded. This saves memory needed for tests,
2644
2645 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2648 work again.
2649
2650 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2653 work again.
2654
2655 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2658 master since with some combinations of qemu and firmware only primary
2659 IDE channel is available.
2660
2661 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2664 low-memory platforms where we don't have enough memory for them.
2665 * grub-core/tests/videotest_checksum.c: Likewise.
2666
2667 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2670 already loaded. This saves memory needed for tests,
2671
2672 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 Fix handling of install lists.
2675
2676 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2679
2680 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2683 the devices before accessing them.
2684
2685 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2688 as file argument.
2689
2690 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2693
2694 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2697 (grub_file_close): Free file->name.
2698
2699 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2702 (grub_load_public_key): Likewise.
2703 (grub_verify_signature_real): Likewise.
2704 (grub_cmd_verify_signature): Likewise.
2705
2706 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2709 memory leak.
2710
2711 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2714 (grub_longjmp): Restore r31.
2715 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2716
2717 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2720 modules to be in line with make_image_abs.
2721
2722 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2725
2726 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2727
2728 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
2729
2730 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2731
2732 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2735 to leave some memory to firmware.
2736
2737 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2740 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2741 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2742 Load gfxmenu.
2743
2744 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2747 now needs full arguments.
2748
2749 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * util/grub-mkrescue.c (main): Add trailing \n in
2752 .disk_label.contentDetails to be in line with previous shell script.
2753
2754 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2757
2758 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * util/grub-install-common.c (grub_install_parse): Recognize
2761 --compress=none like shell script did.
2762
2763 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * include/grub/misc.h: Replace check for __sparc64__ with one for
2766 __sparc__ as __sparc64__ isn't actually defined.
2767
2768 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2771 counterpart of fixing the naming of escc ports.
2772
2773 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * util/grub-install-common.c (platforms): Fix the order of entries and
2776 remove useless field val.
2777
2778 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * util/grub-install.c: Add new option --no-bootsector to skip
2781 installing of bootsector. Accept --grub-setup=/bin/true as
2782 backwards-compatible synonym.
2783
2784 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2785
2786 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2787 order of qsort arguments (number of elements vs. element size).
2788
2789 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2792 the function of these files exceeds what can be sanely handled in shell
2793 in posix-comaptible way. Also writing it in C extends the functionality
2794 to non-UNIX-like OS and minimal environments.
2795
2796 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2799 compiling to thumb2.
2800 * grub-core/kern/arm/cache_armv7.S: Likewise.
2801 * grub-core/lib/arm/setjmp.S: Likewise.
2802
2803 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2804
2805 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2806 in grub_uboot_syscall
2807
2808 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 Decrease stack usage in lexer.
2811
2812 We have only 92K of stack and using over 4K per frame is wasteful
2813
2814 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2815 as macros so that compiler would remove useless structure on stack.
2816 Better solution would be to fix flex not to put this structure on
2817 the stack but flex is external program.
2818
2819 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 Decrease stack usage in signature verification.
2822
2823 We have only 92K of stack and using over 4K per frame is wasteful
2824
2825 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2826 rather than stack.
2827 (grub_verify_signature_real): Likewise.
2828
2829 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 Decrease stack usage in mdraid 0.9x.
2832
2833 We have only 92K of stack and using over 4K per frame is wasteful
2834
2835 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2836 rather than stack.
2837
2838 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 Decrease stack usage in BtrFS.
2841
2842 We have only 92K of stack and using over 4K per frame is wasteful
2843
2844 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2845 rather than stack.
2846
2847 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 Decrease stack usage in JFS.
2850
2851 We have only 92K of stack and using over 4K per frame is wasteful
2852
2853 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2854 stack. Note: this function is recursive.
2855 (grub_jfs_read_inode): Read only part we care about.
2856
2857 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2858
2859 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2860 handling
2861
2862 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2863
2864 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2865
2866 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2867
2868 * docs/grub.texi (Environment): Document cmdpath.
2869
2870 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2871
2872 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2873 Remove "unused" attribute from arguments, they are used.
2874
2875 2013-11-15 Colin Watson <cjwatson@debian.org>
2876
2877 * .gitignore: Only ignore grub-mk* at the top level.
2878
2879 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
2880
2881 * util/grub-reboot.in (usage): Fix a typo.
2882
2883 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 Replace libgcc version of ctz with our own.
2886
2887 On upcoming arm64 port libgcc ctz* are not usable in standalone
2888 environment. Since we need ctz* for this case and implementation is
2889 in C we may as well use it on all concerned platforms.
2890
2891 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * configure.ac: Probe for linking format rather than guessing it based
2894 on target_os.
2895
2896 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2899 "1" prior to handoff.
2900
2901 Reported by: M A Young.
2902
2903 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2906 \0 to all files.
2907
2908 Reported by: M A Young.
2909
2910 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2913 compilation on NetBSD.
2914
2915 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * acinclude.m4: Don't add -P on initial nm test.
2918
2919 Note: even though this patch postdates Andrey's it bears 14 Nov as
2920 date due to timezone difference.
2921
2922 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2923
2924 * grub-core/Makefile.core.def (signature_test): Add missing
2925 tests/signatures.h.
2926
2927 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2928
2929 * util/grub-install_header: Set localedir here, since this file is
2930 where it's used.
2931 * util/grub-install.in: Remove setting of localedir.
2932 * util/grub-mkrescue.in: Likewise.
2933
2934 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2937
2938 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * configure.ac: Move nm checks to the end.
2941 Call grub_PROG_NM_WORKS.
2942 * acinclude.m4: New check grub_PROG_NM_WORKS.
2943 Use $TARGET_CFLAGS -c when compiling test binary.
2944
2945 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2946
2947 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2948 unused variables.
2949
2950 2013-11-14 Matthew Garrett <mjg@redhat.com>
2951
2952 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2953 cmdpath to firmware directory.
2954
2955 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2958 at the start of second iteration.
2959
2960 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2963
2964 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * Makefile.am (default_payload.elf): New target for easier coreboot
2967 build.
2968
2969 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2972 clang (not necessarry with -no-integrated-as).
2973 * include/grub/symbol.h [__arm__]: Likewise.
2974
2975 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * configure.ac: Use -no-integrated-as on arm with clang.
2978 * INSTALL: Mention ARM compilation with clang.
2979
2980 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2983 -mthumb-interwork.
2984
2985 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2986
2987 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2988 code for indirect block handling.
2989
2990 Saves 185 bytes on compressed image.
2991
2992 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2993
2994 Fix make clean.
2995
2996 * Makefile.am: Remove build-grub-* in make clean.
2997
2998 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2999
3000 New files to gitignore.
3001
3002 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
3003 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
3004
3005 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
3006
3007 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
3008
3009 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
3010
3011 * .gitignore: fix rules for .dep* and add *.a post git migration
3012
3013 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
3014
3015 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
3016 to match INSTALL.
3017
3018 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
3019
3020 * grub-core/kern/misc.c: Don't redirect divisions in the
3021 GRUB_UTIL case.
3022 * include/grub/misc.h: Likewise.
3023
3024 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
3025
3026 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
3027 systems that require checking the return value of write.
3028
3029 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
3030
3031 * util/grub-install.in (efi_quiet): Fix inverted logic: make
3032 efibootmgr quiet when --debug is not used, rather than when it is.
3033
3034 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
3035
3036 * gentpl.py (define_macro_for_platform_dependencies): Remove
3037 first (and thus unused) of two definitions for this function.
3038 (platform_dependencies): Likewise.
3039
3040 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
3041
3042 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
3043 functions, we only need to check this for the target, not the host.
3044 * configure.ac (grub_apple_cc): Likewise.
3045
3046 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
3049 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
3050 asm to stay in arm even if surrounding is thumb.
3051
3052 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
3055 helper functions are needed for thumb.
3056
3057 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
3060 level / 3 division explicitly unsigned. Saves few bytes.
3061
3062 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
3065
3066 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
3069 division.
3070
3071 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
3074 grub_uboot_boot_data to asm part.
3075
3076 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
3079 literal load.
3080 (grub_uboot_syscall): Save/restore r9 and align stack.
3081
3082 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
3085
3086 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
3089 occurencies with END.
3090
3091 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
3092
3093 * util/grub-editenv.c (help_filter, argp): Document how to delete
3094 the whole environment block.
3095 Reported by Dan Jacobson. Fixes Debian bug #726265.
3096
3097 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
3098
3099 * docs/grub.texi (Internationalisation, Supported kernels): Fix
3100 sectioning.
3101
3102 2013-11-13 Josh Triplett <josh@joshtriplett.org>
3103
3104 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
3105 increment/decrement.
3106
3107 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
3110 compiling with clang.
3111
3112 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
3115 ".".
3116
3117 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 Redirect all divisions to grub_divmod64.
3120
3121 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
3124
3125 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 Add missing includes of loader.h.
3128
3129 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * configure.ac: Allow disabling themes.
3132
3133 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
3134
3135 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
3136
3137 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
3140 until it becomes operational.
3141
3142 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/Makefile.core.def (legacy_password_test): Disable
3145 on platforms where no legacycfg is compiled.
3146 * grub-core/tests/lib/functional_test.c: Tolerate failure to
3147 load legacy_password_test.
3148
3149 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3152
3153 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/efiemu/prepare.c: Remove variable length arrays.
3156
3157 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
3160 strict-aliasing warning.
3161 (fsync): Silence cast warning.
3162
3163 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * grub-core/commands/verify.c: Remove variable length arrays.
3166 Load gcry_dsa/gcry_rsa automatically.
3167
3168 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/tests/signature_test.c: New test.
3171
3172 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
3175 API.
3176
3177 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/tests/legacy_password_test.c (vectors): Make static.
3180 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
3181
3182 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
3185
3186 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/fs/proc.c: Allow \0 in proc files.
3189
3190 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
3193
3194 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
3197
3198 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * grub-core/fs/ext2.c: Remove variable length arrays.
3201
3202 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
3205 length arrays.
3206
3207 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
3210 * grub-core/disk/cryptodisk.c: Likewise.
3211 * grub-core/disk/geli.c: Likewise.
3212 * grub-core/disk/luks.c: Likewise.
3213
3214 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * grub-core/tests/legacy_password_test.c: New test.
3217 * grub-core/commands/legacycfg.c: Remove variable length arrays.
3218
3219 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
3222
3223 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/tests/pbkdf2_test.c: New test.
3226
3227 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
3230
3231 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/io/lzopio.c: Remove variable length arrays.
3234
3235 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * include/grub/crypto.h: Add maximums on hash size and cipher block
3238 size.
3239
3240 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
3243
3244 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/tests/xnu_uuid_test.c: New test.
3247
3248 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
3251 covers it).
3252
3253 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * grub-core/commands/hashsum.c: Remove variable length arrays.
3256
3257 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
3260 condition.
3261 * tests/grub_func_test.in: Increase memory allocation.
3262
3263 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
3266 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
3267 sys/mount.h.
3268
3269 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
3272 (grub_util_get_fd_size_os): ...this.
3273 (grub_hostdisk_flush_initial_buffer): New empty function.
3274
3275 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/gensyminfo.sh.in: Handle the case of portable output
3278 without --defined-only.
3279
3280 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
3283 rip-relative addressing in prologue.
3284
3285 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
3288 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
3289
3290 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3293 Add missing semicolon.
3294
3295 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
3298
3299 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * configure.ac: Check for lzma.h for enabling liblzma and allow
3302 manual disabling.
3303
3304 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 Add missing includes of loader.h.
3307
3308 2013-11-11 Fam Zheng <famcool@gmail.com>
3309
3310 * util/grub.d/30_os-prober.in: Add minix entry.
3311
3312 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
3315 right buffer for temporary load.
3316
3317 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
3320
3321 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
3324 payload.
3325
3326 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
3329 not Types.h.
3330 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
3331 environment.
3332 (LzmaDec_InitDicAndState): Make static.
3333
3334 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
3337
3338 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
3341
3342 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
3343
3344 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * docs/grub-dev.texi: Replace bzr references with git ones.
3347
3348 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3349
3350 * docs/grub.texi (Simple configuration): Remove reference to
3351 grub-reboot from saved default entry description - grub-default
3352 does not use it anymore.
3353
3354 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * configure.ac: Make efiemu test cflags match the cflags efiemu is
3357 compiled with.
3358
3359 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3360
3361 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3362
3363 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 Fix grub_machine_fini bitrot.
3366
3367 Reported by: Glenn Washburn.
3368
3369 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3372
3373 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3376 -DELF.
3377 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3378 instead of ELF*.
3379
3380 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3383 Add -march=core2 when testing compile of efiemu64.
3384
3385 Thanks Andrey Borzenkov for spotting this.
3386
3387 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3390 XEN PV environment and load kernels.
3391
3392 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3395 * grub-core/loader/multiboot_mbi2.c: Likewise.
3396
3397 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3400 handling.
3401
3402 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3405
3406 Tested by: Denis 'GNUtoo' Carikli.
3407
3408 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3411
3412 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3415 Use to get rounded angle rather than truncated.
3416
3417 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/term/serial.c: Add option for enabling/disabling
3420 RTS/CTS flow control.
3421
3422 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3425 divisions.
3426
3427 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3430 Use grub_fatal rather than divide by zero.
3431 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3432
3433 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3436 truncate.
3437 (grub_fixed_fsf_divide): Likewise.
3438
3439 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3442 division by-zero and senseless negative divisions.
3443
3444 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3447 division by-zero and senseless negative divisions.
3448 (circprog_set_property): Don't accept negative num_ticks.
3449
3450 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3453 division by-zero and senseless negative divisions.
3454
3455 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * configure.ac: Use elf_*_fbsd on kfreebsd.
3458
3459 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/tests/div_test.c: New test.
3462
3463 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3464
3465 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3466 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3467 * grub-core/gfxmenu/view.c: Likewise.
3468 * grub-core/video/fb/video_fb.c: Introduce new functions:
3469 grub_video_set_area_status, grub_video_get_area_status,
3470 grub_video_set_region, grub_video_get_region.
3471 * grub-core/video/bochs.c: Likewise.
3472 * grub-core/video/capture.c: Likewise.
3473 * grub-core/video/video.c: Likewise.
3474 * grub-core/video/cirrus.c: Likewise.
3475 * grub-core/video/efi_gop.c: Likewise.
3476 * grub-core/video/efi_uga.c: Likewise.
3477 * grub-core/video/emu/sdl.c: Likewise.
3478 * grub-core/video/radeon_fuloong2e.c: Likewise.
3479 * grub-core/video/sis315pro.c: Likewise.
3480 * grub-core/video/sm712.c: Likewise.
3481 * grub-core/video/i386/pc/vbe.c: Likewise.
3482 * grub-core/video/i386/pc/vga.c: Likewise.
3483 * grub-core/video/ieee1275.c: Likewise.
3484 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3485 * include/grub/video.h: Likewise.
3486 * include/grub/video_fb.h: Likewise.
3487 * include/grub/fbfill.h: Updated render_target structure.
3488 grub_video_rect_t viewport, region, area
3489 int area_offset_x, area_offset_y, area_enabled
3490 * include/grub/gui.h: New helper function
3491 grub_video_bounds_inside_region.
3492 * docs/grub-dev.texi: Added information about new functions.
3493
3494 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3497 for alignment.
3498
3499 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3502 missing attribute.
3503 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3504
3505 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3508 simple division on arm and ia64.
3509
3510 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3513 link with libgcc.
3514
3515 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3518
3519 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3522 prefix symbol, not @.
3523
3524 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * INSTALL: Add note about older gcc and clang.
3527
3528 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3531
3532 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3535 NULL pointer dereference.
3536
3537 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3540 clang.
3541
3542 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3545 warnings.
3546
3547 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3550 function.
3551 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3552 * grub-core/disk/geli.c (ascii2hex): Likewise.
3553
3554 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * configure.ac: Run linker tests without -Werror.
3557 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3558 Change all occurences of -static-libgcc resp -lgcc to
3559 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3560
3561 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3564
3565 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 Allow compiling with clang (not really supported though).
3568
3569 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3570 unconditionally.
3571 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3572 Add -mrtd -mregparm=3 on i386 when not using clang.
3573 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3574
3575 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3578 bindings.
3579 * grub-core/lib/reed_solomon.c: Likewise.
3580 * include/grub/i386/gdb.h: Likewise.
3581 * include/grub/i386/pc/int.h: Likewise.
3582 * include/grub/i386/pc/pxe.h: Likewise.
3583 * include/grub/ieee1275/ieee1275.h: Likewise.
3584
3585 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 Import libgcrypt 1.5.3.
3588
3589 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * configure.ac: Don't add -Wcast-align on x86.
3592
3593 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * configure.ac: Add -freg-struct-return on all platforms that
3596 support it.
3597
3598 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * acinclude.m4: Use -Werror on parameter tests.
3601 * configure.ac: Likewise.
3602
3603 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3606
3607 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * configure.ac: Check that -malign-loops works rather than assuming that
3610 either -falign-loops or -malign-loops work.
3611
3612 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3615
3616 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * configure.ac: Prevent cflags leaking to subsequent tests by always
3619 resetting cflags to target_cflags in target tests.
3620
3621 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3624 function.
3625
3626 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3629
3630 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3633
3634 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/normal/cmdline.c (grub_cmdline_get):
3637 Remove nested functions.
3638
3639 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * tests/test_sha512sum.in: Make it work on emu.
3642
3643 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3646 functions.
3647 (grub_bidi_line_logical_to_visual): Likewise.
3648
3649 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 Remove vestiges of -Wunsafe-loop-optimisations.
3652
3653 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3654 -Wno-unsafe-loop-optimisations.
3655 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3656 pragma.
3657 * grub-core/io/gzio.c: Likewise.
3658 * grub-core/script/parser.y: Likewise.
3659 * grub-core/script/yylex.l: Likewise.
3660 * util/grub-mkfont.c: Likewise.
3661
3662 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * util/grub-mkfont.c (process_cursive): Remove nested function.
3665
3666 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3669 (grub_boot_time): Likewise.
3670
3671 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * include/grub/symbol.h (FUNCTION): Use @function rather than
3674 "function".
3675 (VARIABLE): Likewise.
3676
3677 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3680
3681 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3684 (parse_dhcp_vendor): Likewise.
3685
3686 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3689
3690 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3693 Define after defining type and not before.
3694
3695 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3698 type.
3699 (grub_gcm_decrypt): Likewise.
3700 (algo_decrypt): Likewise.
3701 (grub_zfs_decrypt_real): Transform error type.
3702
3703 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3706
3707 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3710 (grub_usbms_cbi_reset): Likewise.
3711 (grub_usbms_bo_reset): Likewise.
3712 (grub_usbms_reset): Likewise.
3713 (grub_usbms_attach): Likewise.
3714 (grub_usbms_transfer_cbi): Likewise.
3715
3716 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3719 "checksum = checksum;".
3720
3721 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3724 entry_type.
3725
3726 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3729 BIOS disk check.
3730
3731 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3734 type.
3735 (grub_ehci_fini_hw): Likewise.
3736 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3737
3738 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3741 return grub_usb_err_t for cosistency. All users updated.
3742
3743 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3746 assigning to itself.
3747
3748 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
3749 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3750
3751 Issue separate DNS queries for ipv4 and ipv6
3752
3753 Adding multiple questions on a single DNS query is not supportted by
3754 most DNS servers. This patch issues two separate DNS queries
3755 sequentially for ipv4 and then for ipv6.
3756
3757 Fixes: https://savannah.gnu.org/bugs/?39710
3758
3759 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3760 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3761 * (grub_net_dns_lookup): Now using separated dns packages.
3762 * (grub_cmd_nslookup): Add error condition.
3763 * (grub_cmd_list_dns): Print DNS option.
3764 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3765 --prefer-ipv4, and --prefer-ipv6.
3766 * include/grub/net.h (grub_dns_option_t): New enum.
3767 * (grub_net_network_level_address): option added.
3768
3769 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3770
3771 * grub-core/video/fb/video_fb.c: Merge two blit functions
3772 into one.
3773
3774 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/term/terminfo.c: Add sequences for home and end.
3777
3778 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3781 graphics console.
3782
3783 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3786 add mode 0x12.
3787
3788 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3791 e-mail by Per Öberg.
3792
3793 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3796 name.
3797
3798 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3799
3800 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3801 emu platforms.
3802 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3803
3804 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * docs/grub.texi: Document usage of menuentry id.
3807
3808 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3811
3812 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3813
3814 * grub-core/commands/i386/nthibr.c: New command.
3815
3816 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3819
3820 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3823 coordinate.
3824
3825 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 Support GRUB_DISABLE_SUBMENU config.
3828
3829 Inspired by patch from Prarit Bhargava.
3830
3831 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * docs/grub.texi: Mention RSA support.
3834
3835 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/commands/verify.c: Add RSA support.
3838
3839 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3842 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3843 device is known to be ATAPI.
3844
3845 2013-11-03 Mike Frysinger <vapier>
3846
3847 * configure.ac: Don't add target-prefix.
3848
3849 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3852 variables.
3853
3854 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3857 if language is English.
3858
3859 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3862
3863 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * configure.ac: Don't add -m32/-m64 on emu.
3866
3867 2013-11-02 neil
3868
3869 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3870 broken linux headers.
3871
3872 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3875
3876 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3879 Reed-Solomon recovery if more than half of redundancy info is 0.
3880
3881 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * util/grub-mount.c: Handle symlinks to directories.
3884
3885 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3888 find_file recursively for symlink.
3889
3890 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * tests/util/grub-shell.in: Copy themes.
3893
3894 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3897
3898 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * configure.ac: Use 0x8000 for address instead of 8000.
3901
3902 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3905 signature.
3906
3907 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3910 variable.
3911
3912 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3915
3916 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3919 file_progress_read_hook.
3920 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3921
3922 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3925 and double.
3926
3927 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3930
3931 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 Rewrite blocklist functions in order to get progress when
3934 reading large extents and decrease amount of blocklist hook calls.
3935
3936 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3939 of SI suffixes.
3940
3941 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 Support --base-clock for serial command to handle weird cards with
3944 non-standard base clock.
3945
3946 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3949 strncpy.
3950 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3951 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3952 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3953 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3954 + strcpy rather than strncpy.
3955
3956 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3959 (check_pool_label): Likewise. Fixes overflow.
3960 (nvlist_find_value): Fix comparison.
3961
3962 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3965 more appropriate functions.
3966
3967 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3970 realloc.
3971
3972 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3975
3976 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3979 on core size.
3980
3981 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3984
3985 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3988 (initialize_tables): reset tl and td to NULL after freeing.
3989
3990 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3993
3994 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3997 of supported tags.
3998
3999 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
4002
4003 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/loader/multiboot.c: Add support for multiboot kernels
4006 quirks.
4007
4008 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
4011 a page in protected space.
4012
4013 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
4016 allocate space for zero-sized modules.
4017
4018 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
4021
4022 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
4023
4024 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
4025
4026 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
4029 safeguards. Fixes a crash with i386/pc/console.c.
4030
4031 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
4034 and grub_hostfs_init.
4035
4036 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
4039 windows method on other platforms without good stat as well.
4040
4041 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
4044
4045 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 Make / in btrfs refer to real root, not the default volume.
4048 Modify mkrelpath to work even if device is mounted with subvolid option.
4049
4050 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
4051
4052 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
4053 extra_dist.
4054 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
4055 extra_dist.
4056
4057 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
4060 fails.
4061
4062 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
4063
4064 * docs/autoiso.cfg: New file.
4065
4066 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
4069 COND_GRUB_PE2ELF conditions.
4070
4071 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
4074 "vnd", "rd" and "fd" disks.
4075
4076 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 Move grub_disk_write out of kernel into disk.mod.
4079
4080 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
4083 handling.
4084
4085 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/kern/misc.c (grub_abort): Make static
4088
4089 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
4092 transform invalid unicode codepoints.
4093
4094 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4097 \0 checking.
4098
4099 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
4102
4103 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 Consolidate cpuid code.
4106
4107 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 Move cpuid code to cpuid.h and TSC code to tsc.c.
4110
4111 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4112
4113 * util/grub.d/00_header.in: Don't use LANG if it's not set.
4114
4115 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4116
4117 * util/grub-mkconfig.in: Replace $0 with $self.
4118 * util/grub-reboot.in: Likewise.
4119 * util/grub-set-default.in: Likewise.
4120
4121 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4122
4123 * docs/osdetect.cfg: New file.
4124
4125 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4126
4127 * tests/util/grub-shell.in: Add new --debug option.
4128
4129 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4130
4131 * tests/test_unset.in: New test.
4132
4133 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4134
4135 * tests/test_sha512sum.in: New test.
4136
4137 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
4140 * include/grub/misc.h: Remove strncat.
4141 * grub-core/lib/posix_wrap/string.h: Likewise.
4142
4143 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
4146 Try to handle more than 0xFFFF packets.
4147 Reported by: Bernhard Übelacker <bernhardu>.
4148 He also spotted few overflows in first version of this patch.
4149
4150 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * tests/date_unit_test.c: New test.
4153
4154 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
4157 of first three years after start of validity of unixtime.
4158
4159 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
4162 division as the one making more sense.
4163 (update_screen): Likewise.
4164 (complete): Likewise.
4165
4166 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
4169
4170 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 Make char and string width grub_size_t rather than grub_ssize_t.
4173
4174 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
4177 unsigned.
4178 (grub_history_replace): Likewise.
4179
4180 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
4183 appropriate.
4184
4185 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
4188 appropriate.
4189
4190 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
4193 Use unsigned divisions rather than signed variants.
4194
4195 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * grub-core/video/readers/png.c (grub_png_convert_image): Use
4198 unsigned arithmetics.
4199 Add missing break.
4200
4201 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
4204
4205 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
4208 rather than signed one.
4209 (recovery): Likewise.
4210
4211 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
4214
4215 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
4218 than signed.
4219
4220 2013-10-25 Jon McCune <jonmccune@google.com>
4221
4222 * docs/grub.texi: Cleanup security documentation around signatures.
4223
4224 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
4227
4228 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
4231 than int.
4232
4233 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
4236 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
4237 functions when compiling for kernel.
4238
4239 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
4242 unsigned long long when using %llu.
4243
4244 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
4247 terminal after updating progress.
4248
4249 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
4252 argument. We don't disable Gate A20 in this code.
4253
4254 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
4257 Conceptually based on change in branch "vbe-on-coreboot".
4258
4259 2013-10-24 Robert Millan <rmh@gnu.org>
4260
4261 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
4262 numeric constants with their symbolic equivalent.
4263 Taken from branch "vbe-on-coreboot".
4264
4265 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * docs/grub.texi: Fix ordering and use pxref rather than xref.
4268
4269 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
4272 divmod64 for offset division.
4273
4274 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4275
4276 Rename .bzrignore to .gitignore. Add "*.o" rule.
4277
4278 * .bzrignore: Renamed to...
4279 * .gitignore: ...this.
4280
4281 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4282
4283 Add new progress module that displays the load progress of files.
4284
4285 * grub-core/lib/progress.c: New file.
4286 * grub-core/Makefile.core.def (progress): New module.
4287 * grub-core/kern/file.c (grub_file_open): File name added.
4288 * (grub_file_read): Progress hook added.
4289 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
4290 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
4291 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
4292 * include/grub/file.h (struct grub_file): Add progress module members.
4293 * include/grub/term.h (struct grub_term_output): Likewise.
4294 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
4295 Terminal velocity added.
4296 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
4297 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
4298 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
4299 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
4300 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
4301 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
4302 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
4303 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
4304 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
4305 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
4306 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
4307 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
4308
4309 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 Verify signatures of signatures unless --skip-sig is specified.
4312
4313 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4316 \0 checking.
4317
4318 Saves 70 bytes on compressed image.
4319
4320 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
4323 check.
4324
4325 Saves 10 bytes on compressed image.
4326
4327 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/kern/misc.c (grub_isprint): Move to ...
4330 * include/grub/misc.h (grub_isprint): ... here. Make inline.
4331
4332 Saves 20 bytes on compressed image due to remving exporting.
4333
4334 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
4337
4338 Saves 5 bytes on compressed image.
4339
4340 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
4343 function get_utf8.
4344
4345 Saves 379 bytes on compressed image.
4346
4347 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
4350
4351 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
4354
4355 Saves 40 bytes on compressed image.
4356
4357 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4360 mask rather than 64-bit type.
4361
4362 Saves 20 bytes on compressed image.
4363
4364 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4367 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4368
4369 Saves 273 bytes on compressed image.
4370
4371 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4374 variable length arrays.
4375
4376 Saves 50 bytes on compressed image.
4377
4378 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4381
4382 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * grub-core/fs/ufs.c: Remove variable length arrays.
4385
4386 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4389
4390 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 * grub-core/fs/zfs.c: Remove variable length arrays.
4393 Reduces zfs.mod by 160 bytes (208 compressed).
4394
4395 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4398
4399 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/net/arp.c: Remove variable length arrays.
4402 * grub-core/net/bootp.c: Likewise.
4403 * grub-core/net/dns.c: Likewise.
4404 * grub-core/net/icmp6.c: Likewise.
4405 * grub-core/net/net.c: Likewise.
4406
4407 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * grub-core/fs/ntfs.c: Remove variable length arrays.
4410 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4411 compressed).
4412
4413 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * grub-core/fs/hfs.c: Remove variable length arrays.
4416 Reduces hfs.mod by 8 bytes (52 compressed).
4417
4418 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * grub-core/fs/udf.c: Remove variable length arrays.
4421 Increases udf.mod by 128 bytes (but decreases by 13 when
4422 compressed).
4423
4424 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * grub-core/fs/iso9660.c: Remove variable length arrays.
4427 Increases iso9660.mod by 200 bytes (but decreases by 79 when
4428 compressed).
4429
4430 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/fs/nilfs2.c: Remove variable length arrays.
4433 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
4434 compressed).
4435
4436 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/fs/xfs.c: Remove variable length arrays.
4439 Reduces xfs.mod by 40 bytes (43 compressed).
4440
4441 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/fs/fshelp.c: Remove variable length arrays.
4444 Reduces fshelp.mod by 116 bytes (23 compressed).
4445
4446 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/normal/completion.c: Remove variable length arrays.
4449 * grub-core/normal/menu_entry.c: Likewise.
4450
4451 Reduces normal.mod by 496 bytes.
4452
4453 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4456 by 356 bytes (158 compressed).
4457
4458 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4461 by 364 bytes (169 compressed).
4462
4463 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4466 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4467 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4468
4469 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4472 bitmasks to small structures of size chosen to fit in registers.
4473
4474 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * conf/Makefile.common: Use -freg-struct-return on i386. This
4477 decreases code size and improves performance.
4478
4479 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4482
4483 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4486 "(null)" string.
4487 Simplify expressions to save around 256 bytes in kernel.img.
4488 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4489
4490 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4493 Use GRUB_UTIL_FD_O_* rather than O_*.
4494
4495 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 Add haiku-specific functions.
4498
4499 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4502
4503 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 Move stat () and device mode checking into OS-dependent files as
4506 long as performance doesn't suffer.
4507
4508 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 Split make_system_path_relative_to_its_root into separate file
4511 relpath.c from getroot.c as it's common between unix and haiku
4512 but otherwise haiku doesn't use any functions from unix getroot.c.
4513
4514 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4517 New function.
4518 (grub_util_is_special_file): Likewise.
4519
4520 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4523 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4524
4525 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4528 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4529
4530 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4533 (load_image): Likewise.
4534
4535 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * util/grub-render-label.c: Move backend part to ...
4538 * util/render-label.c: ... here.
4539
4540 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4543 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4544
4545 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4548
4549 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4552 CD-ROM in case when it's declared as having subpartitions.
4553
4554 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 Don't add -lm on haiku.
4557
4558 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4559 and empty on haiku.
4560 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4561 -lm.
4562
4563 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * configure.ac: Use -melf_*_haiku as target on haiku.
4566
4567 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * Makefile.util.def: Add util/setup.c to extra_dist.
4570
4571 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4574 unknown types through.
4575
4576 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4579 (grub_util_check_char_device): Likewise.
4580 * include/grub/emu/getroot.h: Likewise.
4581
4582 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4585 memset rather than inline static function.
4586
4587 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4590 not doing embedded decompressor.
4591
4592 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4595 shadowing.
4596 * grub-core/kern/disk.c: Likewise.
4597 * grub-core/kern/misc.c: Likewise.
4598 * include/grub/parser.h: Likewise.
4599 * include/grub/script_sh.h: Likewise.
4600 * include/grub/zfs/zfs.h: Likewise.
4601
4602 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4605
4606 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4609 defined before trying to use it.
4610
4611 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4614 warning.
4615
4616 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4619 Use __unused__ rather than __used__ on gcc < 3.2.
4620
4621 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4624 gcc < 4.0.
4625 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4626
4627 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4630
4631 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4634 * include/grub/emu/misc.h: Likewise.
4635
4636 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4639 cur_color.
4640
4641 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4642
4643 * grub-core/tests/checksums.h: Regenerated due to progress bar
4644 get_minimal_size changes.
4645
4646 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4647
4648 Added `tr' command support.
4649
4650 * grub-core/commands/tr.c: New file.
4651 * grub-core/Makefile.core.def: Build rules for new module.
4652
4653 * tests/grub_cmd_tr.in: New test.
4654 * Makefile.util.def: Build rules for new test.
4655
4656 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4657
4658 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4659
4660 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4661
4662 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4663 * docs/gurb.texi: Likewise.
4664
4665 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4666
4667 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4668 Pixmap highlighted section with east and west slices was displayed
4669 incorrectly due to negative width of the central slice.
4670
4671 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4672
4673 * docs/grub.texi: Graphical options information update.
4674 Removed outdated. Updated current. Inserted missed.
4675
4676 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * docs/grub.texi: Mention few new platform-specific commands.
4679
4680 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4683 currently used so this doesn't really have any effect.
4684 Reported by: Douglas Ray <dougray>
4685
4686 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4689 compilation but prevents gcc from displaying messages in non-Latin
4690 alphabets.
4691 * conf/Makefile.common: Likewise.
4692
4693 2013-10-16 Hiroyuki YAMAMORI
4694
4695 Handle Japanese special keys.
4696 Reported by: Hiroyuki YAMAMORI.
4697 Codes supplied by: Hiroyuki YAMAMORI.
4698
4699 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4700
4701 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4702
4703 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4704
4705 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4706 * docs/grub.texi: Likewise.
4707
4708 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4711 value in case of incomplete read.
4712 (grub_util_fd_write): Likewise.
4713
4714 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4717
4718 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * util/grub-editenv.c (create_envblk_file): More from here ...
4721 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4722
4723 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4726 canonicalize file name before doing the rest.
4727
4728 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4731 mingw32.
4732
4733 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 Define grub_util_is_directory/regular/special_file and
4736 use OS-dependent versions rather than to rely on stat().
4737
4738 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * util/grub-mkimage.c: Move backend part to ...
4741 * util/mkimage.c: ... here.
4742
4743 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 Allow compilation with mingw64 albeit with warnings due to lack of
4746 %llx/%llu.
4747
4748 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4749 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4750 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4751 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4752 on mingw64.
4753 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4754
4755 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 Remove leftover references to some of the system headers.
4758
4759 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4762 read.
4763
4764 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4767 of strerror.
4768
4769 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 Split out blocklist retrieving from setup.c to
4772 grub-core/osdep/blocklist.c and add windows implementation since
4773 generic version doesn't work on NTFS on Windows due to aggressive
4774 unflushable cache.
4775
4776 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4779 files.
4780
4781 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4784 Cut tailing newline. Remove arbitrary limitation. Always use
4785 grub_util_tchar_to_utf8.
4786
4787 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4790 * tests/printf_unit_test.c (printf_test): Add %% tests.
4791 Reported by: Paulo Flabiano Smorigo.
4792
4793 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4796 implement fsync.
4797
4798 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4801 use nvlist_lookup_string and don't use nvlist_print.
4802
4803 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4806 closedir to handle filename charset translation.
4807
4808 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * include/grub/emu/hostdisk.h: Move file operations to
4811 * include/grub/emu/hostfile.h: ... here.
4812
4813 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4816 unicode path.
4817
4818 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4821
4822 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4825 and remove export.h.
4826
4827 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * grub-core/kern/emu/error.c: Removed.
4830 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4831 explicitly as it's already in libgnu.a.
4832
4833 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4836 config-util.h include.
4837
4838 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 Split emunet into platform-dependent and GRUB-binding parts. Keep
4841 platform-dependent part in kernel for easy access to OS functions.
4842
4843 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4846 open/read/write.
4847
4848 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * grub-core/osdep/windows/emuconsole.c: New file.
4851
4852 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4853
4854 * conf/Makefile.extra-dist: Add osdep/*/init.c
4855
4856 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4859
4860 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * util/grub-probe.c (probe): Separate different drives in hint-str
4863 by spaces and not newlines.
4864 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4865
4866 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4867
4868 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4869 Handle CD-ROMs.
4870
4871 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 Pass-through unknown E820 types. It required reorganisation of mmap
4874 module.
4875
4876 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4877
4878 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4879
4880 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4883 fseeko.
4884
4885 2013-10-14 qwertial <qwertial>
4886
4887 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4888
4889 2013-10-14 Jon McCune <jonmccune@google.com>
4890
4891 * docs/grub.texi: Document new signatures possibility.
4892
4893 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4896
4897 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4900 missing prototype.
4901 (grub_util_tchar_to_utf8): Likewise.
4902
4903 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4906 * grub-core/kern/emu/main.c: Add missing include.
4907 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4908 Don't call grub_util_init_nls.
4909 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4910 Likewise.
4911
4912 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4915 stat.
4916
4917 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4920
4921 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4924
4925 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 Add a wrapper for fopen. On unix-like systems just pass-through. On
4928 windows use unicode version.
4929
4930 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 Move set_program_name and init_nls to host_init. On windows
4933 fix in this fuction console and argument charset as well.
4934
4935 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4936
4937 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4938 GRUB_ENABLE_CRYPTODISK.
4939
4940 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4941 GRUB_ENABLE_CRYPTODISK.
4942 * util/grub-mkconfig_lib.in: Likewise.
4943
4944 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4945
4946 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4947
4948 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4949
4950 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4951 error when enabling debug.
4952
4953 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4954
4955 * configure.ac: Use -melf_*_obsd on openbsd.
4956
4957 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4960
4961 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * include/grub/misc.h: Use gnu_printf rather than printf as format
4964 template since our functions are independent of libc.
4965
4966 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * util/grub-setup.c (setup): Move copying of partition table as
4969 futher up as possible to avoid possible overwrite by floppy routines.
4970
4971 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4974
4975 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4976
4977 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4978 * docs/grub.texi: Likewise.
4979
4980 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4983 it's mostly unused. Move vestiges to the callers.
4984
4985 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4988 version of salt and hash. Use grub_snprintf rather than snprintf.
4989
4990 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * docs/grub.texi: Fix problem with braces.
4993
4994 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * conf/Makefile.extra-dist: Fix extra-dist list.
4997 * grub-core/Makefile.core.def: Likewise.
4998
4999 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * docs/grub.texi: Document disk names used on Windows and AROS.
5002
5003 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
5006 with AROS devs.
5007 * grub-core/osdep/aros/hostdisk.c: Likewise.
5008
5009 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 Avoid including hostfile.h when not necessarry as it pulls
5012 in OS-specific headers which may redefine generic names
5013 like "far".
5014
5015 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
5016
5017 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
5018 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
5019 scrollbar_bottom_pad
5020 * docs/grub.texi: Likewise.
5021
5022 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
5023
5024 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
5025
5026 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
5029
5030 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
5033 Removed.
5034 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
5035 Made static.
5036
5037 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
5040 leftover.
5041
5042 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 Move OS-specific driver configuration to grub_util_fd_open. This
5045 moves OS-dependent parts from kern/emu/hostdisk.c to
5046 grub-core/osdep/*/hostdisk.c.
5047
5048 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 * util/grub-mkimage.c (generate_image): Use size_t instead of
5051 grub_size_t.
5052 * util/grub-mkimagexx.c (locate_sections): Likewise.
5053 (load_image): Likewise.
5054
5055 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
5058 size_t.
5059 (grub_util_write_image): Likewise.
5060
5061 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
5064 get random when no RNG is available.
5065 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
5066
5067 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * include/grub/util/lvm.h: Removed.
5070
5071 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
5074 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
5075
5076 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * grub-core/osdep/windows/sleep.c: Add missing config.h.
5079
5080 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
5083
5084 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * grub-core/net/drivers/emu/emunet.c: Move to ..
5087 * grub-core/osdep/linux/emunet.c: ..here.
5088
5089 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * util/ieee1275/ofpath.c: Move to ...
5092 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
5093 * grub-core/osdep/basic/ofpath.c: ..here.
5094
5095 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 Move password-querying (util-version) routines to grub-core/osdep.
5098
5099 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 Move sleep routines to grub-core/osdep.
5102
5103 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 Move OS-dependent files to grub-core/osdep and document it.
5106
5107 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
5110 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
5111
5112 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
5115
5116 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * util/misc.c: Remove leftover inclusion of malloc.h.
5119
5120 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * include/grub/setjmp.h: Remove leftover GRUBOF.
5123
5124 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * util/raid.c: Fold into ...
5127 * util/getroot_linux.c: ... here. Make all functions static.
5128
5129 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
5132 macros to GRUB ones.
5133
5134 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5135
5136 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
5137 occasional bug. If there are too many boot entries or too low
5138 scrollbar height then we need to use another formula to calculate
5139 the position and size of the scrollbar thumb.
5140
5141 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
5144
5145 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5146
5147 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
5148 * docs/grub.texi: Likewise.
5149
5150 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5151
5152 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
5153 viewport.
5154
5155 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5156
5157 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
5158 minimal width calculations.
5159
5160 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * docs/grub.texi: Update note on colors on emu console.
5163
5164 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
5167 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
5168 it's FS and not GRUB limitation.
5169
5170 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
5173
5174 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
5177
5178 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5179
5180 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
5181 kernels by version order.
5182
5183 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
5186
5187 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 Add AROS hostdisk and getroot routines.
5190
5191 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 Make cryptodisk and diskfilter probe data retrievable programmatically
5194 and not just printable.
5195
5196 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Split random retrieving code into separate files.
5199
5200 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
5203 R_ARM_V4BX.
5204
5205 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
5208 condition.
5209 * grub-core/tests/fake_input.c: Likewise.
5210 * grub-core/tests/cmdline_cat_test.c: Likewise.
5211
5212 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/video/capture.c: Do not do finalization when .fini
5215 is called as there is explicit capture_end.
5216
5217 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
5220 changing windows to avoid crash.
5221
5222 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
5225
5226 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 * po/exclude.pot: Add several strings to exclude.
5229
5230 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
5233
5234 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * autogen.sh: Add ./util/grub-gen-widthspec.c and
5237 ./util/grub-gen-asciih.c to exclude list.
5238
5239 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
5242 and don't mark error strings for translation.
5243
5244 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
5247 properly in case of missing block size.
5248
5249 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/lib/arm/setjmp.S: Add missing license section.
5252
5253 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * po/swiss.sed: Add replacement for key names and for term computer.
5256
5257 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
5258
5259 * grub-core/gfxmenu/theme_loader.c: New global options for the
5260 theme background image handling. desktop-image-scale-method,
5261 desktop-image-h-align, desktop-image-v-align.
5262 * grub-core/gfxmenu/view.c: Likewise.
5263 * include/gfxmenu_view.h: Likewise.
5264 * include/bitmap_scale.h: Proportional scale functions introduced.
5265 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
5266 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
5267 cases of unexpected input variables for scale functions.
5268 * docs/grub.texi: Updated documentation for new options.
5269
5270 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
5273
5274 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5275
5276 * grub-core/tests/checksums.h: Corrected due to changes in
5277 bilinear interpolation function.
5278
5279 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5280
5281 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
5282 to eliminate artefacts in bilinear interpolation.
5283
5284 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/video/readers/tga.c: Support paletted tga.
5287
5288 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
5291 incorrect cbcr setting when in color mode.
5292
5293 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/video/readers/png.c: Support paletted images and clean up
5296 greyscale support.
5297
5298 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
5301 usage of wrong table which resulted in mishandling of 4-byte
5302 sequences.
5303
5304 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * grub-core/term/terminfo.c: Add Home and End key sequences.
5307
5308 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * grub-core/video/readers/png.c (grub_png_decode_image_header):
5311 Fix formula for computing total number of bytes.
5312
5313 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
5316 image processing, fix big-endian and support grayscale.
5317
5318 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
5321 Correctly will with maximum transparency when using index color.
5322
5323 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/video/readers/png.c: Support grayscale
5326
5327 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/video/readers/jpeg.c: Support grayscale.
5330
5331 2013-09-26 Jon McCune <jonmccune@google.com>
5332
5333 * grub-core/commands/loadenv.c: Support skipping signature check
5334 and variable names filtering.
5335
5336 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
5339 * grub-core/kern/emu/hostfs.c: Likewise.
5340 * util/getroot_unix.c: Likewise.
5341
5342 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
5345 Migrate all explicit defines to this new one.
5346
5347 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
5350 grub_util_fd_strerror when using grub_util_fd_*.
5351 (grub_util_fd_open_device): Likewise.
5352 (grub_util_biosdisk_read): Likewise.
5353 (grub_util_biosdisk_write): Likewise.
5354 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
5355 (grub_util_fd_strerror): Likewise.
5356 (grub_util_fd_sync): Likewise.
5357 (grub_util_fd_close): Likewise.
5358 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5359 (grub_util_fd_close): Likewise.
5360 (grub_util_fd_strerror): Likewise.
5361 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5362 function proto rather than macro.
5363 (grub_util_fd_sync): Likewise.
5364 (grub_util_fd_open): Likewise.
5365 (grub_util_fd_strerror): New proto.
5366
5367 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5370 platforms on which it doesn't work.
5371
5372 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5375 stat immediately to where it's used.
5376
5377 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * util/getroot.c (grub_util_check_block_device): Move to ...
5380 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5381 * util/getroot.c (grub_util_check_char_device): Move to ...
5382 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5383
5384 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5387 disk closing logic.
5388
5389 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5390
5391 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5392
5393 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5394
5395 * docs/grub.texi (File name syntax): Document ZFS filenames
5396 (/volume@snapshot/...).
5397
5398 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5401 Always return full path. Fixes a problem with mkrelpath.
5402
5403 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5404
5405 * util/grub-install.in: Add GPT PReP support.
5406 * util/grub-probe.c (probe): Support GPT partition type.
5407 (main): Support -t gpt_parttype.
5408
5409 2013-09-23 Aleš Nesrsta <starous@volny.cz>
5410
5411 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5412
5413 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5414
5415 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5416
5417 2013-09-23 Tim Hardeck <thardeck>
5418
5419 * util/grub.d/10_hurd.in: Filter out character for the class.
5420 * util/grub.d/10_kfreebsd.in: Likewise.
5421 * util/grub.d/10_linux.in: Likewise.
5422 * util/grub.d/20_linux_xen.in: Likewise.
5423
5424 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5425
5426 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5427 "changed".
5428
5429 2013-09-23 Josh Triplett <josh@joshtriplett.org>
5430
5431 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5432 boot partition.
5433
5434 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5437 doesn't use posix_wrap. Keep literal -fno-builtin however.
5438
5439 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5442
5443 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5444 2013-09-23 neil
5445
5446 * configure.ac: Do not enable -Wmissing-noreturn as its
5447 usefulness is limited and creates problems on some OS notably with
5448 code generated by bison.
5449
5450 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5451 2013-09-23 neil
5452
5453 * configure.ac: Do not explicitly enable -Waddress as it's not
5454 supported by all gcc and when it is, it's already enabled by -Wall.
5455
5456 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5459 desactivated use of EDID at all.
5460
5461 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5462 2013-09-23 neil
5463
5464 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5465 video if no text is available.
5466
5467 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5468 2013-09-23 neil
5469
5470 * configure.ac: Substitute TARGET_RANLIB.
5471
5472 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5473 2013-09-23 neil
5474
5475 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5476
5477 Based on patches from AROS.
5478
5479 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5480 2013-09-23 neil
5481
5482 * grub-core/Makefile.am: Override STRIP and RANLIB.
5483 * configure.ac: compute TARGET_RANLIB.
5484 * INSTALL: Document TARGET_RANLIB
5485
5486 Based on patches from AROS.
5487
5488 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5491 that floppies are unpartitioned.
5492
5493 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5496 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5497
5498 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5501 less nice but more portable.
5502 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5503
5504 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5507 for cheat_fd.
5508 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5509 functions.
5510 (grub_cryptodisk_cheat_insert): Likewise.
5511 (grub_cryptodisk_close): Likewise.
5512
5513 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5516 Use windows path for DEFAULT_DIRECTORY.
5517
5518 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5521 difference was likely just gcc version, not anything mingw-related.
5522
5523 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 Use Winapi on both cygwin and mingw32 to share more code between both.
5526
5527 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5528
5529 * util/grub-install.in: Add --grub-editenv option.
5530 * util/grub-install_header (grub_compress_file): Explicitly check for
5531 plain file to avoid cp error.
5532
5533 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5534
5535 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5536 names; fix LVM driver name (lvm, not lv).
5537 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5538 names.
5539
5540 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5543 files rather than one file with loads of #if's.
5544 * util/getroot.c: Likewise.
5545
5546 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5549
5550 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5553 GNU/Hurd to the list of checked PRNG.
5554
5555 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5558
5559 2013-09-21 Ales Nesrsta <starous@volny.cz>
5560
5561 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
5562
5563 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5566 * grub-core/disk/lvm.c: Add LVM UUIDs.
5567 * util/getroot.c: Use LVM UUIDs whenever possible.
5568
5569 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5570
5571 * docs/grub.texi (Networking commands): Add documentation for
5572 network related commands.
5573
5574 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5577 to determine if device is handled by devmapper.
5578 (convert_system_partition_to_system_disk): Likewise.
5579 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5580 already done in grub_util_open_dm.
5581
5582 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5583
5584 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5585 Clean up stack manipulation (sync_caches_armv*)
5586
5587 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * util/lvm.c: Remove since unused. Remove remaining references.
5590
5591 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 Handle the case of partitioned LVM properly.
5594
5595 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5596 Stop on meeting LVM, mpath or DMRAID.
5597 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5598 (read_device_map): Likewise.
5599 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5600 device is full disk rather than erroring out on LVM and similar cases.
5601
5602 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5605
5606 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5609 4K before the end.
5610 Reported by: Leif Lindholm
5611
5612 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
5613 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5616 codes.
5617
5618 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
5619
5620 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5621 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5622
5623 2013-09-18 Douglas Ray <dougray@cpan.org>
5624
5625 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5626 as secure.
5627
5628 2013-09-18 Aleš Nesrsta <starous@volny.cz>
5629
5630 * docs/grub.texi: Fix broken link.
5631
5632 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5633
5634 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5635 to break endless loop.
5636
5637 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * util/grub-fstest.c: Fix several printf formats.
5640 * util/grub-mkimage.c: Likewise.
5641 * util/grub-mkimagexx.c: Likewise.
5642 * util/grub-script-check.c: Likewise.
5643
5644 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5647 error.
5648
5649 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5652
5653 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5656 removed in current versions cygwin_conv_*.
5657
5658 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * configure.ac: Disable efiemu runtime on cygwin.
5661
5662 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5665 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5666
5667 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5670 error message.
5671
5672 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5675 windows variant.
5676 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5677 data.
5678
5679 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5682 when on x86 and not cygwin.
5683 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5684 -Wl,-melf_x86_64.
5685
5686 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * configure.ac: Set CPP to build one when checkoing for freetype for
5689 build.
5690
5691 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5694 [!GRUB_BUILD]: Remove has_argument.
5695
5696 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5699 Replace with a dummy.
5700
5701 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * configure.ac: Don't change host_os from mingw to cygwin.
5704
5705 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * configure.ac: Change target_os from windows to cygwin.
5708
5709 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5712
5713 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5714 (build-grub-gen-asciih): Likewise.
5715 (build-grub-gen-widthspec): Likewise.
5716 * Makefile.util.def (grub-pe2elf): Remove.
5717 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5718 * configure.ac: Separate tests for build.
5719 Move ./build-grub-pe2elf to grub-core.
5720 Fix typo.
5721 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5722 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5723 defined.
5724 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5725 constants.
5726 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5727 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5728 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5729
5730 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5733 mingw32 as well based on grub_util_get_disk_size.
5734 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5735 grub_util_get_fd_size.
5736 (sync): Removed.
5737 (fsync): Moved to ...
5738 * grub-core/kern/emu/misc.c (fsync): ... here.
5739
5740 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * include/grub/mm.h (grub_extend_alloc): Remove.
5743 * grub-core/loader/i386/pc/plan9.c: Use own version of
5744 grub_extend_alloc with appropriate types.
5745
5746 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5749
5750 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5753
5754 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 Fix dependencies on cygwin.
5757
5758 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5759 dependencies when used and defined.
5760 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5761
5762 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5765 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5766
5767 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5770 implementation available to cause compile-time rather than runtime
5771 error.
5772
5773 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * util/grub-fstest.c: Don't check for symlinks on windows.
5776
5777 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * INSTALL: Mention unavailability of man pages when cross-compiling.
5780
5781 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5784 and gcry_log_bug.
5785 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5786
5787 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * INSTALL: Document cross-compilation.
5790 * acinclude.m4: Determine whether nm support -P and --defined-only.
5791 * configure.ac: Add TARGET_ to all variables pertaining to target
5792 that don't have it yet.
5793 * gentpl.py: Likewise.
5794 * grub-core/Makefile.am: Likewise.
5795 * grub-core/genmod.sh.in: Likewise.
5796 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5797 as well.
5798
5799 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5800
5801 * configure.ac: Remove -Wempty-body. It's not essential and needs
5802 recent gcc.
5803
5804 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5805
5806 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5807 * util/getroot.c: Likewise.
5808
5809 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * grub-core/disk/ahci.c: Add needed explicit cast.
5812 * grub-core/lib/backtrace.c: Likewise.
5813 * grub-core/net/ip.c: Likewise.
5814 * grub-core/net/tcp.c: Likewise.
5815 * grub-core/net/udp.c: Likewise.
5816
5817 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5820
5821 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * util/import_gcry.py: Add final newline in visibility.h.
5824
5825 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * conf/Makefile.common: Fix typo.
5828
5829 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5832
5833 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * Makefile.am (widthspec.h): Fix typo.
5836 * util/grub-gen-widthspec.c: Likewise.
5837
5838 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 Move ascii.h and widthspec.h generation to a separate build-time-only
5841 tool.
5842
5843 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5844
5845 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5846 Always fill bootdisk info and improve check for NetBSD disklabel.
5847
5848 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * conf/Makefile.extra-dist: Add util/bin2h.c.
5851 Reported by: floppym.
5852
5853 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5856
5857 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * configure.ac: Disable unifont and starfield if no freetype was found.
5860
5861 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5864 on NetBSD and OpenBSD.
5865
5866 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5867
5868 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5869
5870 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5871
5872 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5873 reduced. Inheritant options are processed during the theme loading.
5874
5875 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5876
5877 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5878
5879 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5880
5881 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5882
5883 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5884
5885 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5886 using qemu.
5887
5888 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5889
5890 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5891 remove-potcdate.sed.
5892
5893 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5894
5895 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5896 unused attribute from pull argument.
5897
5898 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5899
5900 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5901 memory leak.
5902
5903 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5904
5905 * util/getroot.c (pull_lvm_by_command): add --separator option
5906 to vgs call to disable padding of output to 10 characters.
5907
5908 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5911 here ...
5912 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5913 here.
5914
5915 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5918 length.
5919
5920 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5923 full Canadian cross. Tested with build=x86_64, host=arm,
5924 target=ppc-ieee1275.
5925
5926 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * configure.ac: Error if no $BUILD_CC could be found.
5929 Reported by: DevHC.
5930
5931 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5934 i386-multiboot.
5935
5936 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5939 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5940
5941 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
5942
5943 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5944 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5945 falling back to the partition device, otherwise a later call to this
5946 function may fail spuriously.
5947 Reported by Axel Beckert. Fixes Debian bug #708614.
5948
5949 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5950
5951 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5952
5953 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5954
5955 Prevent shadowing of stdlib's devname(3) on BSD.
5956
5957 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5958 and devlast to diskname and disklast, respectively.
5959
5960 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
5961
5962 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5963
5964 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5965
5966 * docs/grub.texi: Introduce terminal window position options:
5967 terminal-left: terminal window's left position
5968 terminal-top: terminal window's top position
5969 terminal-width: terminal window's width
5970 terminal-height: terminal window's height
5971 terminal-border: terminal window's border width
5972 * grub-core/gfxmenu/theme-loader.c: Likewise.
5973 * include/grub/gfxmenu_view.h: Likewise.
5974 * po/exlude.pot: Likewise.
5975 * grub-core/gfxmenu/view.c: Likewise.
5976 Also updated minimal window size.
5977 Also terminal_sanity_check function has been introduced.
5978 * grub-core/tests/checksums.h: Update (terminal window height
5979 is adjusted now for low resolution screen)
5980
5981 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5984 position).
5985
5986 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * po/exclude.pot: Add few recent exceptions.
5989
5990 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * tests/grub_func_test.in: Add unicode.pf2.
5993
5994 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5997 standard rather than noral color, in line with other terminals.
5998
5999 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
6002 analysis.
6003
6004 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * grub-core/loader/arm/linux.c: Change printf to dprintf.
6007
6008 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
6011 inappropriate printf.
6012
6013 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
6014
6015 * .bzrignore: Remove grub-core/lib/dtc-grub,
6016 grub-core/Makefile.libfdt.def
6017 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
6018
6019 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * include/grub/video.h (grub_video_register): Keep double-linked as
6022 well as single-linked invariants.
6023 Reported by: qwertial.
6024
6025 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * grub-core/commands/nativedisk.c (get_uuid): Handle
6028 GRUB_DISK_DEVICE_UBOOTDISK_ID.
6029
6030 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
6031
6032 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
6033 maximum of NW, N, NE heights instead of N's height and maximum of
6034 NW, W, SW widths instead of W's width. (So the box will be always
6035 correctly drawn)
6036
6037 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
6038
6039 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
6040 Fix misuse of variable count.
6041
6042 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
6043 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
6044 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 New ports to arm-uboot and arm-efi.
6047 Mostly by Leif Lindholm with some additions from
6048 Francesco Lavra and cleanup by Vladimir Serbinenko.
6049
6050 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
6053 and not before.
6054 Reported by: Leon Drugi.
6055
6056 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
6059 Reported by: Paulo Flabiano Smorigo.
6060
6061 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
6062
6063 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
6064
6065 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
6066
6067 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
6068
6069 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
6072
6073 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
6076
6077 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
6078
6079 * grub-core/net/bootp.c: Export net_* variables.
6080 * grub-core/net/net.c: Likewise.
6081
6082 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
6085
6086 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
6089
6090 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
6093
6094 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
6097
6098 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6099
6100 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
6101 <= 0.
6102
6103 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6104
6105 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
6106 functions.
6107
6108 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6109
6110 * grub-core/fs/zfs/zfs_lz4.c: New file.
6111 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
6112
6113 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6114
6115 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
6116
6117 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6118
6119 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
6120 (check_pool_label): Likewise.
6121 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
6122
6123 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6124
6125 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
6126
6127 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
6128
6129 * docs/grub.texi (Commands): Document postition parameters
6130 for menuentry command.
6131
6132 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
6133
6134 * util/grub-mknetdir.in: Remove stray line from help output.
6135
6136 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 Remove early sm712 init as there is no reason for it (the "watchdog"
6139 effect was due to wrong GPIO map).
6140
6141 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * grub-core/commands/pcidump.c: Remove static variables.
6144
6145 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/commands/sleep.c: Refresh screen before sleeping.
6148
6149 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * configure.ac: Move delimiter after the infos.
6152
6153 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
6156
6157 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
6160 not filling whole 8x16 space.
6161
6162 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
6165
6166 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * configure.ac: Indicate which liblzma is used if any.
6169
6170 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
6171 2013-06-21 Craig Sanders <savannah@taz.net.au>
6172
6173 * util/grub-reboot.in: Document submenu usage.
6174
6175 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
6176
6177 * .bzrignore: Update with a number of new test-related files.
6178
6179 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
6180
6181 * util/grub-script-check.c: Fail on scripts containing no
6182 commands, to guard against corrupted grub-mkconfig setups that
6183 produce no useful output.
6184 * tests/grub_script_no_commands.in: New test.
6185 * Makefile.util.def (grub_script_no_commands): Add.
6186 Reported by Hans Putter. Fixes Debian bug #713886.
6187
6188 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6189
6190 * grub-core/disk/diskfilter.c: Forgot to remove comment
6191 from previous commit.
6192
6193 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6194
6195 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6196 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
6197
6198 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6199
6200 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
6201
6202 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6203
6204 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
6205 rescan diskfilter devices until nothing new is found.
6206
6207 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 Fix casts when compiling coreboot-specific code for 64-bit EFI.
6210
6211 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 Don't try to detect cbfs on *-emu.
6214
6215 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/term/gfxterm.c: USe right background color when scrolling.
6218
6219 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 Add support for processed coreboot payload chainloading.
6222
6223 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 Enable coreboot information commands even when not loaded as
6226 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
6227
6228 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 Support for cbfs. Also factor out the part which is common
6231 for all archives to a separate module. This splits tar from cpio
6232 as they are very different but keeps cpio, cpio_be, odc and newc
6233 together since they're very similar.
6234
6235 2013-06-15 David Michael <fedora.dm0@gmail.com>
6236
6237 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
6238 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
6239
6240 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * tests/grub_script_eval.in: Really add the eval test.
6243
6244 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 Move flavour-specific parts out of common cpio.c file and
6247 rename remaining to cpio_common.c
6248
6249 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6250
6251 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
6252 off new function grub_script_execute_new_scope. Change callers to use
6253 either of them as appropriate.
6254 * grub-core/commands/eval.c: New command eval.
6255 * docs/grub.texi (Commands): Document it.
6256
6257 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6258
6259 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
6260 to fetch values when listing.
6261
6262 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6263
6264 Fix make dist on non-pc.
6265
6266 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
6267
6268 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
6269 without a device name.
6270
6271 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Remove enable_executable_check as it's not needed anymore.
6274 Reported by: dougray.
6275
6276 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
6279 ambigouos RAID before discovering RAIDs on top of it.
6280 Reported by: bodom.
6281
6282 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 Fix typo (failback vs fallback).
6285
6286 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
6287
6288 * util/grub.d/30_os-prober.in: Add support for probing EFI
6289 System Partition (as of os-prober 1.58).
6290
6291 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * configure.ac: Add yet another path to unifont. For parabola.
6294
6295 2013-05-30 Josh Triplett <josh@joshtriplett.org>
6296
6297 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
6298 handling to copy the killed characters to the kill buffer as
6299 UCS4 stored as grub_uint32_t rather than as 8-bit characters
6300 stored as char. Eliminates UCS4 truncation and corruption
6301 observed when killing characters with Ctrl-u and yanking them
6302 back with Ctrl-y.
6303
6304 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 Detach optional parts of gfxterm and integrate in with coreboot init.
6307
6308 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 Move blit and fill dispatcher to appropriate files to decrease export
6311 and relocation overhead.
6312
6313 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * grub-core/font/font.c, include/grub/font.h: Inline simple font
6316 functions.
6317
6318 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/Makefile.am: Fix compilation problem with some
6321 automake versions.
6322
6323 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
6326
6327 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
6330 automake versions.
6331
6332 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
6335 SSDT.
6336
6337 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
6338
6339 * grub-core/partmap/dfly.c: New partition map.
6340
6341 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
6344 checking.
6345 Reported by: Francesco Lavra.
6346
6347 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
6348
6349 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
6350 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
6351 false conditions.
6352 * conf/Makefile.common: define dist_grubconf_DATA
6353
6354 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 Progressively skip menu elements on small terminals rather
6357 than crashing.
6358
6359 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6362 to avoid losing last column.
6363
6364 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * po/exclude.pot: Add missing string "%C".
6367
6368 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6371 after the test.
6372
6373 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * util/grub-install.in: Gettextize "Not found" message.
6376
6377 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 Fix distfiles list.
6380 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6381
6382 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6383
6384 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6385 present.
6386 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6387
6388 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6391
6392 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6395 attribute since structure is not necessarily aligned.
6396
6397 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6398
6399 * docs/grub.texi (Device syntax): Clarify description of network
6400 drives.
6401
6402 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6405 for vasprintf presence.
6406
6407 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * util/grub-install.in: Handle efibootmgr presence check.
6410 Reported by: Leif Lindholm.
6411
6412 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6415 new strings to translate.
6416
6417 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6420 yet another string (pun intended) to translate.
6421
6422 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * po/POTFILES-shell.in: Autogenerate it.
6425
6426 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6429
6430 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6433 misnomer.
6434
6435 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6436
6437 * docs/grub.texi (Network): Add description of net_default_interface,
6438 net_default_ip and net_default_mac. Rewrite variables description
6439 to emphasize that they are per-interface.
6440
6441 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 New test: cmdline and cat.
6444
6445 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/commands/cat.c: Show UTF-8 characters.
6448
6449 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * conf/Makefile.common: Poison float and double on non-emu.
6452
6453 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * configure.ac: Don't disable extended registers on emu.
6456
6457 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * configure.ac: Don't use extended registers on x86_64.
6460 Reported by: Peter Jones.
6461
6462 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/term/efi/console.c: Fix compile error.
6465
6466 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 Compressed HFS+ support.
6469
6470 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6473 pixel".
6474
6475 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 Menu color test.
6478
6479 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/tests/setjmp_test.c: New test.
6482
6483 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 New variables 'net_default_*' to determine MAC/IP of default interface.
6486
6487 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * tests/gettext_strings_test.in: A test to check for strings not
6490 marked for translation.
6491
6492 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * autogen.sh: Exclude unused libgcrypt files from translation.
6495
6496 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 Simplify few strings.
6499
6500 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 Mark few forgotten strings for translation.
6503
6504 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6507 rather than printf.
6508
6509 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6512 rather than printf.
6513 * grub-core/video/readers/tga.c: Likewise.
6514
6515 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * tests/priority_queue_unit_test.cc: New test.
6518
6519 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6522 than printf.
6523
6524 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6525
6526 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6527 variable for one time boot menu entry.
6528
6529 2013-05-05 Bean <bean123ch@gmail.com>
6530
6531 * grub-core/commands/testspeed.c: New command testspeed.
6532
6533 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 Factor-out human-size printing.
6536
6537 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 Agglomerate more mallocs to speed-up gfxterm.
6540
6541 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 Speed-up gfxterm by slightly agglomerating mallocs.
6544
6545 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 More video checks.
6548
6549 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 Speed-up gfxterm by saving intermediate results in index+alpha
6552 format.
6553
6554 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6557 test.
6558
6559 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6562 line of timeout as it may contain the rest of long line.
6563
6564 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/normal/main.c: Fix freed memory dereference.
6567
6568 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 Fix several memory leaks.
6571
6572 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6575
6576 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6579
6580 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 Fix test -a and -o precedence.
6583 Reported by: adrian15.
6584
6585 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6588
6589 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6590
6591 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6592 and add it as source to functional_test module.
6593
6594 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6597
6598 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 New series of tests for gfxterm and gfxmenu.
6601
6602 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6605 the theme path relative to $prefix/themes.
6606
6607 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6610 Fix order bug.
6611 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6612
6613 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6616 descriptor.
6617
6618 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6621 grub_gfxmenu_timeout_notifications.
6622 (grub_gfxmenu_view_destroy): Likewise.
6623
6624 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6627
6628 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 Several fixes to ieee1275 and big-endian video.
6631
6632 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 Add missing exports on mips.
6635
6636 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6639 if no unifont is found.
6640 Restore original keyboard.
6641
6642 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6645 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6646
6647 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 First automated video test (running videotest and comparing results)
6650
6651 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6654 instead of 2 to have full RGB/CMY test pattern.
6655
6656 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 Add few more tests.
6659
6660 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6663 ARCS. All users updated.
6664
6665 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6668
6669 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6672
6673 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6676 Reported by: qwertial.
6677
6678 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6679
6680 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6681 with syntax "XXX deg"/"XXX °".
6682
6683 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 Make PCI init in i386-qemu port more robust.
6686
6687 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6688
6689 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6690 cached view is reused.
6691 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6692 open boot menus.
6693
6694 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 Unify more code in grub-install_header.
6697
6698 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 Add few new tests.
6701
6702 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 Enforce disabling of firmware disk drivers when native drivers kick in.
6705
6706 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * grub-core/commands/nativedisk.c: Customize the list of modules on
6709 platform. Don't try to search for disks already using native drivers.
6710
6711 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6714 platforms.
6715
6716 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6719 handling of variables containing backslash.
6720
6721 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6724 dereference.
6725 Reported by: qwertial.
6726
6727 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6730
6731 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6734 dereference.
6735 Reported by: qwertial.
6736
6737 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6740
6741 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6744
6745 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 New command `nativedisk'.
6748
6749 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6752 * grub-core/loader/i386/bsd.c: Likewise.
6753
6754 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6757
6758 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6761 grub_get_unaligned16 rather than shifts.
6762
6763 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/kern/file.c: Use const char * rather than casting to
6766 non-const.
6767
6768 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/commands/probe.c: Add missing grub_device_close.
6771
6772 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * INSTALL: Document linguas.sh.
6775
6776 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 Remove POTFILES.in and regenerate it in autogen.sh.
6779
6780 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Move --directory/--override-directorry to grub-install_header and unify.
6783
6784 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/term/morse.c: Macroify dih and dah.
6787
6788 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6789
6790 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6791
6792 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * grub-core/term/ns8250.c: Systematically probe ports by writing
6795 to SR before using them.
6796
6797 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6798
6799 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6800 disks.
6801 (check_sas): Get sas_adress info.
6802
6803 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6806 ports.
6807
6808 2013-04-27 Leon Drugi <eyak>
6809
6810 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6811 BSS clearing.
6812
6813 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 Core compression test.
6816
6817 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 Implement grub_machine_get_bootlocation for ARC.
6820
6821 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 Improve AHCI detection and command issuing.
6824
6825 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 Fix pseries test.
6828
6829 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6830
6831 Make 'make check' work on emu.
6832
6833 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 Replace libcurses with our own vt100 handling for the ease of testing
6836 and decreasing prerequisites.
6837
6838 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6841
6842 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6845 compile when not needed.
6846
6847 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * tests/pseries_test.in: New test.
6850
6851 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 Add test to check that different boot mediums work.
6854
6855 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6858 ofw limited ISO support.
6859
6860 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * configure.ac: Fix loongson conditional.
6863
6864 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 Enable mipsel-arc.
6867
6868 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 Add serial on ARC platform.
6871
6872 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6875 commit.
6876
6877 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * tests/partmap_test.in: Add missing double semicolon.
6880
6881 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * util/grub-mkrescue.in: Fix loongson filename.
6884
6885 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * util/grub-mkrescue.in: Move all files that don't have a location
6888 set in stone under /boot/grub. Use ISO hard links rather than copies
6889 to save some space.
6890
6891 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6894 bogus SLOF values.
6895
6896 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 Make check work on mips-arc.
6899
6900 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * util/grub-mkrescue.in: Alias sashARCS as sash.
6903
6904 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6907 it's serial.
6908
6909 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * util/grub-install.in: Fix target fo qemu_mips.
6912 Fix extension on EFI.
6913
6914 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6917 in front of chosen entry to mark it even if highlighting is lost.
6918
6919 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6922 gfxpayload=keep if cbfb is active.
6923
6924 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6927
6928 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 Add missing video ids to coreboot and ieee1275 video.
6931
6932 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * util/grub-mkrescue.in: Add mips-arc support.
6935
6936 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6939
6940 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6941
6942 Move mips-arc link address. Previous link address was chosen
6943 in belief that RAM on SGI platforms grows down while in fact it
6944 grows up from an unusual base.
6945
6946 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6949 Fix a type which prevented CD-ROM and floppy boot.
6950
6951 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 Support coreboot framebuffer.
6954
6955 * grub-core/video/i386/coreboot/cbfb.c: New file.
6956
6957 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6960 detecting too small regions.
6961
6962 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6965
6966 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6969 Remove dprintf.
6970 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6971
6972 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6975 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6976 * grub-core/loader/powerpc/ieee1275/linux.c
6977 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6978
6979 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6982 Look for /boot-rom as well as /rom/boot-rom.
6983
6984 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6987 handling when creating text_layer failed.
6988 * grub-core/video/video.c (grub_video_create_render_target):
6989 Set result to 0 on error.
6990 (grub_video_delete_render_target): Do not dereference NULL.
6991
6992 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6995 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6996 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6997 (grub_linux_load64): Mask out 2 high bits.
6998
6999 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
7000
7001 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
7002 more place.
7003
7004 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 Add support for pseries and other bootinfo machines to grub-mkrescue.
7007
7008 Tested by: Paulo Flabiano Smorigo.
7009
7010 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * util/grub-mkrescue.in: Add GPT for EFI boot.
7013
7014 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
7017 It improves performance in qemu.
7018
7019 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 * build-aux/snippet: Add missing gnulib files.
7022
7023 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
7024
7025 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
7026
7027 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
7028
7029 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
7030
7031 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7032 2013-04-15 Peter Jones <pjones@redhat.com>
7033
7034 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
7035 sectors.
7036 Based on patch by Peter Jones.
7037
7038 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 Fix DMRAID partition handling.
7041
7042 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * tests/grub_cmd_date.in: Skip on sparc64.
7045
7046 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
7049 firmware error messages.
7050
7051 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
7054 source and destination differ.
7055
7056 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
7059 detection.
7060
7061 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
7064 match config-util.h to avoid warnings and increase compatibility.
7065
7066 2013-04-14 Szymon Janc <szymon@janc.net.pl>
7067 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 Add option to compress files on install/image creation.
7070
7071 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * docs/grub-dev.texi: Rearrange menu to match the section order.
7074 Reported by: Bryan Hundven.
7075
7076 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
7079
7080 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 Move GRUB out of system area when using xorriso 1.2.9 or later.
7083
7084 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * tests/grub_cmd_date.in: Add missing exit 1.
7087
7088 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 * tests/partmap_test.in: Skip on sparc64.
7091
7092 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7093
7094 Support grub-shell on sparc64.
7095
7096 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 Support mkrescue on sparc64.
7099
7100 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 Allow IEEE1275 ports on path even if it wasn't detected automatically.
7103 Needed on OpenBIOS due to incomplete device tree.
7104
7105 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
7108 would be otherwise excluded.
7109
7110 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
7113 Inline name defines used only once.
7114
7115 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 Fix memory leaks in ofnet.
7118 Reported by: Francesco Lavra.
7119
7120 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * docs/man/grub-glue-efi.h2m: Add missing file.
7123
7124 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
7127
7128 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 Better support Apple Intel Macs on CD.
7131
7132 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 Replace stpcpy with grub_stpcpy in tools.
7135
7136 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7137
7138 Handle Japanese special keys.
7139 Reported by: Hiroyuki YAMAMORI.
7140 Codes supplied by: Hiroyuki YAMAMORI.
7141
7142 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * util/grub-mkimage.c: Document memdisk implying --prefix.
7145
7146 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
7149 much we can do about it anyway.
7150
7151 2013-04-12 Aleš Nesrsta <starous@volny.cz>
7152
7153 Fix handling of split transfers.
7154
7155 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * grub-core/net/http.c: Fix bad free.
7158
7159 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
7162 than buffer size.
7163
7164 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Disable partmap check on i386-ieee1275 due to openfirmware issues.
7167
7168 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 * tests/util/grub-shell.in: Fix it on powerpc.
7171
7172 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 Turn off QEMU ACPI-way since new releases don't have shutdown port
7175 anymore.
7176
7177 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * docs/grub.texi: Update coreboot status info.
7180
7181 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * tests/grub_cmd_date.in: New test for datetime.
7184
7185 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * tests/partmap_test.in: Fix missing qemudisk setting.
7188
7189 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 Support i386-ieee1275 grub-mkrescue and make check on it.
7192
7193 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
7196 feature for it.
7197
7198 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
7201 GRUB_CMDLINE_XEN_DEFAULT.
7202 Reported by: Marc Warne (GigaTux) <gigatux>
7203
7204 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 Import new gnulib.
7207
7208 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 Use ACPI shutdown intests as traditional port was removed.
7211
7212 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
7213
7214 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
7215 distinction.
7216
7217 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
7220 Fix few warining messages and leaks while on it.
7221
7222 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
7223
7224 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
7225 links under grub-core/lib/libgcrypt-grub/mpi.
7226
7227 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 Fix ia64-efi image generation on big-endian machines. Deduplicate
7230 some code while on it.
7231 Reported by: Leif Lindholm.
7232
7233 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7234
7235 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
7236 as extra_dist.
7237
7238 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7239
7240 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
7241
7242 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
7243
7244 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
7245 texinfo-5.1.
7246
7247 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 * grub-core/normal/term.c: Few more fixes for menu entry editor
7250 rendering.
7251 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7252
7253 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 * grub-core/normal/term.c: Few more fixes for menu entry editor
7256 rendering.
7257 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7258
7259 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7260
7261 * conf/Makefile.extra-dist (EXTRA_DIST): Add
7262 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
7263
7264 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7265
7266 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
7267 instead of hardcoding grub.mo.
7268
7269 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
7270
7271 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
7272
7273 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
7276 grub-core/disk/geli.c.
7277
7278 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * util/grub-mkfont.c: Prefer enum to #define.
7281
7282 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
7285
7286 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
7289
7290 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
7293
7294 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
7297
7298 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * include/grub/bsdlabel.h: Use enums.
7301
7302 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 Move GRUB_CHAR_BIT to types.h.
7305
7306 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7307
7308 * docs/grub.texi: Document more user commands.
7309
7310 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7311
7312 * docs/grub.texi: Document menuentry --id option.
7313
7314 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
7315
7316 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
7317
7318 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 Unify file copying setup across different install scripts. Add
7321 options for performing partial install.
7322
7323 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7324 2013-04-04 Peter Jones <pjones@redhat.com>
7325
7326 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
7327
7328 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 Use TSC as a possible time source on i386-ieee1275.
7331
7332 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
7335 Init err.
7336
7337 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * util/grub-setup.c (setup): Handle some corner cases.
7340
7341 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
7344
7345 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/commands/verify.c: Save verified file to avoid it being
7348 tampered with after verification was done.
7349
7350 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
7353 reported width by one to compensate for curesor algorithm problem.
7354
7355 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 Fix screen corruption in menu entry editor and simplify the code
7358 flow while on it.
7359
7360 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7361
7362 * util/grub-mount.c (fuse_init): Return error if fuse_main
7363 failed.
7364
7365 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7366
7367 * include/grub/elf.h: Add missing ARM relocation codes and fix
7368 existing ones.
7369
7370 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7371
7372 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7373
7374 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7375 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7378 into account when calculating radius.
7379
7380 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7381
7382 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7383
7384 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7385
7386 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7387
7388 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7389
7390 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7391 missing closing bracket.
7392
7393 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7394
7395 * INSTALL: Mention xorriso requirement.
7396
7397 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7398
7399 * grub-core/commands/verify.c: Fix hash algorithms values for
7400 the first three hashes - they start with 1, not with 0.
7401
7402 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7405 Try terminating EFI services several times due to quirks in some
7406 implementations.
7407
7408 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
7409
7410 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7411 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7412 BankField extended opcodes.
7413 (get_sleep_type): Add minimal scope handling (just enough to
7414 handle setting the scope to the root path).
7415 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7416 * include/grub/acpi.h: Add enumeration values for Event, Device,
7417 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7418
7419 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7420
7421 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7422 memory leak.
7423
7424 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * grub-core/disk/ahci.c: Give more time for AHCI request.
7427
7428 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7431 command.
7432
7433 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 Replace the region at 0 from coreboot tables to available in BSD
7436 memory map.
7437
7438 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7441 non-BIOS platforms.
7442
7443 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7446 platforms.
7447
7448 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7451 handling of multi-device filesystems.
7452
7453 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7456 platforms.
7457
7458 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 Add new 'proc' filesystem framework and put luks_script into it.
7461
7462 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7465 and qemu.
7466
7467 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7470
7471 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 Add ability to generate newc additions on runtime.
7474
7475 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7478 description.
7479
7480 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * po/POTFILES.in: Regenerate.
7483
7484 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/commands/verify.c (hashes): Add several hashes
7487 from the spec.
7488
7489 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 Slight improve in USB-related boot-time checkpoints.
7492
7493 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/commands/boottime.c: Fix copyright header.
7496
7497 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7500 coreboot tables content. Support for cbmemc.
7501
7502 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 Fix a conflict between ports structures with 2 controllers of
7505 same kind.
7506
7507 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * include/grub/boottime.h: Add missing file.
7510
7511 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 Initialize USB ports in parallel to speed-up boot.
7514
7515 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 Fix USB devices not being detected when requested
7518 due to delayed attach.
7519
7520 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 Implement boot time analysis framework.
7523
7524 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 Remove get_endpoint_descriptor and change all functions needing
7527 descriptor to just receive it as argument rather than endpoint
7528 address.
7529
7530 2013-03-19 Aleš Nesrsta <starous@volny.cz>
7531
7532 Better estimate the maximum USB transfer size.
7533
7534 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 Resend a packet if we got the wrong buffer in status.
7537
7538 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7541 multiplication rather than division.
7542
7543 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7546 than divisions.
7547
7548 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7551 operations to have intended shifts and not divisions.
7552
7553 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7556 intended shifts rather than division.
7557
7558 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7561 computation for some years before epoch. Avode confusing division
7562 while on it.
7563
7564 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * grub-core/video/i386/pc/vbe.c
7567 (grub_video_vbe_print_adapter_specific_info): Replace division by
7568 shifts.
7569
7570 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 Adjust types in gdb module to have intended unsigned shifts rather than
7573 signed divisions.
7574
7575 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7578 maximum size is 4G - 1 on hfs
7579
7580 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7583
7584 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7587 function.
7588
7589 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7590
7591 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7592 causing gcc error with gcc 4.7.1.
7593
7594 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7595
7596 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7597 dereference null pointer. While the code is technically correct, gcc
7598 may eliminate a null check if pointer is already dereferenced.
7599
7600 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7601
7602 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7603 OOM check.
7604 * grub-core/normal/term.c (read_terminal_list): Likewise.
7605
7606 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 Lift up core size limits on some platforms. Fix potential memory
7609 corruption with big core on small memory systems. Document remaining
7610 limits.
7611
7612 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7615 gotoxy to 0,0.
7616
7617 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 Remove all trampoline support. Add -Wtrampolines when
7620 present. Remove symbols used for trampolines to make
7621 link fail if trampolines are present.
7622
7623 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7626 append out of its parent.
7627
7628 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7631 parent.
7632
7633 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7636 all vars to a macro. All users updated.
7637
7638 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7641 i386-ieee1275.
7642
7643 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7646
7647 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7650
7651 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 Move to more hookless approach in IEEE1275 devices handling.
7654
7655 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * grub-core/kern/term.c (grub_term_normal_color),
7658 (grub_term_highlight_color): Add back lost defaults.
7659
7660 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 Make elfload not use hooks. Opt for flags and iterators instead.
7663
7664 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7667 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7668
7669 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7672
7673 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7676 hook pass-through parameter. All users updated and unnested.
7677
7678 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7681 out of its parent.
7682
7683 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * grub-core/fs/hfs.c: Remove nested functions.
7686
7687 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7690 the context through.
7691 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7692
7693 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * util/grub-editenv.c (list_variables): Move print_var out of its
7696 parent.
7697
7698 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7701 function.
7702
7703 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/gentrigtables.c: Make tables const.
7706
7707 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 Remove nested functions from videoinfo iterators.
7710
7711 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7714 for 64-bit platforms.
7715
7716 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7719 a FOR_CHILDREN macro.
7720
7721 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7724 platform from firmware path.
7725
7726 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 Enable linux16 on non-BIOS systems for i.a. memtest.
7729
7730 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7731 correctly.
7732 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7733
7734 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7737 Fix end of table condition.
7738
7739 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7742 out of its parent.
7743
7744 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/fs/jfs.c: Remove nested functions.
7747
7748 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/fs/minix.c: Remove nested functions.
7751
7752 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * grub-core/fs/iso9660.c: Remove nested functions.
7755
7756 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7759 of parent function.
7760
7761 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * util/grub-fstest.c: Remove nested functions.
7764
7765 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/loader/machoXX.c: Remove nested functions.
7768
7769 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
7770
7771 Remove nested functions from disk and file read hooks.
7772
7773 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7774 (struct grub_disk): Add read_hook_data member.
7775 * include/grub/file.h (struct grub_file): Likewise.
7776 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7777 argument.
7778
7779 Update all callers.
7780
7781 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7782
7783 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7784 Fix off by one error in enumerating extended partitions.
7785
7786 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7787
7788 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7789 memory leak if device name is not found.
7790
7791 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7792
7793 * grub-core/normal/menu_entry.c (update_screen): remove
7794 unused variable `off' which caused scroll down arrow to be always shown.
7795
7796 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7797
7798 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7799 access to unallocated memory.
7800
7801 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7802
7803 * Makefile.util.def: Add partmap/msdos.c to common library.
7804 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7805 * grub-core/disk/ldm.c: Check for existence of
7806 GRUB_PC_PARTITION_TYPE_LDM.
7807
7808 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7811 sizes and display sector size.
7812
7813 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7814
7815 Implement new command cmosdump.
7816
7817 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7818
7819 Support Openfirmware disks with non-512B sectors.
7820
7821 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7822 size of the disk.
7823 * (grub_ofdisk_get_block_size): New function.
7824 * (grub_ofdisk_prepare): Use the correct block size.
7825 * (grub_ofdisk_read): Likewise.
7826 * (grub_ofdisk_write): Likewise.
7827 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7828 New proto.
7829
7830 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7833
7834 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7837 on first error.
7838
7839 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7842 freeing it.
7843
7844 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 Implement USBDebug (full USB stack variant).
7847
7848 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7851 unless they have unexpected values.
7852
7853 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7856 grub_print_error.
7857
7858 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7861 zero-out of port structure.
7862
7863 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7866 of extended attributes.
7867
7868 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7869
7870 * util/grub-install.in: change misleading comment about
7871 device.map creation
7872
7873 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7876 when menu highlight color isn't set.
7877
7878 2013-01-27 C. Masloch <pushbx@38.de>
7879
7880 Improve FreeDOS direct loading support compatibility.
7881
7882 * include/grub/i386/relocator.h (grub_relocator16_state):
7883 New member ebp.
7884 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7885 variable.
7886 (grub_relocator16_boot): Handle %ebp.
7887 * grub-core/lib/i386/relocator16.S: Likewise.
7888 * grub-core/loader/i386/pc/freedos.c:
7889 Load BPB to pass kernel which partition to load from.
7890 Check that kernel file is not too large.
7891 Set register dl to BIOS unit number as well.
7892
7893 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
7894
7895 * util/grub-reboot.in (usage): Document the need for
7896 GRUB_DEFAULT=saved.
7897 * util/grub-set-default.in (usage): Likewise.
7898 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7899
7900 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7903 than defining WORDS_BIGENDIAN manually.
7904
7905 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7908 invariants.
7909
7910 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7911
7912 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7913 nested.
7914 (blit_comb: add_device_width): Likewise.
7915
7916 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7917
7918 Remove nested functions from USB iterators.
7919
7920 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7921 (grub_usb_controller_iterate_hook_t): Likewise.
7922 (grub_usb_iterate): Add hook_data argument.
7923 (grub_usb_controller_iterate): Likewise.
7924 (struct grub_usb_controller_dev.iterate): Likewise.
7925
7926 Update all implementations and callers.
7927
7928 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7931 margin when not needed.
7932
7933 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 Make color variables global instead of it being per-terminal.
7936
7937 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7940 asterisk.
7941
7942 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7943
7944 Fix powerpc and sparc64 build failures caused by un-nesting memory
7945 map iterators.
7946
7947 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7948
7949 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7950 parameter declarations.
7951
7952 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7955
7956 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 Improve spkmomdem reliability by adding a separator between bytes.
7959
7960 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7961
7962 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7963 an Acer registration utility with several sightings in the wild.
7964 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7965
7966 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7967
7968 Remove nested functions from filesystem directory iterators.
7969
7970 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7971 (struct grub_fs.dir): Add hook_data argument.
7972
7973 Update all implementations and callers.
7974
7975 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7976
7977 * docs/grub.texi (Multi-boot manual config): Fix typo for
7978 "recommended".
7979
7980 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7981
7982 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7983 until after its use in generate_image.
7984
7985 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7986
7987 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7988 initrd size to addr_min, since the initrd will be allocated after
7989 this address.
7990
7991 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7992
7993 * conf/Makefile.common: Fix autogen rules to pass definition
7994 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7995
7996 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7997
7998 * include/grub/elf.h: Update ARM definitions based on binutils.
7999
8000 2013-01-20 Aleš Nesrsta <starous@volny.cz>
8001
8002 Split long USB transfers into short ones.
8003
8004 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
8005
8006 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
8007 is interrupted by ESC.
8008
8009 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * util/grub-script-check.c (main): Uniform the error message.
8012
8013 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
8014
8015 Remove nested functions from ELF iterators.
8016
8017 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
8018
8019 Remove nested functions from device iterators.
8020
8021 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
8022 (grub_arc_iterate_devs): Add hook_data argument.
8023 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
8024 (struct grub_ata_dev.iterate): Add hook_data argument.
8025 * include/grub/device.h (grub_device_iterate_hook_t): New type.
8026 (grub_device_iterate): Add hook_data argument.
8027 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
8028 (struct grub_disk_dev.iterate): Add hook_data argument.
8029 (grub_disk_dev_iterate): Likewise.
8030 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
8031 Likewise.
8032 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
8033 Likewise.
8034 * include/grub/partition.h (grub_partition_iterate_hook_t): New
8035 type.
8036 (struct grub_partition_map.iterate): Add hook_data argument.
8037 (grub_partition_iterate): Likewise.
8038 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
8039 (struct grub_scsi_dev.iterate): Add hook_data argument.
8040
8041 Update all callers.
8042
8043 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
8044
8045 Fix typos for "developer" and "development".
8046
8047 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 Add license header to spkmodem-recv.c.
8050
8051 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 Rewrite spkmodem to use PIT for timing. Double the speed.
8054
8055 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Add new command pcidump.
8058
8059 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 New terminal outputs using serial: morse and spkmodem.
8062
8063 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 Improve bidi handling in entry editor.
8066
8067 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8070 argument to prevent name collision.
8071
8072 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
8073
8074 Remove nested functions from script reading and parsing.
8075
8076 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
8077 getline_data argument, passed to getline.
8078 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
8079 getline_data argument, passed to grub_parser_split_cmdline.
8080 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
8081 lexerstate->getline_data to lexerstate->getline.
8082 (grub_script_lexer_init): Add getline_data argument, saved in
8083 lexerstate->getline_data.
8084 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
8085 argument, passed to grub_script_parse.
8086 * grub-core/script/script.c (grub_script_parse): Add getline_data
8087 argument, passed to grub_script_lexer_init.
8088 * include/grub/parser.h (grub_parser_split_cmdline): Update
8089 prototype. Update all callers to pass appropriate getline data.
8090 (struct grub_parser.parse_line): Likewise.
8091 (grub_rescue_parse_line): Likewise.
8092 * include/grub/reader.h (grub_reader_getline_t): Add void *
8093 argument.
8094 * include/grub/script_sh.h (struct grub_lexer_param): Add
8095 getline_data member.
8096 (grub_script_parse): Update prototype. Update all callers to pass
8097 appropriate getline data.
8098 (grub_script_lexer_init): Likewise.
8099 (grub_normal_parse_line): Likewise.
8100
8101 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
8102 data argument.
8103 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
8104 static instead of nested. Rename to ...
8105 (grub_parser_execute_getline): ... this.
8106 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
8107 data argument.
8108 * grub-core/normal/main.c (read_config_file: getline): Make static
8109 instead of nested. Rename to ...
8110 (read_config_file_getline): ... this.
8111 (grub_normal_read_line): Add unused data argument.
8112 * grub-core/script/execute.c (grub_script_execute_sourcecode:
8113 getline): Make static instead of nested. Rename to ...
8114 (grub_script_execute_sourcecode_getline): ... this.
8115 * util/grub-script-check.c (main: get_config_line): Make static
8116 instead of nested.
8117
8118 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
8119
8120 Remove nested functions from memory map iterators.
8121
8122 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
8123 argument, passed to hook.
8124 * grub-core/kern/i386/coreboot/mmap.c
8125 (grub_linuxbios_table_iterate): Likewise.
8126 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
8127 instead of nested.
8128 (grub_machine_mmap_iterate): Add hook_data argument.
8129 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
8130 Add hook_data argument, passed to hook.
8131 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
8132 Likewise.
8133 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8134 Likewise.
8135 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
8136 Likewise.
8137 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
8138 Likewise.
8139 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
8140 Likewise.
8141 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
8142 Likewise.
8143 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
8144 (grub_machine_mmap_iterate): Likewise.
8145 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
8146 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
8147 prototype.
8148 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
8149 Remove NESTED_FUNC_ATTR from here and from all users.
8150 (grub_mmap_iterate): Update prototype.
8151 (grub_efi_mmap_iterate): Update prototype. Update all callers to
8152 pass appropriate hook data.
8153 (grub_machine_mmap_iterate): Likewise.
8154
8155 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
8156 static instead of nested.
8157 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
8158 Rename to ...
8159 (lsmmap_hook): ... this.
8160 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
8161 Likewise.
8162 (grub_efiemu_mmap_fill: fill_hook): Likewise.
8163 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
8164 heap_init): Likewise.
8165 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
8166 Rename to ...
8167 (mmap_iterate_hook): ... this.
8168 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
8169 Likewise.
8170 * grub-core/lib/ieee1275/relocator.c
8171 (grub_relocator_firmware_get_max_events: count): Likewise.
8172 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
8173 to ...
8174 (grub_relocator_firmware_fill_events_iter): ... this.
8175 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
8176 hook): Likewise. Rename to ...
8177 (grub_relocator_alloc_chunk_align_iter): ... this.
8178 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
8179 Rename to ...
8180 (generate_e820_mmap_iter): ... this.
8181 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
8182 Rename to ...
8183 (count_hook): ... this.
8184 (grub_linux_boot: hook): Likewise. Rename to ...
8185 (grub_linux_boot_mmap_find): ... this.
8186 (grub_linux_boot: hook_fill): Likewise. Rename to ...
8187 (grub_linux_boot_mmap_fill): ... this.
8188 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
8189 hook): Likewise. Rename to ...
8190 (grub_fill_multiboot_mmap_iter): ... this.
8191 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
8192 hook): Likewise. Rename to ...
8193 (count_hook): ... this.
8194 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
8195 hook): Likewise. Rename to ...
8196 (grub_fill_multiboot_mmap_iter): ... this.
8197 * grub-core/loader/powerpc/ieee1275/linux.c
8198 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
8199 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
8200 Likewise. Rename to ...
8201 (alloc_phys_choose): ... this.
8202 (determine_phys_base: get_physbase): Likewise.
8203 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
8204 find_hook): Likewise.
8205 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
8206 (malloc_hook: count_hook): Likewise.
8207 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
8208 Likewise. Rename to ...
8209 (lower_hook): ... this.
8210 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8211 (upper_hook): ... this.
8212 (grub_mmap_get_post64: hook): Likewise. Rename to ...
8213 (post64_hook): ... this.
8214 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
8215 Likewise. Rename to ...
8216 (lower_hook): ... this.
8217 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8218 (upper_hook): ... this.
8219 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
8220 (grub_mmap_iterate: fill_hook): Likewise.
8221 (fill_mask): Pass addr and mask within a single struct.
8222 (grub_cmd_badram: hook): Make static instead of nested. Rename
8223 to ...
8224 (badram_iter): ... this.
8225 (grub_cmd_cutmem: hook): Likewise. Rename to ...
8226 (cutmem_iter): ... this.
8227
8228 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
8231 delimit path in strings using quotes.
8232 * util/getroot.c (grub_guess_root_devices): Likewise.
8233 (grub_make_system_path_relative_to_its_root): Likewise.
8234 * util/grub-probe.c (probe): Likewise.
8235 * util/ieee1275/ofpath.c (find_obppath): Likewise.
8236 (xrealpath): Likewise.
8237
8238 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 Fix compilation with older compilers.
8241
8242 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
8243 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
8244 declarations.
8245 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
8246 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
8247 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
8248 identifier with b.
8249 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
8250 * include/grub/crypto.h: Add type defines.
8251 * util/import_gcrypth.sed: Remove duplicate type defines.
8252
8253 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 New command list_trusted.
8256
8257 * grub-core/commands/verify.c (grub_cmd_list): New function.
8258
8259 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
8260
8261 * util/grub-mkimage.c (generate_image): Fix "size of public key"
8262 info message.
8263
8264 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
8265
8266 Remove nested functions from PCI iterators.
8267
8268 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
8269 passed to hook. Update all callers to pass appropriate hook data.
8270 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
8271 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
8272 Remove NESTED_FUNC_ATTR from here and from all users.
8273 (grub_pci_iterate): Update prototype.
8274 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
8275 instead of nested. Rename to ...
8276 (grub_cs5536_find_iter): ... this.
8277 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
8278 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
8279 Likewise.
8280 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
8281 Likewise.
8282 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
8283 Likewise.
8284 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
8285 Likewise.
8286 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
8287 * grub-core/video/radeon_fuloong2e.c
8288 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
8289 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
8290 find_card): Likewise.
8291 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
8292 Likewise.
8293
8294 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/commands/verify.c: Mark messages for translating.
8297
8298 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
8301 fatal.
8302
8303 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
8306 fatal.
8307
8308 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * autogen.sh: Do not try to delete nonexistant files.
8311 * util/import_gcrypth.sed: Add some missing header removals.
8312
8313 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
8314
8315 Clean up dangling references to grub-setup.
8316 Fixes Ubuntu bug #1082045.
8317
8318 * docs/grub.texi (Images): Refer generally to grub-install rather
8319 than directly to grub-setup.
8320 (Installing GRUB using grub-install): Remove direct reference to
8321 grub-setup.
8322 (Device map) Likewise.
8323 (Invoking grub-install): Likewise.
8324 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8325 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8326 * util/grub-install.in (usage): Likewise.
8327
8328 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
8329 Apply to grub-bios-setup and grub-sparc64-setup rather than to
8330 grub-setup.
8331 * configure.ac: Remove grub_setup output variable.
8332
8333 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
8334 to grub-bios-setup.
8335 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
8336 grub-setup to grub-sparc64-setup.
8337
8338 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 Import gcrypt public-key cryptography and implement signature checking.
8341
8342 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/fs/ntfs.c: Ue more appropriate types.
8345 * grub-core/fs/ntfscomp.c: Likewise.
8346 * include/grub/ntfs.h: Likewise.
8347
8348 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 Support Apple FAT binaries on non-Apple platforms.
8351
8352 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
8353 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
8354 Likewise.
8355 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
8356 Apple FAT binaries.
8357
8358 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8361 sector devices.
8362
8363 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8364
8365 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8366 explicitly zeroing elements.
8367 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8368 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8369 of elements in a structure already allocated using grub_zalloc.
8370 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8371
8372 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8373
8374 * docs/grub.texi (grub_cpu): New subsection.
8375 (grub_platform): Likewise.
8376
8377 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8380
8381 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8384 divisions.
8385
8386 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8389 * grub-core/fs/ntfscomp.c: Likewise.
8390 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8391 (grub_ntfs_comp): Likewise.
8392
8393 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8396 Rename to ...
8397 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8398 of groups_per_block. All users updated.
8399
8400 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8403 grub_error properly.
8404 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8405 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8406
8407 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8410 always in /boot/zfs.
8411 Reported by: Yuta Satoh.
8412
8413 2013-01-03 Yuta Satoh <nigoro>
8414
8415 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8416 ${grub_probe}
8417
8418 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * configure.ac: Extend -Wno-trampolines to host.
8421
8422 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8425 entry->len = 0.
8426
8427 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8428
8429 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8430 (Invoking grub-script-check): Likewise.
8431
8432 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8433
8434 * docs/grub.texi (Invoking grub-mount): New section.
8435 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8436
8437 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8438
8439 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8440 test failures, so that a failing unit test correctly causes 'make
8441 check' to fail.
8442
8443 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8444
8445 Fix failing printf test.
8446
8447 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8448 '$' in the correct order when collecting type information.
8449
8450 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8451
8452 * docs/grub.texi (configfile): Explain environment variable
8453 handling.
8454 (source): New section.
8455 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8456
8457 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
8458
8459 Remove several trivially-unnecessary uses of nested functions.
8460
8461 * grub-core/commands/i386/pc/sendkey.c
8462 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8463 instead of nested.
8464 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8465 Rename to ...
8466 (legacy_file_getline): ... this.
8467 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8468 Likewise.
8469 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8470 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8471 to ...
8472 (probe_dummy_iter): ... this.
8473 * grub-core/kern/i386/coreboot/mmap.c
8474 (grub_linuxbios_table_iterate: check_signature): Likewise.
8475 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8476 check_varstate): Likewise. Mark inline.
8477 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8478 an additional parameter.
8479 (find_long: fnd_long): Likewise. Pass two additional parameters.
8480 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8481 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8482 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8483 Likewise. Rename to ...
8484 (grub_cmos_find_port_iter): ... this.
8485 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8486 Rename to ...
8487 (find_rtc_iter): ... this.
8488
8489 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8490 function directly into the function body, since it is only called
8491 once.
8492
8493 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
8494
8495 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8496 __attribute__ ((unused)).
8497 * grub-core/video/bochs.c (find_card): Likewise.
8498 * grub-core/video/cirrus.c (find_card): Likewise.
8499 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8500 * grub-core/video/sis315pro.c (find_card): Likewise.
8501 * grub-core/video/sm712.c (find_card): Likewise.
8502
8503 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8504
8505 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8506 Fixes Savannah bug #37821.
8507
8508 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8509
8510 Apply program name transformations at build-time rather than at
8511 run-time. Fixes Debian bug #696465.
8512
8513 * acinclude.m4 (grub_TRANSFORM): New macro.
8514 * configure.ac: Create output variables with transformed names for
8515 most programs.
8516 * util/bash-completion.d/grub-completion.bash.in: Use
8517 pre-transformed variables for program names.
8518 * util/grub-install.in: Likewise.
8519 * util/grub-kbdcomp.in: Likewise.
8520 * util/grub-mkconfig.in: Likewise.
8521 * util/grub-mkconfig_lib.in: Likewise.
8522 * util/grub-mknetdir.in: Likewise.
8523 * util/grub-mkrescue.in: Likewise.
8524 * util/grub-mkstandalone.in: Likewise.
8525 * util/grub-reboot.in: Likewise.
8526 * util/grub-set-default.in: Likewise.
8527 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8528 * tests/util/grub-shell-tester.in: Remove unused assignment.
8529 * tests/util/grub-shell.in: Likewise.
8530 * util/grub.d/00_header.in: Likewise.
8531
8532 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8533
8534 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8535
8536 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8537 HAVE_RAW_DECL_GETS.
8538 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8539
8540 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8543 Reported by: Eriks Latosheks <foresterlv>.
8544
8545 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * docs/grub.texi (Network): Update instructions on generating netboot
8548 image.
8549
8550 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8553 around device name if necessarry.
8554
8555 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8556
8557 * util/grub-install.in: Follow the symbolic link parameter added
8558 to the file command.
8559
8560 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8561
8562 * util/grub-install.in: Remove stale TODO.
8563
8564 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8565
8566 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8567 dynamic allocation for the bootpath buffer.
8568
8569 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8570
8571 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8572 window too small.
8573
8574 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8577 argument rather than font name. All users updated.
8578 (grub_gfxterm_set_window): Likewise.
8579
8580 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8581
8582 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8583 from working.
8584
8585 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * util/getroot.c (convert_system_partition_to_system_disk): Support
8588 nbd disks.
8589
8590 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8593 infinite loop on corrupted FS.
8594
8595 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 Fix big-endian mtime.
8598
8599 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8600 together sec and usec.
8601 (grub_ufs_dir): Use correct byteswapping for UFS time.
8602
8603 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Support big-endian UFS1.
8606
8607 * Makefile.util.def (libgrubmods): Add ufs_be.c
8608 * grub-core/Makefile.core.def (ufs1_be): New module.
8609 * grub-core/fs/ufs_be.c: New file.
8610 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8611 the file.
8612
8613 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8614
8615 * include/grub/types.h: Fix functionality unaffecting typo in
8616 GRUB_TARGET_WORDSIZE conditional macro.
8617
8618 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8619
8620 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8621
8622 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8623
8624 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8625 that /netbsd appears first (when it exists).
8626
8627 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
8628
8629 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8630 Fixes Savannah bug #37558.
8631
8632 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
8633
8634 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8635 description of extract_entries_configfile.
8636
8637 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
8638
8639 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8640 preferred_address.
8641 (grub_cmd_linux): Likewise.
8642 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8643 preferred_lifetime. Update all users.
8644
8645 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8646
8647 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8648 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8649
8650 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8651
8652 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8653 errors from grub-probe to /dev/null, not stdout.
8654
8655 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8658 sector 1.
8659
8660 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
8661
8662 * util/grub-install.in: Make the error message if $source_dir
8663 doesn't exist more useful.
8664
8665 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
8666
8667 Fix grub-emu build on FreeBSD.
8668
8669 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8670 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8671 headers on Linux.
8672 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8673 implementation is currently Linux-specific.
8674 * util/getroot.c (exec_pipe): Define only on Linux or when either
8675 libzfs or libnvpair is unavailable.
8676 (find_root_devices_from_poolname): Remove unused path variable.
8677
8678 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8679
8680 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8681 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8682 should fit before end == 63.
8683
8684 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8685
8686 * util/grub-setup.c (write_rootdev): Remove unused core_img
8687 parameter. Update all callers.
8688 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8689 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8690 GRUB_SETUP_BIOS.
8691
8692 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8695 (grub_add_tab): New function.
8696 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8697 * util/grub.d/10_illumos.in: Likewise.
8698 * util/grub.d/10_kfreebsd.in: Likewise.
8699 * util/grub.d/10_linux.in: Likewise.
8700 * util/grub.d/10_netbsd.in: Likewise.
8701 * util/grub.d/10_windows.in: Likewise.
8702 * util/grub.d/10_xnu.in: Likewise.
8703 * util/grub.d/20_linux_xen.in: Likewise.
8704 * util/grub.d/30_os-prober.in: Likewise.
8705
8706 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8709 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8710 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8711 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8712 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8713 ieee1275-nocursor.
8714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8715 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8716
8717 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8720 le-conversion.
8721 Reported by: BURETTE, Bernard.
8722
8723 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
8724
8725 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8726 from comment.
8727
8728 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
8729
8730 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8731 IEEE1275 machines. Fixes powerpc-emu compilation.
8732 * include/grub/terminfo.h: Likewise.
8733
8734 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8737 a const pointer.
8738 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8739 const pointer.
8740 (efiemu_set_variable): Make vendor_guid a const pointer.
8741
8742 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 Don't require grub-mkconfig_lib to generate manpages for programs.
8745
8746 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8747 dependencies, don't add grub-mkconfig_lib.
8748 (program): Pass empty adddeps.
8749 (script): Pass grub-mkconfig_lib as adddeps.
8750
8751 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8754 * util/getroot.c (grub_find_device): Likewise.
8755 (get_mdadm_uuid): Likewise.
8756 (grub_util_is_imsm): Likewise.
8757 (grub_util_pull_device): Likewise.
8758 * util/grub-probe.c (probe): Likewise.
8759
8760 2012-09-10 Benoit Gschwind <gschwind>
8761
8762 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8763 (devs): Add devpath_8.
8764
8765 2012-09-08 Peter Jones <pjones@redhat.com>
8766
8767 * grub-core/Makefile.core.def (efifwsetup): New module.
8768 * grub-core/commands/efi/efifwsetup.c: New file.
8769 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8770 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8771 New define.
8772 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8773
8774 2012-09-05 Jiri Slaby <jslaby@suse.cz>
8775
8776 * configure.ac: Add SuSe path.
8777
8778 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8779
8780 * NEWS: Fix typo.
8781
8782 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8783
8784 * util/import_gcry.py: Sort cipher_files, to make build system
8785 generation more deterministic.
8786
8787 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8790 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8791 (grub_set_datetime): Likewise.
8792
8793 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8796 warnings.
8797
8798 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8801
8802 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8805
8806 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8807
8808 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8809 required for checkouts from bzr, but it may be useful for users or
8810 distributors wishing to update translations against a tarball
8811 distribution, and it can be helpful for the tarball to be a superset
8812 of what's in bzr.
8813
8814 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8815
8816 * Makefile.am (EXTRA_DIST): Add
8817 grub-core/tests/boot/linux.init-mips.S,
8818 grub-core/tests/boot/linux.init-ppc.S, and
8819 grub-core/tests/boot/linux-ppc.cfg.
8820
8821 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8822
8823 * grub-core/mmap/mips/loongson: Remove empty directory.
8824
8825 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8826
8827 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8828 gone.
8829
8830 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8831
8832 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8833 grub-sparc64-setup.
8834
8835 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8836
8837 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8838
8839 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8840
8841 * po/POTFILES.in: Regenerated.
8842
8843 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8844
8845 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8846 (NetBSD): New subsection.
8847
8848 2012-07-22 Ales Nesrsta <starous@volny.cz>
8849
8850 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8851 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8852
8853 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8856 * util/grub.d/10_hurd.in: Add missing quoting.
8857 * util/grub.d/10_illumos.in: Likewise.
8858 * util/grub.d/10_kfreebsd.in: Likewise.
8859 * util/grub.d/10_linux.in: Likewise.
8860 * util/grub.d/20_linux_xen.in: Likewise.
8861
8862 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 New command `lsefi'.
8865
8866 * grub-core/Makefile.core.def (lsefi): New module.
8867 * grub-core/commands/efi/lsefi.c: New file.
8868 * include/grub/efi/api.h: Add more GUIDs.
8869
8870 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8873 (grub_bsd_elf32_hook): Likewise.
8874 (grub_bsd_elf64_size_hook): Likewise.
8875 (grub_bsd_elf64_hook): Likewise.
8876 (grub_bsd_load_elf): Likewise.
8877
8878 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8881 if hash function is unavailable.
8882 (dec_stream_header): Likewise.
8883
8884 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8887 filter state.
8888
8889 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 Fix coreboot compilation.
8892
8893 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8894 (grub_vga_text_init_real): ... this.
8895 (grub_vga_text_fini): Rename to ...
8896 (grub_vga_text_fini_real): ... this.
8897
8898 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8901
8902 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/lib/legacy_parse.c: Support clear and testload.
8905
8906 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8909
8910 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8913
8914 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * grub-core/net/tftp.c (ack): Fix endianness problem.
8917 (tftp_receive): Likewise.
8918 Reported by: Michael Davidsaver.
8919
8920 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8923
8924 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8927 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8928 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8929
8930 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8933 efi_mmap_size.
8934 Reported by: Stuart Hayes.
8935
8936 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8939
8940 * grub-core/Makefile.core.def (mda_text): New module.
8941 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8942 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8943 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8944 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8945 here.
8946 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8947 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8948 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8949 here.
8950 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8951 to ..
8952 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8953 ... here
8954 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8955 here.
8956 * grub-core/term/i386/vga_common.c: Removed.
8957 * include/grub/i386/vga_common.h: Likewise.
8958 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8959 (grub_vga_cr_bw_read): Likewise.
8960 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8961 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8962 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8963 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8964 grub_vga_cr_read/grub_vga_cr_write.
8965 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8966
8967 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * configure.ac: Bump version to 2.00.
8970 * grub-core/normal/main.c (features): Add feature_200_final.
8971
8972 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8973 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8974
8975 * NEWS: Fix unclarity and language mistakes.
8976
8977 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8980 additional size to 3 pages.
8981 Reported by: Stuart Hayes.
8982
8983 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * NEWS: Add 2.00 entry.
8986
8987 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8990 put explicit "/" for empty path.
8991 (wildcard_expand): Improve dprintf.
8992
8993 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8996 it's equal to currnode. This can happen with "" symlink.
8997
8998 2012-06-27 Yves Blusseau <blusseau@zetam.org>
8999
9000 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
9001 echo shell command by printf command.
9002
9003 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
9006 the value returned by firmware is the maximal position, not diumension.
9007 (grub_terminfo_output_state): Use a more sane fallback.
9008
9009 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
9012
9013 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
9016 frequency to 150 MHz.
9017
9018 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 Apple fixes.
9021
9022 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
9023 __APPLE_
9024 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
9025 definition.
9026 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
9027
9028 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 Handle slash in HFS label.
9031
9032 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
9033 (grub_hfs_dir): Tanslate slash.
9034 (grub_hfs_label): Don't translate slash.
9035
9036 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
9039 network protocol listing since it introduces problematic dependency on
9040 net module.
9041
9042 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
9045
9046 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 Init video early on yeeloong to avoid being rebooted by watchdog.
9049
9050 * grub-core/Makefile.am (gensm712): New target.
9051 (sm712_start.S): Likewise.
9052 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
9053 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
9054 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
9055 description.
9056 * include/grub/vga.h: Move registry definitions to...
9057 * include/grub/vgaregs.h: ... here.
9058
9059 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
9062 signedness.
9063
9064 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
9067 platforms with firmware disk drivers in the core.
9068
9069 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
9072 informative verbose message.
9073 (read_lv): Handle 64-bit segment size.
9074
9075 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
9078
9079 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
9082 character but still remove trainling spaces.
9083 (grub_fat_label): Ignore archive flag.
9084
9085 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
9088 cast between linux_kernel_header and linux_kernel_params.
9089
9090 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
9093 type for size.
9094 (grub_raid6_recover_func_t): Likewise.
9095 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
9096 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
9097
9098 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
9101
9102 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
9103
9104 Fix overflow.
9105
9106 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
9107 [__NetBSD__]: Add explicit cast before bitshift.
9108
9109 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * configure.ac: Bump to 2.00~rc1.
9112
9113 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
9116 half of $a0.
9117
9118 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9119 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
9120
9121 * docs/grub.texi: Fix search syntax.
9122 (Multi-boot manual config): Put msdos rather than GPT example.
9123 Grammar corrections.
9124
9125 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
9128
9129 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
9132
9133 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
9136 message on double free. Put the value of magic in case of mismatch.
9137
9138 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 Speed-up video on yeeloong.
9141
9142 * grub-core/video/sm712.c (framebuffer): Remove render_target and
9143 add cached_ptr.
9144 (grub_video_sm712_video_fini): Unmap cached_ptr.
9145 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
9146 (grub_video_sm712_set_active_render_target): Removed.
9147 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9148 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
9149 sync caches.
9150
9151 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 Avoid flushing the same line multiple times on loongson.
9154
9155 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
9156 Step in 32 bytes and not 1 byte.
9157 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
9158 Likewise.
9159
9160 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
9163 subvolumes.
9164
9165 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Implement flow control for http.
9168
9169 * grub-core/net/http.c (parse_line): Handle response 206.
9170 (http_receive): Stall if too many packets are in the queue.
9171 (http_establish): Fix range header.
9172 (http_seek): Fix double free.
9173 (http_close): Likewise.
9174 (http_packets_pulled): New function.
9175 (grub_http_protocol): Set http_seek
9176 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
9177 (ack_real): Set window depending on i_stall.
9178 (grub_net_send_tcp_packet): Likewise.
9179 (grub_net_tcp_stall): New function.
9180 (grub_net_tcp_unstall): Likewise.
9181 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
9182 (grub_net_tcp_unstall): Likewise.
9183
9184 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * grub-core/net/tftp.c: Decrease stall to 50 packets.
9187
9188 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
9191
9192 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * tests/util/grub-shell.in: Fix a typo.
9195
9196 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 Implement flow control for tftp.
9199
9200 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
9201 packets but stop only if stop condition is satisfied.
9202 (grub_net_fs_read_real): Call packets_pulled after real read. Use
9203 `stall' instead of `eof' as stop condition.
9204 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
9205 (http_err): Likewise.
9206 * grub-core/net/tftp.c (ack): Replace the first argument with data
9207 instead of socket.
9208 (tftp_receive): Stall if too many packets are in wait queue.
9209 (tftp_packets_pulled): New function.
9210 (grub_tftp_protocol): Set packets_pulled.
9211 * include/grub/net.h (grub_net_packets): New field count.
9212 (grub_net_put_packet): Increment count.
9213 (grub_net_remove_packet): Likewise.
9214 (grub_net_app_protocol): New field `packets_pulled'.
9215 (grub_net): New field `stall'.
9216
9217 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
9220 sync part to handle them.
9221
9222 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
9225 * grub-core/net/drivers/ieee1275/ofnet.c
9226 (grub_ieee1275_net_config_real): Likewise.
9227
9228 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
9231 the direct route for server/gateway.
9232
9233 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
9236 IP address to server name since we may not hame the DNS.
9237
9238 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
9241 freeing random buffer on failure.
9242 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
9243
9244 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
9247
9248 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
9251 reserved bytes.
9252 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
9253 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
9254 Handle malloc error correctly.
9255
9256 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9257
9258 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9259 blocks.
9260
9261 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
9264 increment.
9265
9266 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
9269 none is explicitly specified.
9270
9271 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
9274 while reallocating.
9275
9276 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 Respect netmask from bootp/dhcp.
9279
9280 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
9281 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
9282 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
9283 into ...
9284 (grub_net_add_ipv4_local): ... this.
9285 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
9286 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
9287 (grub_net_add_ipv4_local): New proto.
9288
9289 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
9292 determining EFI memory map size.
9293
9294 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
9297
9298 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
9301 when looking for partition separator.
9302
9303 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9306 Escape commas.
9307
9308 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 Restructure FAT driver to avoid hook in label reading as it hits a
9311 GCC bug.
9312
9313 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
9314 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
9315 (grub_fat_iterate_dir): Split into ...
9316 (grub_fat_iterate_init): ... this, ...
9317 (grub_fat_iterate_fini): ... this, ...
9318 (grub_fat_iterate_dir_next): ... and this. All users updated.
9319
9320 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9323 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
9324 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9325 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
9326 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
9327 New fields last_key and last_key_time.
9328 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
9329 extended key-esc into extended key-extended key.
9330
9331 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 Avoid unnecessary memcpy of whole video buffer.
9334
9335 * grub-core/video/fb/video_fb.c (dirty): New struct.
9336 (framebuffer): Add members current_dirty and previous_dirty.
9337 (dirty): New function.
9338 (grub_video_fb_fill_rect): Update dirty.
9339 (common_blitter): Likewise.
9340 (grub_video_fb_scroll): Likewise.
9341 (doublebuf_blit_update_screen): Copy only dirty part.
9342 (doublebuf_pageflipping_update_screen): Likewise.
9343 (grub_video_fb_doublebuf_blit_init): Init dirty.
9344 (doublebuf_pageflipping_init): Likewise.
9345 (grub_video_fb_setup): Likewise.
9346
9347 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
9350 poll rate.
9351
9352 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 Fix wildcard regexp dot and other special characters handling.
9355 Reported by: Robert Mabee.
9356
9357 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9358 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9359 (split_path): Trigger expansion on '?'.
9360 (unescape): New function.
9361 (wildcard_expand): Unescape parts copied without globbing.
9362 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9363 (grub_script_arglist_to_argv): Don't unescape expansions.
9364
9365 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * include/grub/net.h (grub_net_card): New member txbufsize.
9368 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9369 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9370 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9371 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9372 txbufsize.
9373 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9374 compatible property to check for macs. Set
9375 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9376 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9377 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9378 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9379 (send_card_buffer): Use txbuf.
9380 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9381 nested function out of the parent while on it.
9382
9383 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9386 presence check.
9387 (grub_ieee1275_net_config_real): Fix config pointer.
9388
9389 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9392 filename parsing to non-block devices.
9393
9394 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9397
9398 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9401 All users updated.
9402
9403 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9406 UUID search command even if hints probing failed.
9407
9408 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * po/POTFILES.in: Regenerated.
9411
9412 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 Speed-up video on fuloong.
9415
9416 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9417 New function.
9418 (grub_pci_device_unmap_range): Handle non-cached address.
9419 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9420 add direct_ptr.
9421 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9422 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9423 (grub_video_sis315pro_set_active_render_target): Removed.
9424 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9425 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9426 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9427 sync caches.
9428 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9429 New proto.
9430
9431 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * docs/grub.texi (Multi-boot manual config): New section.
9434
9435 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 Avoid slow read-back from VRAM.
9438
9439 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9440 Move from here ...
9441 * grub-core/video/fb/video_fb.c
9442 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9443 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9444 (front_target): Remove front_target. Add pages.
9445 (grub_video_fb_init): Skip setting front_pages.
9446 (grub_video_fb_fini): Likewise.
9447 (doublebuf_blit_update_screen): Use pages.
9448 (grub_video_fb_doublebuf_blit_init): Likewise.
9449 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9450 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9451 (grub_video_fb_setup): Prefer doublebuffing.
9452
9453 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9456 gzio.
9457
9458 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 Add loongson tests.
9461
9462 * tests/util/grub-shell.in: Handle loongson.
9463 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9464 drivers.
9465 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9466 Reboot instead of shutdown if REBOOT is defined.
9467
9468 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9471 sized ports since unlike on real hardware qemu supports only 32-bit
9472 regs.
9473
9474 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9477 * util/grub-mkrescue.in: Handle loongson.
9478
9479 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9482 Set is_part appropriately.
9483 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9484 names. Canonicalize partition without full disk.
9485
9486 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 Revert usb-quiesce since it's wrong.
9489
9490 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9491 (grub_ofdisk_init): Don't do quiesce.
9492
9493 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9496 PowerMac workaround to Xserves as well.
9497 Information supplied by: Benjamin Herrenschmidt.
9498
9499 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 Don't assume that beginning address is also the entry point on ppc.
9502
9503 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9504 (grub_linux_boot): Use linux_entry.
9505 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9506 (grub_linux_load64): Likewise.
9507
9508 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9511
9512 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9515 needlessly lose the console.
9516
9517 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9520 space.
9521
9522 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9525 than current grub_get_rtc() not implemented when booted with
9526 coreboot without TSC.
9527
9528 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9529 Add machine/time.h to kernel headers on loongson.
9530 * grub-core/Makefile.core.def (kernel): Remove
9531 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9532 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9533 (grub_get_rtc): Likewise.
9534 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9535 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9536 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9537 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9538 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9539 rather than installing known non-working time source.
9540 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9541 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9542 * include/grub/time.h: Don't include machine/time.h.
9543 * include/grub/efi/time.h: Removed.
9544 * include/grub/i386/efi/time.h: Likewise.
9545 * include/grub/i386/ieee1275/time.h: Likewise.
9546 * include/grub/powerpc/ieee1275/time.h: Likewise.
9547 * include/grub/sparc64/ieee1275/time.h: Likewise.
9548 * include/grub/x86_64/efi/time.h: Likewise.
9549
9550 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 Remove dot on i and j when combining with above diacritics.
9553
9554 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9555 value.
9556 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9557 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9558 with dotless variants when any combining above is present.
9559
9560 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9563 text and not binary.
9564
9565 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 Stop polling as soon as we have the packet we were waiting for.
9568
9569 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9570 All users updated.
9571 * grub-core/net/arp.c (have_pending): New var.
9572 (pending_req): Likewise.
9573 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9574 stop indicator.
9575 (grub_net_arp_receive): Set have_pending.
9576 * grub-core/net/dns.c (recv_data): New field stop.
9577 (recv_hook): Set stop.
9578 (grub_net_dns_lookup): Init stop and use as stop condition.
9579 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9580 condition.
9581 * grub-core/net/net.c (grub_net_poll_cards): New argument
9582 stop_condition. Stop when it goes true.
9583 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9584 indicator.
9585 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9586
9587 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 Keep TX and RX buffers on EFI rather than always allocate new ones.
9590
9591 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9592 card. All users updated.
9593 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9594 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9595 (get_card_packet): Likewise.
9596 (grub_efinet_findcards): Init new fields.
9597
9598 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9601 compilation error on sparc64.
9602
9603 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 Use ITC on IA64 rather than broken routine based on daytime.
9606
9607 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9608 ia64.
9609 (grub_get_rtc) [__ia64__]: Likewise.
9610 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9611 (get_itc): New function.
9612 (grub_rtc_get_time_ms): Likewise.
9613 (grub_machine_init): Calibrate ITC.
9614 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9615 Keep only on non-ia64. Don't export since it's broken and used only
9616 if TSC is unavailable.
9617
9618 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9621 even if it's used.
9622 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9623 Skip if parent is unused.
9624
9625 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9628
9629 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 Fix wildcard escaping.
9632
9633 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9634 * grub-core/script/execute.c (wildcard_escape): .. to here.
9635 Don't escape dot.
9636 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9637 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9638 Don't escape dot.
9639 * grub-core/script/execute.c (gettext_append): Always escape.
9640 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9641 * grub-core/script/yylex.l: Don't cut away the escaping.
9642 * tests/grub_script_echo1.in: Add tests with wildcard.
9643
9644 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9647 (ftdi_hw_configure): Likewise.
9648 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9649 define.
9650 (real_config): Handle 1.5 stop bits.
9651 (pl2303_hw_configure): Likewise.
9652
9653 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * Makefile.am: Add ppc linux bootcheck.
9656 * grub-core/tests/boot/linux-ppc.cfg: New file.
9657 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9658
9659 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * tests/grub_script_expansion.in: Skip network protocols.
9662
9663 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9666
9667 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9670 --rom-directory.
9671 Add -graft-points.
9672
9673 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 ESCC serial driver for conducting sautomated tests in qemu.
9676 Not tested on real hardware.
9677
9678 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9679 * grub-core/term/ieee1275/escc.c: New file.
9680 * grub-core/Makefile.core.def (escc): New module.
9681
9682 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9685 invalid on error.
9686 (serial_hw_fetch): Don't read invalid handle.
9687 (serial_hw_put): Don't write into invalid handle.
9688
9689 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 Add a 1.5 stop bits value.
9692
9693 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9694 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9695 GRUB_SERIAL_STOP_BITS_1_5.
9696
9697 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9700 value rather than let it uninited.
9701
9702 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 * grub-core/commands/wildcard.c (+check_file): New function.
9705 (wildcard_expand): Don't expand to non-existing files, expand with
9706 suffix and not attempt to expand if not needed.
9707
9708 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9711 out of partitions containing other partitions.
9712
9713 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9716 on some qemu versions with GRUB.
9717
9718 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9719 define.
9720 (grub_openbsd_bootarg_pcibios): New struct.
9721 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9722 Add PCIINFO.
9723
9724 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * tests/util/grub-shell.in: Trim firmware output on EFI.
9727
9728 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9731 and coreboot since it's already in kernel.
9732
9733 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9736 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9737 to here. New return value start. All users updated.
9738 Recursively scan linear mappings.
9739 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9740 proto.
9741 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9742 Use grub_util_get_dm_node_linear_info.
9743 * util/getroot.c (convert_system_partition_to_system_disk): Use
9744 grub_util_info rather than grub_dprintf.
9745 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9746
9747 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9750
9751 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9752 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9753
9754 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * include/grub/types.h (grub_set_unaligned64): New function.
9757 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9758 (setup): Likewise.
9759
9760 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9763 (grub_ofdisk_fini): Quiesce USB devices.
9764
9765 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9768 caches.
9769
9770 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9773
9774 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/disk/pata.c (grub_pata_pio_read)
9777 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9778 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9779
9780 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 Extend automated tests to qemu-mips.
9783
9784 * Makefile.am: reorganise tests and enable qemu-mips.
9785 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9786 * grub-core/tests/boot/linux.init-mips.S: New file.
9787 * tests/partmap_test.in: Handle ata0 disks.
9788 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9789 non-pc i386.
9790
9791 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9794 ia64.
9795 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9796 quotes while on it.
9797
9798 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9801 (grub_halt): Likewise.
9802 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9803
9804 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * grub-core/term/serial.c (grub_serial_register)
9807 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9808 the behaviour in line with x86 platforms.
9809
9810 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9813 (grub_ata_strncpy): Likewise.
9814 (grub_ata_identify): Add missing byteswaps.
9815
9816 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9819 byte-swap.
9820 (screen_read_char): Likewise.
9821 (grub_vga_text_cls): Likewise.
9822
9823 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9826 filenames.
9827 (make_file_path): Likewise.
9828
9829 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9832 machines.
9833 Tested by: Paulo Flabiano Smorigo.
9834 Crucial information about API supplied by: Coleen <Last name unknown>.
9835 Reviewed by: Coleen <Last name unknown>.
9836
9837 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 * util/grub-mkimage.c: Disable -Wcast-align.
9840
9841 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9844 as they are fatal.
9845
9846 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9849
9850 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * util/grub-probe.c (escape_of_path): Fix double free.
9853
9854 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9855
9856 * grub-core/commands/videoinfo.c (hook): Show pitch.
9857
9858 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9861
9862 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9865 (probe): Add ieee1275 to OFW devices.
9866
9867 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9870
9871 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 Handle IBM OFW path.
9874
9875 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9876 available.
9877 (of_path_of_scsi): Handle vdevice.
9878
9879 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9882 Allocate in multiples of 16 to avoid adding a few bytes free region the
9883 windows bugs upon.
9884
9885 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9888 Allocate in multiples of 16 to avoid adding a few bytes free region the
9889 windows bugs upon.
9890 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9891
9892 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9895 resolutions.
9896 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9897 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9898
9899 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9900
9901 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9902
9903 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9906 resulted in \\ at the end of the line.
9907
9908 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9911 (grub_parser_cmdline_state): Likewise.
9912 (grub_parser_split_cmdline): Likewise.
9913
9914 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9917 /dev/root and /dev/dm-*.
9918
9919 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9922 fix partially stale display.
9923
9924 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9927 substraction.
9928
9929 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9932 Fix MBR remapping workaround.
9933 (grub_util_biosdisk_read) [__linux__]: Likewise.
9934
9935 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9938
9939 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * configure.ac: Bump to beta6.
9942
9943 2012-05-31 Christer Weinigel <christer@weinigel.se>
9944
9945 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9946
9947 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9950 (grub_cmd_linux): Likewise.
9951
9952 2012-05-31 Christer Weinigel <christer@weinigel.se>
9953
9954 Fix EHCI low-speed.
9955
9956 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9957 (GRUB_EHCI_MULT_TWO): Likewise.
9958 (GRUB_EHCI_MULT_THREE): Likewise.
9959 (GRUB_EHCI_CMASK_MASK): New enum value.
9960 (GRUB_EHCI_SMASK_MASK): Likewise.
9961 (GRUB_EHCI_CMASK_OFF): Likewise.
9962 (GRUB_EHCI_SMASK_OFF): Likewise.
9963 (grub_ehci_pci_iter): Enable periodic schedule.
9964 (grub_ehci_parse_notrun): Likewise.
9965 (grub_ehci_restore_hw): Likewise.
9966 (grub_ehci_setup_qh): Set flags for low speed transfers.
9967 (grub_ehci_find_qh): Use periodic list for low speed.
9968 (grub_ehci_setup_transfer): Check periodic queue as well.
9969 (grub_ehci_check_transfer): Likewise.
9970 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9971
9972 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9973
9974 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9975 parameter is used.
9976
9977 2012-05-31 Peter Jones <pjones@redhat.com>
9978
9979 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9980 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9981 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9982
9983 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9986 uninited variable. Allocate at least setup_sects.
9987
9988 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 Fix handling of EFI with big memory maps.
9991
9992 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9993 (real_mode_mem): Likewise.
9994 (real_mode_target): Likewise.
9995 (real_mode_pages): Likewise.
9996 (prot_mode_pages): Likewise.
9997 (linux_params): New var.
9998 (linux_cmdline): Likewise.
9999 (free_pages): Don't set real mode variables.
10000 (allocate_pages): Don't allocate real mode memory.
10001 (grub_e820_add_region): Remove the limit.
10002 (grub_linux_boot): Allocate and copy real mode memory.
10003 (grub_linux_unload): Free linux_cmdline.
10004 (grub_cmd_linux): Use temporary storage for parameters.
10005 (grub_cmd_initrd): Likewise.
10006 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
10007 (linux_kernel_params): Make it 1K big.
10008
10009 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * Makefile.util.def: Remove -Wno-format.
10012 * grub-core/Makefile.core.def: Likewise.
10013
10014 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * tests/cmp_unit_test.c: Add missing failure message.
10017 * tests/example_unit_test.c: Likewise.
10018 * tests/printf_unit_test.c: Likewise.
10019
10020 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
10023 relaxation of protective MBR requirements.
10024
10025 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 * configure.ac: Add condition for COND_HOST_XNU.
10028 * Makefile.util.def (10_xnu): New script.
10029 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
10030
10031 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
10034 objconv bug.
10035
10036 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
10039 Binary on other platforms stays identical.
10040
10041 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
10044 Apple.
10045
10046 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
10049
10050 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
10053 rather than defining size_t ourselves to avoid conflict.
10054
10055 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
10058 initialisation to avoid __bzero reference.
10059
10060 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
10063 version.
10064 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
10065 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
10066 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
10067 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
10068 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
10069
10070 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
10073 * grub-core/kern/misc.c: Likewise.
10074 * grub-core/loader/i386/xnu.c: Likewise.
10075 * include/grub/i386/tsc.h: Likewise.
10076 * include/grub/symbol.h: Likewise.
10077
10078 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
10081 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
10082 on older compiler.
10083
10084 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
10087 Implement Apple flavour.
10088 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
10089
10090 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
10093 (memmove) [__APPLE__]: Likewise.
10094 (memcpy) [__APPLE__]: Likewise.
10095 (memset) [__APPLE__]: Likewise.
10096 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
10097 (memmove) [__APPLE__]: Likewise.
10098 (memcpy) [__APPLE__]: Likewise.
10099 (memset) [__APPLE__]: Likewise.
10100
10101 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
10104 dependency discard.
10105
10106 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/normal/main.c (read_config_file): Provide config_file and
10109 config_directory.
10110 * util/grub.d/41_custom.in: Use config_directoy when available.
10111
10112 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
10115 (grub_bfs_dir): Likewise.
10116
10117 2012-05-27 Peter Jones <pjones@redhat.com>
10118
10119 The old code gives arguments to a printf function which can't work
10120 correctly, and the compiler complains.
10121
10122 * grub-core/tests/example_functional_test.c (example_test): Add
10123 missing text.
10124 * grub-core/tests/lib/test.c (add_failure): Rewrite.
10125 * include/grub/test.h (grub_test_assert_helper): New declaration.
10126 (grub_test_assert): Use grub_test_assert_helper.
10127
10128 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
10131 (exfctest): ... this to avoid overlong filenames.
10132 All users updated.
10133
10134 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 Handle "." and ".." on squashfs.
10137
10138 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
10139 Make inode numbers into stack.
10140 (grub_squash_read_symlink): Use stack.
10141 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
10142 (make_root_node): Fill stack.
10143 (grub_squash_open): Use stack.
10144
10145 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
10148 freeing.
10149
10150 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
10153 stderr on test calls.
10154
10155 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
10158
10159 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
10162
10163 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
10166 "..".
10167
10168 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
10171 (grub_hfsplus_iterate_dir): Add "." and "..".
10172
10173 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * grub-core/fs/cpio.c (canonicalize): Handle "..".
10176 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
10177
10178 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
10181 (find_path): Handle "." and "..".
10182
10183 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
10186 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
10187 (grub_affs_iterate_dir): Handle hardlinks.
10188
10189 2012-05-26 Matthew Garrett <mjg@redhat.com>
10190
10191 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
10192 (grub_efi_console_fini): Likewise.
10193 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
10194 (grub_video_gop_fill_mode_info): Rename to ...
10195 (grub_video_gop_fill_real_mode_info): ... this.
10196 (grub_video_gop_fill_mode_info): New function.
10197 (grub_video_gop_setup): Setup double framebuffer.
10198 (grub_video_gop_get_info_and_fini): Use original framebuffer.
10199 Free offscreen.
10200 (grub_video_gop_swap_buffers): Copy framebuffer.
10201 (grub_video_gop_fini): Free offscreen buffer.
10202 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
10203 New enum.
10204 (grub_efi_gop_blt_pixel): New struct.
10205
10206 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * gentpl.py: Remove error disabling for objconv.
10209
10210 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * configure.ac: Remove -Wunitialized as it's not available on older
10213 compilers.
10214
10215 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 Fix extent overflow comparator.
10218
10219 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
10220 (grub_hfsplus_read_block): Set type.
10221 (grub_hfsplus_cmp_extkey): Compare type.
10222
10223 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
10226
10227 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
10230 than 0.
10231
10232 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
10235 (dejavu_bold_14.pf2): New target.
10236
10237 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * configure.ac: Fix djvu font detection.
10240
10241 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
10244 ext* instead of ext2.
10245
10246 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
10249 name with \0.
10250
10251 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
10252
10253 * docs/grub-dev.texi: Remove dot from .png.
10254
10255 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
10258 protective entry in any slot.
10259 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
10260 if protective entry is found in any slot.
10261
10262 Protective entry in non-first slot make no sense but is a widespread
10263 brain damage.
10264
10265 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
10268
10269 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
10272 with old reiserfs.
10273 (grub_reiserfs_open): Don't free root.
10274
10275 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
10278 after freeing for safety.
10279
10280 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
10283 Reported by: Jordan Uggla.
10284
10285 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
10286
10287 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
10288 actual implementation. Specifically, clarify that the grub menu will
10289 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
10290 passed.
10291
10292 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
10293
10294 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
10295 of r0.
10296
10297 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 Remove unjustified hard dependency of normal.mod on gfxterm.
10300
10301 * include/grub/term.h (grub_term_output): New member fullscreen.
10302 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
10303 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
10304 (grub_gfxterm): Set .fullscreen.
10305 * grub-core/normal/menu.c (menu_init): Use fullscreen.
10306 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
10307
10308 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
10311 mentioning possible problems with non-ASCII (non-compliant) ISOs.
10312 Mention case-insensitive AFFS, SFS and JFS.
10313
10314 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
10317
10318 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10321 a bad FS.
10322
10323 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
10326 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
10327
10328 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
10331 (grub_jfs_mount): Fill caseins.
10332 (grub_jfs_find_file): Respect caseins.
10333
10334 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
10337 through UTF-16.
10338
10339 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
10342 New argument origpath. All users updated.
10343
10344 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
10347 (read_attr): Ensure that we read start of possibly compressed block.
10348
10349 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
10352 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
10353 All users updated.
10354
10355 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10358 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10359 (dejavu.pf2): Replace with ...
10360 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10361 this.
10362
10363 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * util/grub.d/20_linux_xen.in: Add missing line.
10366
10367 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10370 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10371 (grub_utf16_to_utf8): Likewise.
10372
10373 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10376 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10377 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10378 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10379 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10380 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10381
10382 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10385 a bad FS.
10386
10387 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10390 (grub_udf_read_symlink): Handle read_string failure.
10391
10392 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10395 comment.
10396
10397 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 Fix handling of UDF symlinks.
10400
10401 * grub-core/fs/udf.c (read_string): New argument outbuf.
10402 All users updated.
10403 (grub_ufs_read_symlink): Rename to ...
10404 (grub_udf_read_symlink): ... this. All users updated.
10405 Handle symlinks with more than one component.
10406
10407 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10410 symlinks. Replace leading colon with a slash.
10411
10412 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10415 filename.
10416
10417 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10420 match in inner node.
10421
10422 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10425 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10426 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10427 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10428 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10429 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10430 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10431 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10432 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10433
10434 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 Use grub-probe and not cmp to check that disk is empty.
10437
10438 * util/grub-install.in: Use grub-probe for zero-check.
10439 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10440 (probe): Handle PRINT_ZERO_CHECK.
10441 (argp_parser): Handle -t zero_check.
10442
10443 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 Flush block cache on adding disk to device map.
10446
10447 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10448 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10449 adding.
10450 (read_device_map): Likewise.
10451 (open_device): Flush on opening.
10452
10453 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10456 (handle_symlink): Fix off-by-one error.
10457 Canonicalize the target.
10458 (grub_cpio_dir): Canonicalize the name.
10459 Fix memory leak.
10460 Set directory.
10461 (grub_cpio_open): Canonicalize the name.
10462
10463 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10466 handling.
10467
10468 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10471 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10472
10473 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10476 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
10477 All users updated.
10478
10479 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10482 counterpart.
10483
10484 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 Fix UFS1 big file support.
10487
10488 * grub-core/fs/ufs.c (INODE): Removed.
10489 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10490 64-bit.
10491 (INODE_MODE): Simplify.
10492 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10493 (grub_ufs_lookup_symlink): Don't use INODE.
10494
10495 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10498
10499 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10500 (grub_minix_data): Replace log_block_size with block_size.
10501 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10502 (grub_minix_mount): Fill block_size.
10503
10504 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * configure.ac: Bump to beta5.
10507
10508 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 Fix wrapped HFS+ handling.
10511
10512 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10513 blocks_start. All users updated.
10514 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10515 wrapping offset.
10516 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10517
10518 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 Fix long symlinks on reiserfs.
10521
10522 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10523 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10524 (grub_reiserfs_iterate_dir): Save size for non-directories.
10525 (grub_reiserfs_open): Don't reread stat block as we already know the
10526 size.
10527 (grub_reiserfs_read): Split into...
10528 (grub_reiserfs_read_real): ... and ...
10529 (grub_reiserfs_read): ...this.
10530
10531 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 Fix non-indexed JFS.
10534
10535 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10536 (grub_jfs_data): New field namecomponentlen.
10537 (grub_jfs_mount): Fill namecomponentlen.
10538 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10539
10540 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10543 * tests/grub_script_echo1.in: Add tests.
10544
10545 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * util/grub-install.in: Ignore empty devicetree directory.
10548
10549 2012-05-08 Bean <bean123ch@gmail.com>
10550
10551 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10552 All users updated.
10553 (free_rsm): Free header as well.
10554 (free_old_fragments): Fix memory leak.
10555 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10556 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10557 (destroy_pq): Likewise.
10558 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10559
10560 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10563 resulting hash as a precaution.
10564
10565 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10568 '_' in variable names.
10569 * grub-core/net/net.c (grub_net_network_level_interface_register):
10570 Likewise.
10571
10572 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 Fix AFFS with non-512B blocks.
10575
10576 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10577 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10578 (grub_affs_data): Replace blocksize with log_blocksize.
10579 (grub_affs_read_block): Fix non-512B blocks.
10580 (grub_affs_read_symlink): Likewise.
10581 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10582 (grub_affs_read): Fix non-512B blocks.
10583 (grub_affs_label): Likewise.
10584 (grub_affs_mtime): Likewise.
10585 (grub_affs_mount): Fix block detection routine.
10586
10587 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 Add filesystem mtime to AFFS.
10590
10591 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10592 (aftime2ctime): New function.
10593 (grub_affs_dir): Use aftime2ctime.
10594 (grub_affs_label): Fix return value.
10595 (grub_affs_mtime): New function.
10596 (grub_affs_fs): Add mtime.
10597
10598 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10601 UTF-8.
10602
10603 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10606 UTF-8.
10607
10608 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10611
10612 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10615 flags.
10616 (FLAGS_CASE_SENSITIVE): New enum value.
10617 (cache_entry): New struct.
10618 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10619 cache_size and cache.
10620 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10621 Add log_blocksize and fshelp_flags.
10622 (grub_sfs_read_extent): Handle non-512 blocks.
10623 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10624 (grub_sfs_read_file): Handle non-512 blocks.
10625 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10626 fshelp_flags.
10627 (grub_sfs_read_symlink): Handle non-512 blocks.
10628 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10629 (grub_sfs_dir): Free cache.
10630 (grub_sfs_close): Likewise.
10631
10632 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10635 filesystems.
10636
10637 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10640
10641 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10644
10645 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10648 (grub_sfs_read_extent): Likewise.
10649 (grub_sfs_read_block): Likewise.
10650 (grub_sfs_mount): Likewise.
10651 (grub_sfs_iterate_dir): Likewise.
10652 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10653 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10654
10655 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 Fix errors on compressed NTFS with 512B clusters.
10658
10659 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10660 types.
10661 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10662 not 0.
10663 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10664 Relax check for inline extents.
10665 (ntfscomp): Return correct -1 on error and not 0.
10666
10667 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * util/grub-install.in: Fix handling of prefix containing spaces.
10670
10671 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10674 (grub_squash_read_data): Fix offset byte-swapping.
10675
10676 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10679 per common usage and preffered in several parts of code.
10680 (grub_memcmp): Likewise.
10681 (grub_strncmp): Likewise.
10682 * include/grub/misc.h (grub_strcasecmp): Likewise.
10683 (grub_strncasecmp): Likewise.
10684 * Makefile.util.def (cmp_test): New test.
10685 (grub_script_strcmp): Likewise.
10686 * tests/cmp_unit_test.c: New file.
10687 * tests/grub_script_strcmp.in: Likewise.
10688 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10689
10690 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * include/grub/pci.h: Move enums into no-asm part.
10693
10694 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10697
10698 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10699
10700 * util/getroot.c (find_hurd_root_device): Try to make error message
10701 and comments to translators clearer.
10702
10703 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10706
10707 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10710 btrfs.
10711
10712 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * docs/grub.cfg: Update.
10715
10716 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * docs/grub.texi (PXE): Remove not present variables.
10719
10720 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * grub-core/net/net.c (defserver_set_env): New function.
10723 (defserver_get_env): Likewise.
10724 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10725
10726 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10729 entries.
10730
10731 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10734 * grub-core/kern/emu/hostdisk.c: Likewise.
10735
10736 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10737
10738 Handle hurd userspace partitions.
10739
10740 * util/getroot.c (find_hurd_root_device): New function.
10741 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10742
10743 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10746 names.
10747 Reported by: Bastian Blank.
10748
10749 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10752 crossing page boundary.
10753
10754 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 Fix B-tree search in BFS, especially in presence of non-ASCII
10757 characters.
10758
10759 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10760 (find_in_b_tree): Use standard bsearch + btree algorithm.
10761
10762 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10765 and so on.
10766
10767 2012-05-03 Matthew Garrett <mjg@redhat.com>
10768 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 Suspend broadcom cards in order to stop their DMA.
10771
10772 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10773 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10774 (pci): Don't build on x86 EFI.
10775 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10776 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10777 New function.
10778 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10779 stop_broadcom if running on EFI.
10780 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10781 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10782 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10783 (grub_pci_find_capability): New proto.
10784
10785 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * docs/grub.texi: Remove dot from the extension as it apparently
10788 doesn't work with some makeinfo versions.
10789
10790 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10793 with GRUB expectance.
10794
10795 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10798
10799 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10802 zero after directory block since last entry may be not 0-terminated if
10803 it ends on block boundary. Use continue instead of if spanning whole
10804 loop.
10805
10806 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 Support 4K sectors UDF inline files.
10809
10810 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10811 (grub_udf_extended_file_entry): Likewise.
10812 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10813 All users updated.
10814 (get_fshelp_size): New function.
10815 (grub_udf_read_icb): Read whole block.
10816 (grub_udf_iterate_dir): Likewise.
10817 (grub_udf_dir): Likewise.
10818 (grub_udf_open): Likewise.
10819
10820 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10823
10824 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10827 inline symlinks in addition to workaround.
10828
10829 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10832
10833 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10836
10837 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10840
10841 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Fix reiserfs big seek times.
10844
10845 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10846 exact. All users updated.
10847 (grub_reiserfs_read): Use nearest btree search for seeking.
10848 Fix return value on error.
10849
10850 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10853 entries.
10854 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10855 * docs/grub.texi: Update menuentry description.
10856
10857 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10860 crash when embedding onto filesystem.
10861
10862 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10865 name.
10866
10867 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10870
10871 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10874 commit.
10875
10876 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10877 2012-05-01 Bean <bean123ch@gmail.com>
10878
10879 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10880
10881 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10884 Special behaviour for len = 0 to read whole file isn't used anywhere and
10885 can cause buffer ovewrflows in several places.
10886
10887 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10890
10891 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 Handle RAIDZ on non-512B sectors.
10894
10895 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10896 max_children_ashift.
10897 (fill_vdev_info_real): Fill max_children_ashift.
10898 (read_device): Use max_children_ashift.
10899
10900 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10903
10904 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10907 disk names.
10908 * docs/grub.texi: Update device.map parts.
10909
10910 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 Don't scan into non-diskfilter devices having diskfilter names.
10913
10914 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10915 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10916 handling.
10917 (scan_disk_hook): New function.
10918
10919 2012-04-29 Bean <bean123ch@gmail.com>
10920
10921 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10922 allocation.
10923
10924 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10925
10926 * configure.ac: Detect starfield theme font path
10927 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10928
10929 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10932 geometry on serial consoles.
10933
10934 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10937 because of network consoles.
10938
10939 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10942 handling.
10943
10944 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10947 falls on Q syndrom.
10948
10949 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10952 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10953
10954 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10957 Allocate at lest 8192 for temporary buffer as required for lzo.
10958
10959 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10962 to cluster_bits, since it's already added in.
10963 (grub_fat_read_data): Likewise.
10964
10965 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10968 as long as cluster size is multiple of 512 bytes.
10969
10970 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 * util/grub-mkrescue.in: Fix locale directory.
10973
10974 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/kern/emu/hostdisk.c (map): Make static.
10977
10978 2012-04-23 Bean <bean123ch@gmail.com>
10979
10980 * util/grub-fstest.c (fstest): Add missing break.
10981
10982 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10983
10984 Fix hurd build.
10985
10986 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10987 not define nr variable.
10988 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10989 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10990 grub_find_device): Do not define.
10991
10992 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 Fix kfreebsd compile and behaviour.
10995
10996 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10997 format-security.
10998 * util/getroot.c: Fix wait.h include.
10999 (grub_guess_root_devices): Error if grub_find_device fails.
11000 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
11001 (grub_util_get_dev_abstraction): Likewise.
11002 (grub_util_pull_device): Likewise.
11003 (grub_util_get_grub_dev): Likewise.
11004 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
11005
11006 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 Fix and unify wholedisk detection.
11009
11010 * util/getroot.c (convert_system_partition_to_system_disk): New argument
11011 is_part. All users updated.
11012 (device_is_wholedisk): Removed.
11013 (grub_util_biosdisk_get_grub_dev): Use is_part.
11014
11015 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
11018 mode.
11019
11020 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * configure.ac: Bump to beta4.
11023
11024 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
11027 --fs-uuid --set UUID syntax.
11028
11029 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
11032 disunification.
11033
11034 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
11037
11038 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
11039
11040 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
11041
11042 2012-04-18 Mike Gilbert <floppym@gentoo.org>
11043
11044 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
11045
11046 2012-04-18 Bean <bean123ch@gmail.com>
11047
11048 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
11049 place.
11050
11051 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
11054 users updated.
11055 (grub_util_biosdisk_read): Handle Linux partitions not exactly
11056 corresponding to GRUB partitions.
11057 (grub_util_biosdisk_write): Likewise.
11058
11059 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 Scan mdraid before LVM.
11062
11063 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
11064 (grub_diskfilter_register_front): ... this.
11065 (grub_diskfilter_register_back): New function.
11066 All users of grub_diskfilter_register updated.
11067
11068 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * util/grub-install.in: Fix an automatic target detection bug.
11071
11072 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * util/grub-install.in: New option --efi-directory.
11075
11076 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
11079 boot services if we have no other choice.
11080
11081 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * util/grub-mknetdir.in: Rename --override-directory to --directory and
11084 document it.
11085 * tests/util/grub-shell.in: Update to --directory.
11086
11087 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
11088
11089 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
11090
11091 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
11094 (grub_minix_read_file): Likewise.
11095 (grub_minix_read_inode): Likewise.
11096 (grub_minix_find_file): Likewise.
11097 (grub_minix_dir): Likewise.
11098
11099 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * util/grub-setup.c (setup): Fix partition handling and blocklist
11102 check.
11103
11104 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
11107 redundant buggy overlap check.
11108
11109 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
11112 and grub-mknetdir.
11113
11114 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
11117 kh.loadflags on pre-2.00 kernels.
11118
11119 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 Terminate UNDI and PXE before launching the payload to avoid problems
11122 with DMA.
11123
11124 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
11125 (grub_loader_flags): ... this. All users updated.
11126 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
11127 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
11128 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
11129 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
11130 function.
11131 (grub_pxe_restore): Likewise.
11132 (fini_hnd): New var.
11133 (GRUB_MOD_INIT): Register shutdown hook.
11134 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
11135 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
11136 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
11137 (grub_loader_set): Rename second argument to flags.
11138
11139 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11140
11141 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
11142 written bytes.
11143 (grub_get_num_of_utf8_bytes): New function.
11144 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
11145 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
11146 executing it.
11147 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
11148 (grub_ucs4_to_utf8): Change return type.
11149
11150 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
11153 warning.
11154 * grub-core/fs/bfs.c (hop_level): Likewise.
11155 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
11156
11157 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * grub-core/lib/adler32.c: Recode due to license unclearness.
11160
11161 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
11164 (test_header): Likewise.
11165
11166 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 Fix --help formatting.
11169
11170 * util/grub-mkconfig_lib.in (print_option_help): New function.
11171 (grub_fmt): Likewise.
11172 * util/grub-install.in: Use print_option_help and grub_fmt.
11173 * util/grub-kbdcomp.in: Likewise.
11174 * util/grub-mkconfig.in: Likewise.
11175 * util/grub-mknetdir.in: Likewise.
11176 * util/grub-mkrescue.in: Likewise.
11177 * util/grub-mkstandalone.in: Likewise.
11178 * util/grub-reboot.in: Likewise.
11179 * util/grub-set-default.in: Likewise.
11180 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11181
11182 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 * linguas.sh: Remove autogenerated *.po.
11185
11186 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11187
11188 * po/README: Move language fetcing to ...
11189 * linguas.sh: ... here.
11190 * po/README: Point to linguas.sh.
11191
11192 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * po/README: Exclude ko.po due to disclaimer problems.
11195
11196 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
11199 len = 0.
11200 (grub_gettext_translate_real): Handle 0th string.
11201 (grub_gettext_translate): Ensure that "" isn't translated.
11202
11203 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
11206 TRANSLATORS comment.
11207 (grub_diskfilter_print_partmap): Propagate changing of error into
11208 warning.
11209
11210 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
11213 to uint64_t to prevent overflow.
11214 (grub_diskfilter_lv): Increase start_extent and extent_count
11215 to uint64_t to prevent overflow.
11216
11217 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * configure.ac: Increase version.
11220
11221 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
11224
11225 * po/Rules-translit: New file.
11226 * po/arabic.sed: Likewise.
11227 * po/cyrillic.sed: Likewise.
11228 * po/greek.sed: Likewise.
11229 * po/hebrew.sed: Likewise.
11230 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
11231 * po/Makefile.in.in: Add extra_dist4.
11232
11233 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 Handle big-endian minixfs (fixes minixfs tests on bigendian).
11236
11237 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
11238 modify names. Introduce MODE_BIGENDIAN.
11239 * grub-core/fs/minix_be.c: New file.
11240 * grub-core/fs/minix2_be.c: Likewise
11241 * grub-core/fs/minix3_be.c: Likewise.
11242 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
11243 minix3_be.
11244 * grub-core/Makefile.core.def (minix_be): New module.
11245 (minix2_be): Likewise.
11246 (minix3_be): Likewise.
11247
11248 2012-04-01 Felix <email@hamburg.de>
11249
11250 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
11251 (devs): Add MBP 2011.
11252
11253 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
11256
11257 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * grub-core/normal/cmdline.c (print_completion): New field
11260 prompt_len.
11261 (grub_cmdline_get): Handle width properly.
11262
11263 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * grub-core/commands/lsacpi.c (options): Add missing terminator.
11266
11267 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
11270 after 29th of February.
11271
11272 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 Fix exfat endianness handling.
11275
11276 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
11277 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
11278 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
11279 Byte-swap utf16 when necessary.
11280 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
11281
11282 2012-03-31 Anton Blanchard <anton@samba.org>
11283 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 Fix btrfs endianness handling.
11286
11287 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
11288 (lower_bound): Make root uint64_t. Use root in le.
11289 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
11290 (find_path): Fix template key init.
11291 (grub_btrfs_dir): Fix mtime byteswap.
11292 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
11293
11294 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
11297 recursion_depth. Break infinite resursions. All users updated.
11298
11299 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
11302 after free.
11303 Reported by: Peter Jones.
11304
11305 2012-03-31 Anton Blanchard <anton@samba.org>
11306
11307 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
11308 8 bit values.
11309
11310 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 * util/grub-install.in: Fix nvram call for PreP.
11313
11314 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
11317 the error when some elements are missing into a warning.
11318
11319 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
11322
11323 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
11324
11325 * docs/grub.texi (Invoking grub-probe): New section.
11326 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
11327
11328 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 Fix tab and wide character handling in editor and menu.
11331
11332 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
11333 agglomerate control characters with combining marks.
11334 (bidi_line_wrap): Allow break on tab.
11335 (grub_unicode_get_comb_start): New function.
11336 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
11337 and tab correctly.
11338 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
11339 with a space.
11340 * grub-core/normal/term.c (print_ucs4_terminal): New argument
11341 fixed_tab_size. All users updated.
11342 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
11343 (grub_term_getcharwidth): Handle \t.
11344 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
11345 and copy.
11346
11347 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 Handle big-endian mdraid.
11350
11351 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
11352 * grub-core/Makefile.core.def (mdraid09_be): New module.
11353 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
11354 rather than grub_le_to_cpu* and grub_cpu_to_le*.
11355 * grub-core/disk/mdraid_linux_be.c: New file.
11356
11357 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11360
11361 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11364 missing quotes which caused confusion among translators.
11365
11366 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * util/grub-mkconfig_lib.in: Fix typo.
11369
11370 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11373 spaces.
11374 * tests/grub_script_leading_whitespace.in: New file.
11375 * Makefile.util.def (grub_script_leading_whitespace): New test.
11376
11377 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11380 to work.
11381
11382 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11385 starts with control character.
11386
11387 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11390 overflow.
11391 (grub_gdb_outbuf): Likewise.
11392
11393 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11396 zero terminator. Fixes a crash.
11397
11398 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11401 beyond 4 GiB.
11402 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11403 images independently of preffered adderss field.
11404
11405 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11408 * grub-core/commands/regexp.c: Likewise.
11409 * grub-core/loader/i386/linux.c: Likewise.
11410 * grub-core/partmap/msdos.c: Likewise.
11411 * grub-core/script/execute.c: Likewise.
11412 * grub-core/term/gfxterm.c: Likewise.
11413
11414 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 Add variable parsing in $"..." and fix several mismatches with bash.
11417
11418 * Makefile.util.def (grub_script_gettext): New test.
11419 * grub-core/script/execute.c (parse_string): New function.
11420 (gettext_append): Likewise.
11421 (grub_script_arglist_to_argv): Use gettext_append.
11422 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11423 * tests/grub_script_gettext.in: New file.
11424
11425 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 Fix handling of leading spaces in scripts.
11428
11429 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11430 spaces.
11431 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11432 other than skipping \r. All users updated.
11433 * tests/grub_script_echo1.in: Add space-related tests.
11434 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11435
11436 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11439
11440 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * configure.ac: Bump up the version to beta2.
11443
11444 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 Fix gettext reload bugs (e.g. inability to disable gettext
11447 once enabled).
11448
11449 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11450 main_context and secondary_context. All functions updated.
11451 (grub_gettext_translate): Rename to ...
11452 (grub_gettext_translate_real): ... this. Return NULL on failed
11453 translate.
11454 (grub_gettext_translate): Handle secondary context.
11455 (grub_gettext_delete_list): Close file and zero-out the context.
11456 (grub_mofile_open): Don't call grub_gettext_delete_list.
11457 Don't close file.
11458 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11459 if locale="" to avoid pointless error message.
11460 (grub_gettext_env_write_lang): Update lang even if load fails.
11461 Handle secondary context.
11462 (grub_gettext_reread_prefix): New function.
11463 (read_main): Likewise.
11464 (read_secondary): Likewise.
11465 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11466 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11467 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11468 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11469
11470 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * configure.ac: Decrease warning level to avoid spurious warnings and
11473 to be able to compile with GCC 4.2.
11474 * Makefile.util.def: Remove -Wno-error=logical-op.
11475
11476 2012-03-10 William Bittner <william.bittner@gmail.com>
11477
11478 * util/import_unicode.py: Add missing brackets around string for
11479 python 3 support.
11480
11481 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 Fix efi chainloader on network root.
11484
11485 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11486 network devices.
11487 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11488 New function.
11489
11490 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11493 unused show_text member.
11494 * docs/grub.texi: Document "text" property.
11495
11496 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11499 in dprintf.
11500
11501 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 Fix IMSM handling on Fedora.
11504
11505 * util/getroot.c (grub_util_is_imsm): New function.
11506 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11507
11508 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 * Makefile.am: Strip gold section.
11511 * conf/Makefile.common: Likewise.
11512 * gentpl.py: Likewise.
11513 * grub-core/Makefile.core.def: Likewise.
11514 * grub-core/genmod.sh.in: Likewise.
11515
11516 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11519 * util/grub.d/20_linux_xen.in: Likewise.
11520 Based on Debian patch.
11521
11522 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 * util/grub.d/10_linux.in: Fix syntax error resulting in
11525 Richard Laager's patch.
11526 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11527
11528 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11531 dependencies.
11532
11533 2012-03-10 Richard Laager <rlaager@wiktel.com>
11534
11535 * util/grub.d/10_linux.in: Fix ZFS root passing.
11536
11537 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11540 * grub-core/commands/xnu_uuid.c: Likewise.
11541 * grub-core/loader/efi/appleloader.c: Likewise.
11542 * grub-core/script/execute.c: Likewise.
11543 * grub-core/script/main.c: Likewise.
11544 * util/grub-mkfont.c: Likewise.
11545
11546 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 * util/grub-mkfont.c (options): Use more appropriate "select" that
11549 "set" for face index.
11550
11551 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11552
11553 * util/grub-editenv.c (options): Gettextize command summaries.
11554
11555 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11558 "out of memory" error messagge.
11559
11560 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11563 of diskfilter for diskfilter on diskfilter support.
11564
11565 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11568
11569 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11572 themes/starfield.
11573
11574 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11577
11578 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11581
11582 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11585 of error message.
11586
11587 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11590
11591 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11594 message.
11595 * util/grub-install.in: Fix and gettextize error message.
11596
11597 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11600 Gettextize.
11601 * util/grub-mount.c (options): Likewise.
11602
11603 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11606 gettextize.
11607 * grub-core/commands/search_wrap.c (options): Likewise.
11608
11609 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11612
11613 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11616 size calculation.
11617 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11618 none is known.
11619
11620 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11623 "temporary" since it's used in identifier and is limited in space.
11624
11625 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * po/POTFILES.in: Regenerate. Include *.h since they contain
11628 translatable strings as well.
11629
11630 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11633 byte-swap on big-endian.
11634 Reported by: Lennart Sorensen
11635
11636 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11639 (allocate_pages): Improve dprintf.
11640 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11641 code32_start. Fill code32_start and kernel_alignment in params.
11642 (grub_cmd_initrd): Use prot_init_space.
11643
11644 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11647
11648 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * util/grub-install.in: Add missing dot at the end of sentence.
11651
11652 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11655 * grub-core/commands/videotest.c: Likewise.
11656 * grub-core/loader/i386/linux.c: Likewise.
11657
11658 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11661 sentence.
11662 Reported by: Milo Casagrande.
11663
11664 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11667 * grub-core/commands/gptsync.c: Likewise.
11668 * grub-core/commands/hashsum.c: Likewise.
11669 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11670 * grub-core/commands/legacycfg.c: Likewise.
11671 * grub-core/io/gzio.c: Likewise.
11672 * grub-core/net/net.c: Likewise.
11673 * grub-core/term/gfxterm.c: Likewise.
11674 * grub-core/term/terminfo.c: Likewise.
11675 * grub-core/tests/test_blockarg.c: Likewise.
11676 * grub-core/video/video.c: Likewise.
11677 * util/grub-install.in: Likewise.
11678 * util/grub-mkfont.c: Likewise.
11679
11680 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11683
11684 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * grub-core/commands/search_wrap.c (options): Fix a typo.
11687 Reported by: David Prévot.
11688
11689 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11692 description.
11693
11694 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 * util/grub-script-check.c (main): Fix a syntax error message which was
11697 unclear.
11698
11699 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11702
11703 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11706 messages.
11707
11708 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11711 without argument.
11712 * util/grub-mount.c (options): Likewise.
11713
11714 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11717
11718 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 * grub-core/net/http.c: Add TRANSLATORS comments.
11721 * grub-core/normal/cmdline.c: Likewise.
11722 * grub-core/normal/misc.c: Likewise.
11723 * grub-core/partmap/msdos.c: Likewise.
11724 * grub-core/parttool/msdospart.c: Likewise.
11725 * grub-core/script/execute.c: Likewise.
11726 * grub-core/script/main.c: Likewise.
11727 * grub-core/term/terminfo.c: Likewise.
11728 * grub-core/video/bitmap.c: Likewise.
11729 * util/grub-install.in: Likewise.
11730 * util/grub-mkimage.c: Likewise.
11731 * util/grub-mklayout.c: Likewise.
11732 * util/grub-setup.c: Likewise.
11733
11734 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11737 with similar messages in grub-fstest.
11738
11739 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * util/grub-install.in: Unify "option requires an argument" message
11742 with similar messages in other files.
11743 * util/grub-mkconfig.in: Likewise.
11744
11745 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * util/grub-set-default.in: Replace printf with gettext_printf (the
11748 string in in question is already translated from grub-reboot)
11749
11750 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * configure.ac: Bump up the version to beta1.
11753
11754 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11757 case when min_align = 0.
11758
11759 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11762 and fix a case when line_start overflows.
11763
11764 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * util/grub-reboot.in (usage): Mention id posibility.
11767 * util/grub-set-default.in (usage): Likewise.
11768
11769 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11772 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11773 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11774 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11775 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11776 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11777 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11778
11779 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * grub-core/commands/menuentry.c (options): Remove
11782 GRUB_ARG_OPTION_REPEATABLE.
11783 Reported by: Andreas Vogel
11784
11785 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11786
11787 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11788
11789 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11790
11791 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11792 error.
11793
11794 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 Use sort -V by the idea of Georgi Georgiev.
11797
11798 * util/grub-mkconfig_lib.in (version_sort): New function.
11799 (version_test_numeric): Use version_sort.
11800
11801 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 Use submenus in grub-mkconfig.
11804
11805 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11806 * util/grub-mkconfig_lib.in (grub_quote): New function.
11807 (gettext_printf): Use gettext and not gettext_quoted to fix several
11808 messages.
11809 * util/grub.d/10_hurd.in: Use submenus.
11810 * util/grub.d/10_kfreebsd.in: Likewise.
11811 * util/grub.d/10_linux.in: Likewise.
11812 * util/grub.d/10_netbsd.in: Likewise.
11813 * util/grub.d/20_linux_xen.in: Likewise.
11814 * util/grub.d/30_os-prober.in: Likewise.
11815 * util/grub.d/10_illumos.in: Add missing quoting.
11816 * util/grub.d/10_windows.in: Likewise.
11817
11818 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 Fix menu title instability bug.
11821
11822 * grub-core/commands/menuentry.c (options): New option --id.
11823 (grub_normal_add_menu_entry): New argument id. All users updated.
11824 (grub_cmd_menuentry): Handle --id.
11825 (grub_menu_init): Accept unknown arguments.
11826 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11827 feature_menuentry_options.
11828 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11829 saved_entry.
11830 (get_entry_number): Match with id as well.
11831 * include/grub/menu.h (grub_menu_entry): New member id.
11832 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11833 * util/grub.d/00_header.in: Define menuentry_id_option.
11834 * util/grub.d/10_hurd.in: Define id.
11835 * util/grub.d/10_illumos.in: Likewise.
11836 * util/grub.d/10_kfreebsd.in: Likewise.
11837 * util/grub.d/10_linux.in: Likewise.
11838 * util/grub.d/10_netbsd.in: Likewise.
11839 * util/grub.d/10_windows.in: Likewise.
11840 * util/grub.d/20_linux_xen.in: Likewise.
11841 * util/grub.d/30_os-prober.in: Likewise.
11842
11843 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11846 "scope" with "body".
11847
11848 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11851 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11852 prot_size and prot_file_size.
11853
11854 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11857 All users updated. If easily=1 require raid-5/-6 to be full.
11858 (is_node_readable): Likewise.
11859 (scan_devices): Scan incomplete but readable LVs at the end.
11860 (grub_diskfilter_memberlist): Pull missing devices.
11861 (insert_array): Skip scanning until device is complete or scan is
11862 done otherwise.
11863 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11864 check.
11865 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11866 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11867
11868 2012-03-03 Matthew Garrett <mjg@redhat.com>
11869 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 Avoid EFI boot services when loading Linux.
11872
11873 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11874 avoid_efi_bootservices. All users updated.
11875 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11876 argument avoid_efi_bootservices. All users updated.
11877 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11878 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11879 align, min_align, relocatable, prefered_address. All users updated.
11880 Allocate avoiding boot services if kernel is relocatable.
11881 (grub_cmd_linux): Check if kernel is relocatable.
11882 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11883 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11884 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11885 avoid_efi_boot_services.
11886 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11887 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11888 (linux_kernel_params): Likewise.
11889
11890 2012-03-03 Matthew Garrett <mjg@redhat.com>
11891 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 Use EDID on EFI.
11894
11895 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11896 datasize_out.
11897 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11898 modes. Set gop_handle.
11899 (grub_video_gop_get_edid): New function.
11900 (grub_gop_get_preferred_mode): Likewise.
11901 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11902 (grub_video_efi_gop_adapter): Set .get_edid.
11903 * include/grub/efi/edid.h: New file.
11904 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11905
11906 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * util/grub-install.in: Load efivars unconditionally.
11909
11910 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * po/Rules-piglatin: Change suffix from .po-update-en to
11913 .po-update-en-piglatin.
11914
11915 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 Add a pig farm.
11918
11919 * po/piglatin.sed: New file.
11920 * po/en@piglatin.header: Likewise.
11921 * po/Rules-piglatin: Likewise.
11922 * po/README: Add en@piglatin to autogenerated languages.
11923
11924 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11927 "Command for ...".
11928 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11929 "Check" since we don't check anything.
11930 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11931 is 64-bit one.
11932 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11933 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11934 (grub_md_sha512_real): Likewise.
11935
11936 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/commands/gptsync.c: Fix typographic quoting.
11939 * grub-core/commands/ieee1275/suspend.c: Likewise.
11940 * grub-core/commands/parttool.c: Likewise.
11941 * grub-core/commands/search_wrap.c: Likewise.
11942 * grub-core/commands/videoinfo.c: Likewise.
11943 * grub-core/gfxmenu/gui_label.c: Likewise.
11944 * grub-core/hello/hello.c: Likewise.
11945 * grub-core/kern/emu/main.c: Likewise.
11946 * grub-core/net/net.c: Likewise.
11947 * grub-core/normal/menu.c: Likewise.
11948 * grub-core/normal/menu_text.c: Likewise.
11949 * grub-core/normal/misc.c: Likewise.
11950 * util/grub-editenv.c: Likewise.
11951 * util/grub-install.in: Likewise.
11952 * util/grub-kbdcomp.in: Likewise.
11953 * util/grub-mkconfig.in: Likewise.
11954 * util/grub-mknetdir.in: Likewise.
11955 * util/grub-mkrescue.in: Likewise.
11956 * util/grub-mkstandalone.in: Likewise.
11957 * util/grub-reboot.in: Likewise.
11958 * util/grub-set-default.in: Likewise.
11959 * util/grub-setup.c: Likewise.
11960 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11961
11962 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11963
11964 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11965 * grub-core/commands/keystatus.c: Likewise.
11966 * grub-core/commands/loadenv.c: Likewise.
11967 * grub-core/commands/probe.c: Likewise.
11968 * grub-core/commands/regexp.c: Likewise.
11969 * grub-core/commands/true.c: Likewise.
11970 * grub-core/commands/videoinfo.c: Likewise.
11971 * grub-core/disk/cryptodisk.c: Likewise.
11972 * grub-core/disk/ldm.c: Likewise.
11973 * grub-core/disk/loopback.c: Likewise.
11974 * grub-core/disk/luks.c: Likewise.
11975 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11976 * grub-core/kern/disk.c: Likewise.
11977 * grub-core/kern/emu/hostdisk.c: Likewise.
11978
11979 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11982 * util/grub-install.in: Add missing quote in the comment.
11983
11984 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11987 * grub-core/commands/lsmmap.c: Likewise.
11988 * grub-core/commands/minicmd.c: Likewise.
11989 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11990 * grub-core/commands/regexp.c: Likewise.
11991 * grub-core/gdb/gdb.c: Likewise.
11992 * grub-core/term/gfxterm.c: Likewise.
11993 * util/grub-mkconfig.in: Likewise.
11994 * util/grub-mkfont.c: Likewise.
11995 * util/grub-mklayout.c: Likewise.
11996 * util/grub-mknetdir.in: Likewise.
11997 * util/grub-mkrescue.in: Likewise.
11998 * util/grub.d/30_os-prober.in: Likewise.
11999
12000 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
12003 with "Direct color" and "Packed" with "Packed pixel".
12004 (grub_cmd_videoinfo): Simplify legend.
12005
12006 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12007
12008 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
12009 absolutely unclear error message.
12010
12011 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12012
12013 * util/grub-mkstandalone.in: Remove confusing leftover print.
12014
12015 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
12018 comments.
12019 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
12020 (GRUB_MOD_INIT): Likewise.
12021 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
12022 VGA mode.
12023 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
12024 comments.
12025 * util/grub-install.in (usage): Likewise.
12026 Spell ID in whole letters.
12027 Add missing ending dot.
12028 Quote variables.
12029 * util/grub-reboot.in: Fix capitalisation.
12030 * util/grub-set-default.in: Likewise.
12031
12032 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
12035 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
12036 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
12037 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
12038 Disable -Werror for -Wdeprecated-declarations.
12039 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
12040 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
12041 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
12042 (grub_util_get_grub_dev): Make luks handling dependent on
12043 HAVE_DEVICE_MAPPER and not __linux__.
12044 (get_win32_path): Fix format security.
12045 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
12046 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
12047 Don't try grub_find_zpool_from_dir.
12048 (grub_make_system_path_relative_to_its_root) [!__linux__]:
12049 #ifdef-out paresdir.
12050
12051 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 * util/grub-pe2elf.c (usage): Add missing noreturn.
12054 (write_section_data): Rename name to shname to avoid shadowing.
12055 (write_symbol_table): Rename name to symname to avoid shadowing.
12056 Fix write_reloc_section call.
12057
12058 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
12061 to ensure that it's after the last byte of .text.
12062
12063 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 * util/ieee1275/ofpath.c (my_isdigit): New function.
12066 (trailing_digits): Use my_isdigit.
12067 (strip_trailing_digits): Likewise.
12068
12069 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
12072 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
12073
12074 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12075
12076 * grub-core/kern/i386/pc/startup.S: Define __start.
12077
12078 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12079
12080 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
12081 strip already transforms he format.
12082
12083 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12084
12085 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
12086
12087 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * util/grub-install.in: Add missing gettext init.
12090 * util/grub-kbdcomp.in: Likewise.
12091 * util/grub-mkconfig.in: Likewise.
12092 * util/grub-mknetdir.in: Likewise.
12093 * util/grub-mkrescue.in: Likewise.
12094 * util/grub-mkstandalone.in: Likewise.
12095 * util/grub-reboot.in: Likewise.
12096 * util/grub-set-default.in: Likewise.
12097 * util/grub.d/00_header.in: Likewise.
12098 * util/grub.d/10_hurd.in: Likewise.
12099 * util/grub.d/10_windows.in: Likewise.
12100 * util/grub.d/30_os-prober.in: Likewise.
12101 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12102
12103 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 * po/Rules-swiss: Fix header comment.
12106
12107 2012-02-29 Andreas Vogel <anvoit>
12108
12109 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
12110 resulted in leak of arguments.
12111
12112 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 * grub-core/boot/i386/pc/startup_raw.S: Use separate
12115 reed_solomon_size const definition instead of computing it since
12116 Apple assembler doesn't support the later.
12117
12118 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * gentpl.py (kernel): Rewrite Apple part.
12121
12122 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * include/grub/kernel.h (FOR_MODULES): Check module magic.
12125
12126 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 * util/grub-mkimagexx.c (locate_sections): Support non-standard
12129 ELF section gap.
12130 (load_image): Likewise.
12131
12132 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 * configure.ac: Fix a typo in previous commit.
12135
12136 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 Don't add -Wl,-N on Apple platform.
12139
12140 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
12141 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
12142
12143 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 * grub-core/Makefile.core.def (lzma_decompress): Use
12146 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
12147
12148 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/genmod.sh.in: Rewrite the Apple part.
12151
12152 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
12155 comparison.
12156
12157 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * acinclude.m4 (grub_CHECK_PIC): New test.
12160 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
12161
12162 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
12165 to avoid the warning.
12166
12167 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
12170 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
12171 after. All users updated.
12172
12173 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 Use the common size routine in hostfs so we can read disks as well.
12176
12177 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
12178 (grub_util_get_fd_size): ... this. Return size in bytes.
12179 All users updated.
12180 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
12181 grub_util_get_fd_size.
12182
12183 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12184
12185 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
12186 Add blocksize retrieval.
12187
12188 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 * configure.ac: Restore CFLAGS after efiemu check.
12191
12192 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
12195 Apple bug.
12196
12197 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
12200
12201 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
12204 (grub_cmd_halt): Likewise.
12205
12206 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
12209 for local arithmetics.
12210 Break %sp init into 2 instructions.
12211 Add 0 byte at the end.
12212
12213 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 * grub-core/disk/diskfilter.c (read_segment): Initialise err
12216 before loops.
12217
12218 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
12221 for context.
12222
12223 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * grub-core/disk/ldm.c (make_vg): Init part.name.
12226 (grub_ldm_detect): Silence spurious warning.
12227 (grub_util_is_ldm): Likewise.
12228
12229 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
12232 sane value to avoid a spurious warning.
12233
12234 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
12237 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
12238
12239 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
12242 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
12243
12244 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
12247 hardcoding the relevant info.
12248
12249 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
12252 missing const qualifiers.
12253 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
12254
12255 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 * util/getroot.c [__APPLE__]: Add missing includes.
12258 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
12259
12260 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * util/grub-mkimage.c (generate_image): Silence spurious warning.
12263
12264 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
12267 avoid conflicts.
12268
12269 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
12272
12273 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
12276 and grub_file_close call.
12277
12278 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 Add LZSS Mach-O support (needed for new xnu kernelcache).
12281
12282 * grub-core/Makefile.core.def (xnu): Add file lzss.c
12283 * grub-core/loader/lzss.c: New file.
12284 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
12285 on Mach-O open failure.
12286 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
12287 Don't free cmdsXX in uncompressedXX is set.
12288 (grub_macho_file): Init new fields.
12289 New argument is_64bit. All users updated.
12290 Handle compressed. Error out if no suitable architecture is found.
12291 Don't close file.
12292 (grub_macho_open): New argument is_64bit. All users updated.
12293 * grub-core/loader/macho32.c: Add defines for new fields.
12294 * grub-core/loader/macho64.c: Likewise.
12295 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
12296 (grub_macho_parse): Handle compressed.
12297 Defer actual processing if compressed.
12298 (grub_macho_cmds_iterate): Decompress if compressed. New argument
12299 "filename". All users updated.
12300 (grub_macho_size): New argument "filename". All users updated.
12301 (grub_macho_get_entry_point): Likewise.
12302 (grub_macho_load): Handle compressed.
12303 * include/grub/macho.h (grub_macho_lzss_header): New struct.
12304 (GRUB_MACHO_LZSS_OFFSET): New define.
12305 (grub_decompress_lzss): New proto.
12306 * include/grub/machoload.h (grub_macho_file): New fields to handle
12307 compressed.
12308 (grub_macho_contains_macho64): Remove proto.
12309 (grub_macho_contains_macho32): Likewise.
12310 * util/grub.d/30_os-prober.in: Use kernel cache if available.
12311
12312 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12313
12314 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
12315
12316 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 Fix make dist.
12319
12320 * Makefile.am (starfield_theme_files): New var.
12321 (starfield_DATA): Use starfield_theme_files.
12322 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
12323 Add bootcheck-related files.
12324 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
12325 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
12326 and font_char_metrics.txt.
12327 * grub-core/Makefile.core.def (kernel): Update extra_dist.
12328 (setjmp): Add lib/ia64/longjmp.S.
12329 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
12330 * po/POTFILES.in: Regenerate.
12331 * po/Rules-swiss: use DISTFILES.common.extra2 and not
12332 DISTFILES.common.extra1.
12333 * util/devicemap.c: Removed.
12334 * grub-core/lib/i386/relocator_backward.S: Likewise.
12335 * util/import_gcry.py: Remove unused files. Add extra_dist for
12336 ChangeLog.
12337
12338 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 * grub-core/gettext/gettext.c (grub_mofile_open): Call
12341 grub_gettext_delete_list before changing grub_gettext_max to avoid
12342 running out of array bounds.
12343
12344 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
12347 grub_vga_text_init/grub_vga_text_fini.
12348
12349 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
12352
12353 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 * configure.ac: Bump to 2.00~beta0.
12356
12357 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12360 missing initialisation.
12361
12362 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12365
12366 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 Support v2 xnu boot arguments.
12369
12370 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12371 New argument fsbfreq_out.
12372 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12373 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12374 be used.
12375 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12376 darwin_version.
12377 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12378 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12379 (grub_xnu_boot_params): Rename to ...
12380 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12381 (grub_xnu_boot_params_v2): New struct.
12382
12383 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12384
12385 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12386 zeroing of CRC field before computing CRC.
12387
12388 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12389
12390 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12391 Change order of allocations to decrease fragmentation.
12392
12393 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12396
12397 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12398
12399 Use write-combining MTRR to speed up video with buggy BIOSes.
12400
12401 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12402 (cpuid): New define.
12403 (rdmsr): Likewise.
12404 (wrmsr): Likewise.
12405 (mtrr_base): Likewise.
12406 (mtrr_mask): Likewise.
12407 (grub_vbe_enable_mtrr_entry): New function.
12408 (grub_vbe_enable_mtrr): Likewise.
12409 (grub_vbe_disable_mtrr): Likewise.
12410 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12411 control off to BIOS.
12412 (grub_video_vbe_init): Fill mtrr.
12413 (grub_video_vbe_fini): Disable mtrr.
12414 (grub_video_vbe_get_info_and_fini): Likewise.
12415 (grub_video_vbe_setup): Enable mtrr.
12416
12417 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12418
12419 * include/grub/partition.h (grub_partition_map): Change prototype of
12420 embed to take a maximum value for nsectors.
12421 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12422 * include/grub/fs.h (grub_fs): Likewise.
12423 * grub-core/partmap/msdos.c (embed_signatures): New array.
12424 (pc_partition_map_embed): Check for and avoid sectors matching any
12425 of the signatures in embed_signatures, up to max_nsectors.
12426 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12427 returned sector map to max_nsectors.
12428 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12429 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12430 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12431 * util/grub-setup.c (setup): Allow for the embedding area being
12432 split into multiple blocklists. Tell dest_partmap->embed the
12433 maximum number of sectors we care about.
12434
12435 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12438 Specify blocklist_install and reserver_first_sector for all fs.
12439 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12440 blocklists.
12441
12442 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * util/grub-install.in: Clarify strings.
12445 Fix source dir check.
12446
12447 2012-02-27 Richard Laager <rlaager@wiktel.com>
12448
12449 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12450 "zfs" and "fuse.zfs" as synonyms.
12451
12452 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 * configure.ac: Put platform and target_cpu substitutions back since
12455 they are used for directories.
12456
12457 2012-02-27 Richard Laager <rlaager@wiktel.com>
12458 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12461 * util/grub.d/20_linux_xen.in: Likewise.
12462
12463 2012-02-27 Richard Laager <rlaager@wiktel.com>
12464
12465 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12466 with full paths.
12467
12468 2012-02-27 Richard Laager <rlaager@wiktel.com>
12469
12470 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12471 unescape.
12472
12473 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 Don't use insecure popen in getroot.
12476
12477 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12478 (exec_pipe): ... here.
12479 (find_root_devices_from_poolname): Use exec_pipe.
12480
12481 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 Remove platform and target_cpu replacement.
12484
12485 * configure.ac: Remove platform and target_cpu substitutions.
12486 * tests/util/grub-shell.in: Use modinfo.
12487 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12488 explicitly.
12489
12490 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 Autodetect platform in grub-install but allow override.
12493
12494 * util/grub-install.in: Autodetect platform. Support --target and
12495 --directory. Read platform from modinfo.sh.
12496
12497 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 Support btrfs multi-volume probe.
12500
12501 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12502 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12503 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12504 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12505 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12506 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12507 grub_find_root_devices_from_btrfs if on btrfs.
12508
12509 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 Remove any awareness of *.c util files about target.
12512
12513 * Makefile.util.def (grub-setup): Split to ...
12514 (grub-bios-setup): ... and this.
12515 (grub-sparc64-setup): ... and this.
12516 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12517 * docs/man/grub-setup.h2m: Split into ...
12518 * docs/man/grub-sparc64-setup.h2m: ... this.
12519 * docs/man/grub-bios-setup.h2m: ... and this.
12520 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12521 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12522 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12523 (grub_target_addr_t): Remove.
12524 (grub_target_size_t): Remove.
12525 (grub_target_ssize_t): Remove.
12526 * util/grub-install.in: Use new grub-*-setup.
12527 * util/grub-mkimagexx.c (Elf_Word): New define.
12528 (Elf_Half): Likewise.
12529 (Elf_Section): Likewise.
12530 (ELF_ST_TYPE): Likewise.
12531 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12532 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12533
12534 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 Replace grub_target_addr with more appropriate types.
12537
12538 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12539 grub_target_addr with grub_addr.
12540 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12541 grub_target_addr with grub_port.
12542 (grub_cmd_write): Likewise.
12543 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12544 grub_target_addr with grub_addr.
12545 (grub_cmd_write): Likewise.
12546 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12547
12548 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12551 const qualifier for vendor_guid.
12552
12553 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12556 const qualifier.
12557 (efiemu_memequal): Likewise.
12558 (find_variable): Likewise.
12559
12560 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12561
12562 Fix missing console prototype on qemu-mips.
12563
12564 * include/grub/mips/qemu_mips/console.h: New file.
12565
12566 2012-02-27 Matthew Garrett <mjg@redhat.com>
12567 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12570 * include/grub/efi/efi.h: Likewise.
12571 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12572 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12573 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12574 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12575 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12576 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12577
12578 2012-02-27 Matthew Garrett <mjg@redhat.com>
12579
12580 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12581
12582 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12585 error.
12586
12587 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * configure.ac: Remove inappropriate use of program_transform_name
12590 on grubdir and bootdir but allow explicit specification of those
12591 variables.
12592
12593 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * util/grub-mknetdir.in (grub_prefix): Removed.
12596 (subdir): Use @bootdirname@ and @grubdirname@.
12597
12598 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12601
12602 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 * po/POTFILES.in: Regenerated.
12605
12606 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 Remove improper use of program_transform_name on pkglibrootdir.
12609
12610 * configure.ac (pkglibrootdir): Removed.
12611 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12612 * util/grub-mkimage.c: Likewise.
12613
12614 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12617 warning.
12618
12619 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * util/grub-install.in: Use file identifier if no UUID is available
12622 or user explicitly prompted for it.
12623
12624 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
12625
12626 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12627 (freebsd_get_zfs): New function.
12628 (grub_freebsd_boot): Pass zfs UUID.
12629 (grub_cmd_freebsd): Set zfs UUID.
12630
12631 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12634 pkglibrootdir.
12635
12636 2012-02-27 Mike Gilbert <floppym@gentoo.org>
12637
12638 Add configure flag to control libzfs integration.
12639
12640 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12641
12642 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12645 device.
12646 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12647 small devices.
12648
12649 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12652 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12653 be used on non-modules.
12654
12655 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12656 Rename to grub_boot_init.
12657 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12658 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12659 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12660 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12661 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12662 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12663 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12664 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12665 includes.
12666 (grub_machine_init): Remove empty inits.
12667 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12668 includes.
12669 (grub_machine_init): Remove empty inits.
12670 * grub-core/term/arc/console.c: Remove explicit proto.
12671 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12672 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12673 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12674 grub_at_keyboard_fini.
12675 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12676 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12677 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12678 grub_gfxterm_fini.
12679 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12680 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12681 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12682 grub_vgatext_fini.
12683 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12684 * grub-core/term/serial.c (GRUB_MOD_INIT)
12685 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12686 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12687 grub_serial_fini.
12688 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12689 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12690 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12691 grub_terminfo_fini.
12692 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12693 (GRUB_MOD_FINI): Likewise.
12694 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12695 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12696 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12697 grub_video_radeon_fuloong2e_fini.
12698 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12699 [LOONGSON]: Rename to grub_video_sis315pro_init.
12700 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12701 grub_video_sis315pro_fini.
12702 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12703 [LOONGSON]: Rename to grub_video_sm712_init.
12704 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12705 grub_video_sm712_fini.
12706 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12707 (grub_at_keyboard_fini): Likewise.
12708 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12709 Don't declare grub_{modname}_init.
12710 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12711 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12712 New proto.
12713 (grub_keylayouts_fini) [!EMU]: Likewise.
12714 * include/grub/serial.h (grub_serial_init) [!EMU]:
12715 New proto.
12716 (grub_serial_fini) [!EMU]: Likewise.
12717 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12718 New proto.
12719 (grub_terminfo_fini) [!EMU]: Likewise.
12720 * include/grub/video.h (grub_font_init) [!EMU]:
12721 New proto.
12722 (grub_font_fini) [!EMU]: Likewise.
12723 (grub_gfxterm_init) [!EMU]: Likewise.
12724 (grub_gfxterm_fini) [!EMU]: Likewise.
12725 (grub_video_sm712_init) [!EMU]: Likewise.
12726 (grub_video_sm712_fini) [!EMU]: Likewise.
12727 (grub_video_sis315pro_init) [!EMU]: Likewise.
12728 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12729 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12730 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12731
12732 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 Make nand a prefix for nand devices.
12735
12736 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12737
12738 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12739
12740 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12741 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12742
12743 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * include/grub/env.h (grub_env_find): Remove prototype.
12746 * grub-core/kern/env.c (grub_env_find): Make static.
12747 (grub_env_set): Remove useless set.
12748
12749 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * grub-core/kern/i386/realmode.S: Remove useless align.
12752
12753 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12754
12755 * include/grub/dl.h (grub_dl_load_file): Don't export.
12756
12757 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12760 grub_dprintf.
12761
12762 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12765 grub_errors.
12766 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12767 not reloading whole superblock but only the part which is really needed.
12768 Remove useless grub_errors.
12769 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12770 grub_errors.
12771
12772 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 Don't export grub_get_rtc.
12775
12776 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12777 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12778
12779 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12782
12783 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
12786 argument since it can be deduced from diskfilter. All users updated.
12787
12788 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 Remove prio_list.
12791
12792 * include/grub/list.h (grub_prio_list): Removed.
12793 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12794 GRUB_COMMAND_PRIO_MASK.
12795 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12796 GRUB_COMMAND_FLAG_ACTIVE.
12797 (grub_prio_list_insert): Removed.
12798 (grub_prio_list_remove): Likewise.
12799 (GRUB_AS_PRIO_LIST): Likewise.
12800 (GRUB_AS_PRIO_LIST_P): Likewise.
12801 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12802 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12803 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12804 * grub-core/kern/command.c (grub_register_command_prio): Inline
12805 the prio_list code.
12806 (grub_unregister_command): Likewise.
12807
12808 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 Fix interrupt mixup from previous commit.
12811
12812 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12813 (grub_realidt): New var.
12814 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12815 Load idt.
12816 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12817 New declaration.
12818 (grub_relocator16_boot): Set grub_relocator16_idt.
12819 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12820 (LOCAL(realidt)): ... this.
12821 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12822 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12823 (grub_realidt): New variable.
12824
12825 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12828 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12829 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12830 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12831 Gettextize.
12832 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12833 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12834 * po/POTFILES.in: Regenerate.
12835
12836 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12839 errors.
12840
12841 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12844 \0.
12845 (add_length): Likewise.
12846
12847 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12848 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12849
12850 GDB serial and backtrace support.
12851
12852 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12853 (prot_to_real): Likewise.
12854 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12855 * grub-core/Makefile.core.def (backtrace): New module.
12856 (gdb): Likewise.
12857 * grub-core/gdb/cstub.c: New file.
12858 * grub-core/gdb/gdb.c: Likewise.
12859 * grub-core/gdb/i386/idt.c: Likewise.
12860 * grub-core/gdb/i386/machdep.S: Likewise.
12861 * grub-core/gdb/i386/signal.c: Likewise.
12862 * grub-core/lib/i386/backtrace.c: Likewise.
12863 * grub-core/lib/backtrace.c: Likewise.
12864 * include/grub/backtrace.h: Likewise.
12865 * include/grub/gdb.h: Likewise.
12866 * include/grub/i386/gdb.h: Likewise.
12867
12868 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12871 New function.
12872 (add_length): Likewise.
12873 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12874 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12875 proto.
12876 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12877 __argp_get_display_len.
12878
12879 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12880
12881 $"..." support in scripts.
12882
12883 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12884 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12885 * grub-core/script/yylex.l: Likewise.
12886 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12887 value.
12888
12889 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12890
12891 * gentpl.py: Remove obsolete pkglib_DATA handling.
12892
12893 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12896 mailing list.
12897
12898 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12899 * util/grub-kbdcomp.in: Likewise.
12900 * util/grub-mkconfig.in: Likewise.
12901 * util/grub-mkconfig_lib.in: Likewise.
12902 * util/grub-mknetdir.in: Likewise.
12903 * util/grub-mkrescue.in: Likewise.
12904 * util/grub-mkstandalone.in: Likewise.
12905 * util/grub-reboot.in: Likewise.
12906 * util/grub-set-default.in: Likewise.
12907 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12908
12909 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 Remove GRUB_PREFIX.
12912
12913 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12914 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12915 used for backward compatibility.
12916
12917 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 Add new all_video module.
12920
12921 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12922 * grub-core/Makefile.core.def (all_video): New module.
12923 * grub-core/genmoddep.awk: Generate dependency of all_video from
12924 video.lst.
12925 * grub-core/lib/fake_module.c: New file.
12926 * grub-core/normal/main.c (features): Add feature_all_video_module.
12927 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12928 don't do explicit search again.
12929 insmod all_video in load_video if available.
12930
12931 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 Another round of string clarification and adding TRANSLATORS comments.
12934
12935 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12938
12939 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12942 to grub_ssize_t.
12943 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12944 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12945
12946 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12947
12948 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12949 trailing newline implicitly. All users updated.
12950
12951 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 Implement serial on IEEE1275 and EFI.
12954
12955 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12956 on emu. Mention arc and emu as the only platforms without serial
12957 support.
12958 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12959 ieee1275 platforms.
12960 * grub-core/term/efi/serial.c: New file.
12961 * grub-core/term/ieee1275/serial.c: Likewise.
12962 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12963 specification if no ns8250 driver is available.
12964 (grub_cmd_serial): Likewise.
12965 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12966 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12967 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12968 (grub_efi_parity_type_t): New type.
12969 (grub_efi_stop_bits_t): Likewise.
12970 (grub_efi_serial_io_interface): New struct.
12971 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12972 available for all interfaces.
12973 Add EFI and IEEE1275 fields.
12974 (grub_ofserial_init): New proto.
12975 (grub_efiserial_init): Likeiwse.
12976 * util/grub.d/00_header.in: Don't check for the presence of serial
12977 module.
12978
12979 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12982 name as if it was an alias.
12983
12984 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * grub-core/commands/lsacpi.c (options): Fix typo.
12987
12988 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 Convert grub-emu to argp.
12991
12992 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12993 emu.
12994 * util/argp_common.c: Rename to ...
12995 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12996 Add missing includes.
12997 * grub-core/kern/emu/main.c: Convert to argp.
12998 * po/POTFILES.in: Regenerate.
12999 * util/grub-install.in (usage): Make first letter lowcase in messages
13000 for uniformity.
13001 * util/grub-setup.c (options): Likewise.
13002
13003 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
13006 Put back accidently commented-out code.
13007
13008 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
13011 loop check using Brent algorithm.
13012 (grub_hfsplus_btree_search): Likewise.
13013
13014 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13015
13016 * util/grub-install.in: Fix usage of wrong device for PreP install.
13017
13018 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * conf/Makefile.common (CFLAGS_GNULIB): Add
13021 -Wno-unsafe-loop-optimizations.
13022 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
13023 on tools.
13024 * grub-core/commands/legacycfg.c: Add pragma to skip
13025 -Wunsafe-loop-optimizations.
13026 (check_password_md5_real): Fix loop counter type.
13027 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
13028 reading.
13029 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
13030 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
13031 loop condition.
13032 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
13033 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
13034 * grub-core/net/net.c (grub_net_route_address): Add safety loop
13035 condition.
13036 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
13037 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
13038 avoid possible infinite loops.
13039 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
13040 and -Wunsafe-loop-optimizations.
13041 * grub-core/script/yylex.l: Likewise.
13042 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
13043 (print_glyphs): Avoid infinite loops.
13044 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
13045
13046 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
13047
13048 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
13049 to avoid infinite loop.
13050 (disp_acpi_rsdt_table): Likewise.
13051
13052 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 * grub-core/font/font.c (grub_font_load): Add support for default
13055 path for fonts ($prefix/fonts).
13056 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
13057 for checking if string is a path.
13058 * grub-core/normal/main.c (features): Add feature_default_font_path.
13059 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
13060 * util/grub.d/00_header.in: Use default directory if possible.
13061 * util/grub-install.in: Install unicode.pf2.
13062
13063 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
13066 * po/Rules-swiss: New file.
13067 * po/swiss.sed: Likewise.
13068
13069 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 * grub-core/fs/btrfs.c (find_device): Fix typos.
13072 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
13073 * util/grub-mkrelpath.c (argp_parser): Likewise.
13074 Reported by: Yuri Chornoivan.
13075
13076 2012-02-23 Dalet Omega <daletomega@gmail.com>
13077
13078 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
13079 for usual informative messages.
13080
13081 2012-02-23 Dalet Omega <daletomega@gmail.com>
13082
13083 Starfield theme.
13084
13085 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
13086 * conf/Makefile.common: Define starfielddir.
13087 * configure.ac: Configure starfield.
13088 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
13089 * themes/starfield/README: Likewise.
13090 * themes/starfield/blob_w.png: Likewise.
13091 * themes/starfield/boot_menu_c.png: Likewise.
13092 * themes/starfield/boot_menu_e.png: Likewise.
13093 * themes/starfield/boot_menu_n.png: Likewise.
13094 * themes/starfield/boot_menu_ne.png: Likewise.
13095 * themes/starfield/boot_menu_nw.png: Likewise.
13096 * themes/starfield/boot_menu_s.png: Likewise.
13097 * themes/starfield/boot_menu_se.png: Likewise.
13098 * themes/starfield/boot_menu_sw.png: Likewise.
13099 * themes/starfield/boot_menu_w.png: Likewise.
13100 * themes/starfield/slider_c.png: Likewise.
13101 * themes/starfield/slider_n.png: Likewise.
13102 * themes/starfield/slider_s.png: Likewise.
13103 * themes/starfield/src/blob_nw.xcf: Likewise.
13104 * themes/starfield/src/bootmenu/: Likewise.
13105 * themes/starfield/src/bootmenu/center.xcf: Likewise.
13106 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
13107 * themes/starfield/src/bootmenu/side.xcf: Likewise.
13108 * themes/starfield/src/slider_c.xcf: Likewise.
13109 * themes/starfield/src/slider_n.xcf: Likewise.
13110 * themes/starfield/src/slider_s.xcf: Likewise.
13111 * themes/starfield/src/terminalbox/: Likewise.
13112 * themes/starfield/src/terminalbox/center.xcf: Likewise.
13113 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
13114 * themes/starfield/src/terminalbox/side.xcf: Likewise.
13115 * themes/starfield/starfield.png: Likewise.
13116 * themes/starfield/terminal_box_c.png: Likewise.
13117 * themes/starfield/terminal_box_e.png: Likewise.
13118 * themes/starfield/terminal_box_n.png: Likewise.
13119 * themes/starfield/terminal_box_ne.png: Likewise.
13120 * themes/starfield/terminal_box_nw.png: Likewise.
13121 * themes/starfield/terminal_box_s.png: Likewise.
13122 * themes/starfield/terminal_box_se.png: Likewise.
13123 * themes/starfield/terminal_box_sw.png: Likewise.
13124 * themes/starfield/terminal_box_w.png: Likewise.
13125 * themes/starfield/theme.txt: Likewise.
13126
13127 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * util/grub.d/00_header.in: Add missing export theme.
13130
13131 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
13134 already included.
13135 Reported by: Eren D.
13136
13137 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 * conf/Makefile.common (grubdatadir): Removed.
13140 (Makefile.am): Move eveything grubdata to pkgdata.
13141
13142 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 * grub-core/commands/acpihalt.c (get_sleep_type):
13145 Remove unused variable.
13146
13147 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
13150 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
13151 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
13152 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
13153 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
13154 i18n with gettext no-op.
13155 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
13156 GRUB_ACPI_OPCODE_STRING_CONST.
13157 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
13158 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
13159
13160 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 * po/POTFILES.in: Regenerate.
13163
13164 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
13167 -Wno-error=missing-noreturn.
13168
13169 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13170
13171 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
13172 condition to avoid possibly infinite loops.
13173 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
13174 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
13175
13176 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
13179 condition to avoid possibly infinite loops.
13180
13181 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13182
13183 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
13184 on show_error.
13185
13186 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
13189
13190 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13191
13192 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
13193
13194 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 * util/bin2h.c (usage): Add missing attribute noreturn.
13197
13198 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
13201 if the size isn't divisible by 512.
13202
13203 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 Make list_push and list_remove functions rather than inline functions
13206 to decrease size and avoid aliasing violations.
13207
13208 * include/grub/list.h (grub_list_push): Move to ...
13209 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
13210 * include/grub/list.h (grub_list_remove): Move to ...
13211 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
13212
13213 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
13216 and -Wunused-result.
13217
13218 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
13221 Reported by: Seth Goldberg
13222
13223 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
13226
13227 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
13228
13229 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
13230 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
13231 command line.
13232 * docs/grub.texi (Simple configuration): Document
13233 GRUB_CMDLINE_GNUMACH.
13234
13235 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * conf/Makefile.common (platform_SCRIPTS): New variable.
13238 (platform_PROGRAMS): Likewise.
13239 * gentpl.py: Mark *,module and *.image for install.
13240 * grub-core/gdb_grub.in: Add a notice of expected environment.
13241 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
13242 (gmodule.pl): Likewise.
13243
13244 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 Replace grub_checkkey with grub_getkey_noblock.
13247
13248 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
13249 (grub_getkey_noblock): ... this. All users updated.
13250
13251 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 * grub-core/kern/emu/console.c: Move to ...
13254 * grub-core/term/emu/console.c: ...here.
13255 (grub_ncurses_getkey): Fix return value if no key is detected.
13256
13257 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
13260 (grub_unit_test_fini): Likewise.
13261 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
13262
13263 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * include/grub/test.h (GRUB_UNIT_TEST)
13266
13267 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * grub-core/script/execute.c (grub_script_break): Clarify logic.
13270 Better error handling.
13271 (grub_script_return): Likewise.
13272 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13273
13274 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
13277 rimplicit redifinition.
13278
13279 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
13282 GRUB.
13283
13284 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
13287 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
13288 prompt here.
13289
13290 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
13293 as GRUB_ERR_BUG. Don't malloc if no device is available.
13294
13295 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
13298 Mark calling with invalid term as GRUB_ERR_BUG.
13299
13300 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
13303 packets rather than raising an error.
13304
13305 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
13308 in if.
13309
13310 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
13313 diagnostic to dprintf.
13314 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13315
13316 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
13319 device name.
13320
13321 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
13324 (grub_ntfs_iterate_dir): Likewise.
13325
13326 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 Efiemu stylistic fixes and gettext.
13329
13330 * grub-core/efiemu/i386/loadcore32.c
13331 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
13332 * grub-core/efiemu/i386/loadcore64.c
13333 (grub_arch_efiemu_relocate_symbols64): Likewise.
13334 * grub-core/efiemu/i386/pc/cfgtables.c
13335 (grub_machine_efiemu_init_tables): Likewise.
13336 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
13337 (grub_efiemu_loadcore_initXX): Add a filename argument.
13338 All users updated.
13339 Improved error message.
13340 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
13341 Add a filename argument.
13342 All users updated.
13343 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
13344 Reclassify double relocation as GRUB_ERR_BUG.
13345
13346 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
13349 handling.
13350
13351 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
13354 on partition.
13355
13356 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13359
13360 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 Improve string. Gettextize.
13363
13364 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13365
13366 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13367 utils.
13368 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13369
13370 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13373 [GRUB_UTIL]: New function.
13374 (insert_array) [GRUB_UTIL]: Store partmaps.
13375 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13376 partmaps.
13377 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13378 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13379 (probe_abstraction): Print diskfilter and not raid.
13380 Reported by: Lennart Sorensen
13381
13382 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13385 * util/grub-mkimagexx.c (MASK3): New define.
13386 (add_value_to_slot_20b): Use MASK3.
13387 (add_value_to_slot_21): Likewise.
13388 (relocate_addresses): Fix format specification.
13389 (load_image): Explicitly init symtab_section.
13390
13391 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13394 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13395
13396 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13399 on powerpc.
13400 Reported by: Lennart Sorensen
13401
13402 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13403
13404 * gentpl.py: Add missing license header.
13405 * docs/grub.texi: Update copyright year.
13406
13407 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13408
13409 Source grub-mkconfig_lib from the build directory at build time.
13410 Suggested by: Vladimir Serbinenko.
13411
13412 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13413 * util/grub-install.in: Define pkgdatadir if not already set, and source
13414 grub-mkconfig_lib from there.
13415 * util/grub-kbdcomp.in: Likewise.
13416 * util/grub-mkconfig.in: Likewise.
13417 * util/grub-mknetdir.in: Likewise.
13418 * util/grub-mkrescue.in: Likewise.
13419 * util/grub-mkstandalone.in: Likewise.
13420 * util/grub-reboot.in: Likewise.
13421 * util/grub-set-default.in: Likewise.
13422 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13423
13424 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 Increase warning level.
13427
13428 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13429 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13430 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13431 (TARGET_CFLAGS): Likewise.
13432 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13433 * grub-core/Makefile.core.def (decompressor_xz): Add
13434 -Wno-unreachable-code.
13435 (normal): Add -Wno-redundant-decls.
13436 (xzio): Add -Wno-unreachable-code.
13437 (lzopio): Add -Wno-redundant-decls -Wno-error.
13438 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13439 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13440 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13441 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13442 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13443 * grub-core/kern/i386/coreboot/init.c: Add exception to
13444 -Wsuggest-attribute=noreturn.
13445 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13446 * grub-core/kern/ia64/dl_helper.c: Likewise.
13447 * grub-core/kern/mips/dl.c: Likewise.
13448 * grub-core/kern/sparc64/dl.c: Likewise.
13449 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13450 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13451 (memcmp): Likewise.
13452 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13453 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13454 * grub-core/loader/mips/linux.c: Likewise.
13455 * grub-core/loader/multiboot_elfxx.c: Likewise.
13456 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13457 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13458 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13459 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13460 fixme.
13461 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13462 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13463 Fix prototype.
13464
13465 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13468 address.
13469
13470 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13473 Avoid improper use of strings.
13474 (grub_cmd_legacy_initrdnounzip): Likewise.
13475
13476 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13479 attribute.
13480 (grub_util_info): Likewise.
13481 (grub_util_error): Likewise.
13482
13483 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13486 * util/grub-fstest.c (fstest): Likewise.
13487
13488 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13491 (grub_md_sha512_real): Likewise.
13492 (grub_util_get_geli_uuid): Likewise.
13493 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13494 (grub_util_biosdisk_open): Fix format specification.
13495 Respect format security.
13496 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13497 (xrealloc): Likewise.
13498 (xasprintf): Likewise.
13499
13500 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 * util/import_gcry.py: Include grub/crypto.h in init.c.
13503
13504 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13507 (generate_image): Make prefix a const char *.
13508 Fix format specifications. Respect format security.
13509 Avoid void * arithmetics.
13510 Avoid shadowing.
13511 (argp_parser): Remove unused variable. Respect format security.
13512 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13513 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13514 (count_funcs): Remove unused variable.
13515 (relocate_addresses): Fix format specification.
13516 Disable x86-64 with elf32. Remove unused variables.
13517 (add_fixup_entry): Avoid shadowing.
13518 (make_reloc_section): Fix format specification.
13519 Use assert.
13520 (locate_sections): Fix format specifications.
13521 (load_image): Avoid shadowing.
13522
13523 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13526 Fix format specifications. Respect format security.
13527 Don't translate already translated grub_errmsg.
13528 (argp_parser): Remove unused variable
13529
13530 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13533
13534 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13537 (main): Likewise. Use xmalloc. Respect format security.
13538
13539 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13542 a const char *.
13543 (argp_parser): Remove unused variable.
13544
13545 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13548 (add_pixel): Make static.
13549 (add_font): Likewise.
13550 (write_string_section): Make name and str a const char *.
13551 (write_be16_section): Make name a const char *.
13552 (print_glyphs): Make static.
13553 (write_font_ascii_bitmap): Likewise.
13554 (write_font_width_spec): Likewise.
13555 (write_font_pf2): Likewise.
13556 (argp_parser): Remove unused variable.
13557 Respect format security.
13558 (main): Avoid shadowing. Respect format security.
13559
13560 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * util/grub-editenv.c (argp_parser): Make static.
13563 (create_envblk_file): Use xmalloc.
13564 (open_envblk_file): Likewise.
13565 Resepect format security.
13566 (set_variables): Respect format security.
13567
13568 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * util/getroot.c (grub_find_device): Respect format security.
13571 (get_mdadm_uuid): Remove unused variable.
13572 (grub_util_pull_device): Dont call gettext on already translated
13573 grub_errmsg.
13574 (find_system_device): Remove unused variable.
13575 (grub_util_get_grub_dev): Likewise.
13576 (grub_make_system_path_relative_to_its_root): Respect format security.
13577
13578 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * util/grub-fstest.c (execute_command): Make first argument
13581 a const char *.
13582 (read_file): Avoid shadowing.
13583 Reuse underlying error message if device open fails.
13584 (cmd_cmp): Respect format security.
13585 (root): Make const char *.
13586 (fstest): Remove args argument and use global copy.
13587 Respect format security.
13588 (argp_parser): Make static.
13589 (main): Make default_root const char *.
13590
13591 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * util/grub-mount.c (root): Make const char *.
13594 (execute_command): Make first argument a const char *.
13595 (fuse_init): Respect format security.
13596 (argp_parser): Make static. Remove unused variable.
13597 (main): Make default_root a const char *.
13598 Respect format security.
13599
13600 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * util/grub-probe.c (probe): Don't call gettext on already translated
13603 grub_errmsg.
13604 Remove unused variables.
13605 (argp_parser): Remove unused variable.
13606
13607 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13608
13609 * util/grub-script-check.c (argp_parser): Remove unused variable.
13610 (main): Rename read to curread to avoid shadowing.
13611
13612 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * util/misc.c (grub_util_write_image_at): Fix format specification.
13615 (grub_util_write_image): Likewise.
13616 (grub_script_execute_argument_to_string): Removed (unused).
13617 (grub_script_execute_menuentry): Likewise.
13618 (grub_putchar): Likewise.
13619
13620 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13623 (FUNCTION) [GRUB_UTIL]: Likewise.
13624 (VARIABLE) [GRUB_UTIL]: Likewise.
13625
13626 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13629 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13630
13631 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13634 buffer.
13635
13636 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13639 (LzmaEnc_SaveState): Removed (unused).
13640 (LzmaEnc_RestoreState): Likewise.
13641 (LzmaEnc_InitPriceTables): Made static.
13642 (LzmaEnc_Construct): Likewise.
13643 (LzmaEnc_FreeLits): Likewise.
13644 (LzmaEnc_Destruct): Likewise.
13645 (LzmaEnc_Init): Likewise.
13646 (LzmaEnc_InitPrices): Likewise.
13647 (LzmaEnc_Finish): Likewise.
13648 (LzmaEnc_PrepareForLzma2): Removed (unused).
13649 (LzmaEnc_MemPrepare): Likewise.
13650 (LzmaEnc_GetNumAvailableBytes): Likewise.
13651 (LzmaEnc_GetCurBuf): Likewise.
13652 (LzmaEnc_CodeOneMemBlock): Likewise.
13653
13654 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13657 (grub_util_ldm_embed): Likewise.
13658
13659 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 * util/grub-editenv.c (print_var): Rename name to varname to
13662 avoid shadowing.
13663 (main): Rename index to curindex to avoid shadowing.
13664 Make filename a const char *.
13665
13666 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13669 to arg_getline to avoid shadowing.
13670
13671 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13674 disk_ to avoid shadowing.
13675
13676 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13679 curindex to avoid shadowing.
13680 Make static.
13681 (MatchFinder_GetNumAvailableBytes): Make static.
13682
13683 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13686 avoid shadowing.
13687
13688 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13689
13690 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13691 argument from encrypt to do_encrypt to avoid shadowing.
13692
13693 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13696 incorrect nesting of #if's.
13697
13698 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13701 checks which are always false on some platforms.
13702 (grub_cmd_lsacpi): Likewise.
13703 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13704 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13705 Likewise.
13706
13707 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13710 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13711
13712 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13715 re_dfa_t to avoid breaking alignment invariants.
13716 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13717 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13718
13719 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13720
13721 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13722 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13723
13724 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13725
13726 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13727 Fix declaration.
13728
13729 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13732 conserve alignment invariants.
13733 (grub_ehci_ehcc_read16): Likewise.
13734 (grub_ehci_oper_read32): Likewise.
13735 (grub_ehci_oper_write32): Likewise.
13736 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13737 Conserve alignment invariants.
13738
13739 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13740
13741 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13742 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13743 declarations.
13744
13745 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13748 Remove unused variable.
13749
13750 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13753 Remove set in if.
13754
13755 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 * include/grub/net.h: Remove double declarations.
13758
13759 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 Remove "payload" command in ia64 Linux loader since I couldn't
13762 find any evidence of it being used for anything.
13763 Replace "relocate" command with an environment variable
13764
13765 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13766 fields.
13767 (ia64_boot_payload): Removed.
13768 (last_payload): Likewise.
13769 (RELOCATE_OFF): Likewise.
13770 (RELOCATE_ON): Likewise.
13771 (RELOCATE_FORCE): Likewise.
13772 (relocate): Likewise.
13773 (free_pages): Don't free payloads.
13774 (grub_load_elf64): Use common error messages.
13775 Use "linux_relocate" variable.
13776 Increase the space after boot_params.
13777 (grub_cmd_payload): Removed.
13778 (grub_cmd_relocate): Likewise.
13779 (grub_cmd_fpswa): Improve messages.
13780 (cmd_payload): Removed.
13781 (cmd_relocate): Likewise.
13782 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13783 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13784
13785 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 Convert UHCI to DMA framework.
13788
13789 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13790 (grub_uhci_pci_iter): Fill new members
13791 (grub_alloc_td): Use P2V and V2P functions.
13792 (grub_free_queue): Likewise.
13793 (grub_alloc_qh): Likewise.
13794 (grub_uhci_setup_transfer): Likewise.
13795 (grub_uhci_check_transfer): Likewise.
13796
13797 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13800 Remove assignment in if while on it.
13801
13802 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 * util/grub-mkstandalone.in: Fix modules directory.
13805
13806 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13809 on i386-pc target.
13810 (argp_parser): Accept "auto" as compression specification.
13811
13812 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 Fix `help' with unloaded modules.
13815
13816 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13817 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13818 (grub_dyncmd_dispatcher): Small stylistic fix.
13819 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13820 explicit help is requested.
13821
13822 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13825 Explicitly init restart while on it.
13826
13827 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13830 uninited variable.
13831
13832 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 * util/grub-mknetdir.in: Use . rather than source for POSIX
13835 compatibility.
13836
13837 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13840
13841 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13842
13843 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13844 variable.
13845
13846 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13849 without quotes.
13850
13851 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13854
13855 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13858 iteration of partitions.
13859
13860 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 Improve gettext support. Stylistic fixes and error handling fixes while
13863 on it.
13864
13865 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13868 part. Instead setup the correct stack in RM.
13869 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13870 for stack.
13871 * include/grub/i386/relocator_private.h: New file.
13872
13873 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13876 argument.
13877 * util/grub-fstest.c (options): Add missing DEVICE part.
13878
13879 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13880
13881 Clarify and unify messages.
13882
13883 * grub-core/commands/hashsum.c (options): Unify messages.
13884 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13885 literal-only message as translatable.
13886 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13887 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13888 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13889 commands.
13890 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13891 key, not the key used to unlock. Clarify what it's used for.
13892 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13893 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13894 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13895 * util/grub-editenv.c (options): Unify "verbose" message.
13896 * util/grub-fstest.c (read_file): Unify error message.
13897 (fstest): Add quotes around commands.
13898 (options): Unify "verbose" message.
13899 * util/grub-install.in: Add quotes around variable name.
13900 * util/grub-kbdcomp.in: Unify error message.
13901 * util/grub-mkfont.c (main): Likewise.
13902 * util/grub-mkrescue.in: Likewise.
13903 * util/grub-mklayout.c (options): Unify "verbose" message.
13904 * util/grub-mkstandalone.in: Unify help and verbose messages.
13905 * util/grub-mount.c (options): Unify "verbose" message.
13906 * util/grub-probe.c (options): Likewise.
13907 * util/grub-script-check.c (options): Likewise.
13908 * util/grub-setup.c (setup): Unify no-terminator message.
13909 (options): Use DEVICE and not DEV.
13910 Unify "verbose" message.
13911 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13912
13913 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 Improve and unify messages.
13916
13917 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13918 name. All users updated.
13919 Print filename in error.
13920 (read_device_map): Print filename in error.
13921 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13922 (grub_util_get_os_disk): Likewise.
13923 (grub_util_biosdisk_get_grub_dev): Likewise.
13924 (grub_util_check_block_device): Likewise.
13925 (grub_util_check_char_device): Likewise.
13926 (grub_make_system_path_relative_to_its_root): Likewise.
13927 * util/grub-editenv.c (create_envblk_file): Likewise.
13928 (open_envblk_file): Likewise.
13929 (write_envblk): Likewise.
13930 * util/grub-fstest.c (cmd_cp): Likewise.
13931 (cmd_cat): Likewise.
13932 (cmd_cmp): Likewise.
13933 * util/grub-menulst2cfg.c (main): Likewise.
13934 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13935 (write_font_width_spec): Likewise.
13936 (write_font_pf2): Likewise.
13937 * util/grub-mkimage.c (generate_image): New argument outname.
13938 All users updated.
13939 Remove unreacheable message.
13940 (options): Unify messages.
13941 (help_filter): Likewise.
13942 * util/grub-mklayout.c (usage): Removed (unused).
13943 (main): Print filename in error.
13944 * util/grub-mkrescue.in: Fix wrong quoting.
13945 * util/grub-setup.c (setup): Print filename in error.
13946 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13947 (check_sas): Likewise.
13948 * util/misc.c (grub_util_get_fp_size): Removed.
13949 (grub_util_get_image_size): Print filename in error.
13950 (grub_util_read_at): Removed.
13951 (grub_util_read_image): Print filename in error.
13952 (grub_util_load_image): Likewise.
13953 (grub_util_write_image_at): New argument filename. All users updated.
13954 Print filename in error.
13955 (grub_util_write_image): New argument filename. All users updated.
13956 Print filename in error.
13957 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13958 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13959
13960 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 * grub-core/Makefile.core.def (pxechain): New module.
13963 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13964 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13965 function.
13966 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13967 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13968
13969 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13972 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13973 * include/grub/err.h (grub_error_saved): New struct.
13974 (grub_errmsg): Make array size explicit.
13975 * include/grub/misc.h (grub_error_save): New function.
13976 (grub_error_load): Likewise.
13977 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13978 (grub_error_push): Update `errno' member name.
13979 (grub_error_pop): Likewise
13980 * grub-core/net/tftp.c (tftp_data): New member save_err.
13981 (tftp_receive): Save error.
13982 (tftp_open): Restore error.
13983
13984 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13987 to real mode down to execute A20-related code in protected mode as
13988 intended.
13989
13990 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13991
13992 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13993 NULL when the argument `level' has an unexpected value.
13994
13995 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 Move platform-dependent files from $prefix to $prefix/$platform.
13998
13999 * config.h.in (GRUB_TARGET_CPU): New definition.
14000 (GRUB_PLATFORM): Likewise.
14001 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
14002 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
14003 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14004 * grub-core/kern/dl.c (grub_dl_load): Likewise.
14005 * grub-core/normal/autofs.c (read_fs_list): Likewise.
14006 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
14007 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
14008 * grub-core/normal/term.c (read_terminal_list): Likewise.
14009 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
14010 $prefix/locale.
14011 (grub_gettext_init_ext): Likewise.
14012 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
14013 grub_platform.
14014 * util/grub-install.in: Update directories.
14015 * util/grub-mknetdir.in: Likewise.
14016 * util/grub-mkrescue.in: Likewise.
14017
14018 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
14021 grub_error framework. All users updated.
14022
14023 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
14024
14025 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
14026 lists (by always binsearching), improve caching (cache strings
14027 used for binsearch, not only results), improve
14028 maintainability (by using more structured binary search) and correct
14029 error handling.
14030
14031 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * grub-core/script/execute.c (grub_script_return): Fix warning.
14034
14035 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 * grub-core/script/execute.c (grub_script_return): Fix potential
14038 NULL-dereference.
14039 Reported by: Jim Meyering.
14040
14041 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 * po/POTFILES.in: Regenerate.
14044 * util/grub-install.in: Gettextize the strings missed in first pass.
14045
14046 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 * Makefile.util.def (grub-mkdevicemap): Removed.
14049 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
14050 * include/grub/util/deviceiter.h: Removed.
14051 * util/deviceiter.c: Likewise.
14052 * util/getroot.c (grub_util_get_os_disk): New function.
14053 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
14054 replacement for EFI.
14055 * util/grub-mkdevicemap.c: Removed.
14056 * util/grub-probe.c (probe): Handle PRINT_DISK.
14057 (argp_parser): Handle -t disk.
14058
14059 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 * util/grub-mkfont.c: Migrate to argp.
14062 * util/grub-mklayout.c: Likewise.
14063 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14064 * util/grub-mkrelpath.c: Likewise.
14065 * util/grub-probe.c: Likewise.
14066 * util/grub-script-check.c: Likewise.
14067
14068 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * util/grub-reboot.in: Add missing datarootdir.
14071 Add missing newline.
14072 * util/grub-set-default.in: Add missing datarootdir.
14073 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
14074 * util/grub-mkrescue.in: Likewise.
14075
14076 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14077
14078 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
14079
14080 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * util/grub-kbdcomp.in: Add decent help and gettextize.
14083 * docs/man/grub-kbdcomp.h2m: New file.
14084
14085 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 Migrate grub-mkimage.c to argp.
14088
14089 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
14090 (grub-setup): Likewise.
14091 * util/grub-setup.c (print_version): Move to ...
14092 * util/argp_common.c (print_version): ... here.
14093 * util/grub-setup.c (argp_program_version_hook): Move to ...
14094 * util/argp_common.c (argp_program_version_hook): ... here.
14095 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
14096 safety.
14097 * util/grub-mkimage.c (main): Migrate to argp.
14098
14099 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 * util/grub-mkrescue.in: Use same message as
14102 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
14103 for better translations.
14104
14105 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
14108 options with generic grub-mkrescue.in with the goal of future
14109 merge.
14110
14111 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 * grub-core/kern/mm.c: Add missing include of i18n.h
14114 * grub-core/lib/relocator.c: Likewise.
14115
14116 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
14119 error.
14120 (allocate_pages): Check return value.
14121 Replace fatal with error.
14122 (grub_linux_boot): Replace printf with dprintf.
14123 Check find_mmap_size return value.
14124 Replace fatal with error.
14125 Don't call grub_machine_fini.
14126 (grub_load_elf64): Replace printf with dprintf.
14127 (grub_cmd_linux): Likewise.
14128 (grub_cmd_initrd): Likewise.
14129 (grub_cmd_payload): Likewise.
14130
14131 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
14134 message.
14135 * grub-core/video/radeon_fuloong2e.c
14136 (grub_video_radeon_fuloong2e_setup): Likewise.
14137 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
14138 * grub-core/video/video.c (grub_video_set_mode): Don't override
14139 standard out of memory message.
14140
14141 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14142
14143 NetBSD disk wedge support.
14144
14145 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
14146 [__NetBSD__]: Handle NetBSD disk wedges.
14147 * util/getroot.c (convert_system_partition_to_system_disk)
14148 [__NetBSD__]: Likewise.
14149
14150 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
14151
14152 * util/grub-mkconfig.in: Use umask rather than chmod to create
14153 grub.cfg.new to avoid insecure grub.cfg.
14154
14155 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 * grub-core/commands/ls.c: Gettextize.
14158 * grub-core/commands/setpci.c: Likewise.
14159 * grub-core/commands/videotest.c: Likewise.
14160 * grub-core/disk/geli.c: Likewise.
14161 * grub-core/kern/mm.c: Likewise.
14162 * grub-core/lib/relocator.c: Likewise.
14163 * grub-core/loader/efi/appleloader.c: Likewise.
14164 * grub-core/loader/i386/xnu.c: Likewise.
14165 * grub-core/loader/ia64/efi/linux.c: Likewise.
14166 * grub-core/loader/xnu.c: Likewise.
14167 * grub-core/net/dns.c: Likewise.
14168 * grub-core/net/net.c: Likewise.
14169 * grub-core/script/lexer.c: Likewise.
14170 * grub-core/script/parser.y: Likewise.
14171 * grub-core/script/yylex.l: Likewise.
14172 * util/getroot.c: Likewise.
14173 * util/grub-setup.c: Likewise.
14174
14175 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
14178 number.
14179
14180 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
14183
14184 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
14187 macro.
14188 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
14189 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
14190
14191 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
14194 * util/grub-install.in: Gettextize.
14195 * util/grub-mkconfig.in: Likewise.
14196 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
14197 if not available.
14198 (grub_warn): Gettextize.
14199 * util/grub-mknetdir.in: Gettextize.
14200 * util/grub-mkrescue.in: Likewise.
14201 * util/grub-mkstandalone.in: Likewise.
14202 * util/grub-reboot.in: Likewise.
14203 * util/grub-set-default.in: Likewise.
14204 * util/grub.d/00_header.in: Likewise.
14205 * util/grub.d/10_hurd.in: Likewise.
14206 * util/grub.d/10_kfreebsd.in: Likewise.
14207 * util/grub.d/10_linux.in: Likewise.
14208 * util/grub.d/10_netbsd.in: Likewise.
14209 * util/grub.d/10_windows.in: Likewise.
14210 * util/grub.d/20_linux_xen.in: Likewise.
14211 * util/grub.d/30_os-prober.in: Likewise.
14212 * po/POTFILES-shell.in: Regenerate.
14213
14214 2012-02-03 Richard Laager <rlaager@wiktel.com>
14215
14216 * util/grub-mkimage.c (main): Fix format-security warning.
14217 * util/grub-mkrelpath.c (main): Likewise.
14218 * util/grub-probe.c (main): Likewise.
14219
14220 2012-02-03 Richard Laager <rlaager@wiktel.com>
14221
14222 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
14223 failure.
14224 Put back lost PRINT_DRIVE.
14225
14226 2012-02-03 Richard Laager <rlaager@wiktel.com>
14227
14228 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
14229 (grub_guess_root_devices): Replace strlen with sizeof.
14230 Avoid crash.
14231 (find_root_devices_from_poolname): Remove unused variable.
14232 Handle raidzN.
14233
14234 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 Support install on multi-device filesystems.
14237
14238 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
14239 (grub_guess_root_devices): ...this. Return char **. All users updated.
14240 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
14241 Removed.
14242 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
14243 (find_root_devices_from_poolname): ... here.
14244 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
14245 Support zfs-fuse.
14246 (grub_guess_root_device): Rename to ...
14247 (grub_guess_root_devices): ... this. Return char **. All users updated.
14248 * util/grub-install.in: Handle multi-device filesystems.
14249 * util/grub-probe.c (probe). Make device_names a char **. Add delim
14250 argument. All users updated.
14251 Handle multi-device filesystems.
14252 Use 'delim' as separator.
14253 Remove device check to allow filesystems on file.
14254 (main): Support -0 argument. Handle multi-device.
14255 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
14256 Fix a cross-device check while on it.
14257 (arguments): Remove root_dev.
14258 (argp_parser): Remove -r.
14259 (main): Remove root_dev.
14260
14261 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
14264
14265 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
14268 symbol.
14269 Reported by: NODA, Kai <nodakai>.
14270
14271 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 Fix ehci on amd64.
14274
14275 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
14276 pointers.
14277 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
14278 (grub_ehci_setup_qh): Likewise.
14279 (grub_ehci_find_qh): Likewise.
14280 (grub_ehci_transaction): Likewise.
14281 (grub_ehci_setup_transfer): Likewise.
14282 (grub_ehci_check_transfer): Likewise.
14283 (grub_ehci_portstatus): Likewise.
14284 (grub_ehci_detect_dev): Likewise.
14285 (grub_ehci_transfer_controller_data): New field td_last_phys.
14286 (grub_ehci_setup_transfer): Fill td_last_phys.
14287 (grub_ehci_check_transfer): Use td_last_phys.
14288
14289 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
14290
14291 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
14292 if no submenu is present.
14293
14294 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14295
14296 CBI support.
14297
14298 * include/grub/usb.h (grub_usbms_protocol_t): New values
14299 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
14300 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
14301 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
14302 (grub_usbms_dev): Add subclass, protocol and intrpt.
14303 Remove in_maxsz and out_maxsz.
14304 (grub_usbms_reset): Rename to ...
14305 (grub_usbms_bo_reset): .. this.
14306 (grub_usbms_cbi_cmd): New function.
14307 (grub_usbms_cbi_reset): Likewise.
14308 (grub_usbms_reset): Likewise.
14309 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
14310 (grub_usbms_transfer): Rename to ...
14311 (grub_usbms_transfer_bo): ... this.
14312 (grub_usbms_transfer_cbi): Likewise.
14313 (grub_usbms_transfer): Likewise.
14314
14315 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14316 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14317
14318 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
14319 the support for the CS5536 modification thereos and few bugfixes.
14320
14321 * grub-core/Makefile.core.def (ehci): New module.
14322 * grub-core/bus/usb/ehci.c: New file.
14323 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
14324 port and hubaddr. All users updated.
14325 Save port and hubaddr into dev structure.
14326 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
14327 define.
14328 * include/grub/pci.h (grub_dma_phys2virt): New function.
14329 (grub_dma_virt2phys): Likewise.
14330 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
14331
14332 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
14335 check as some mkfs implementations omit it.
14336
14337 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * docs/grub.texi (Unicode): Mention identifier and space limitations.
14340
14341 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
14344 Add new member volname2.
14345 (grub_jfs_label): Use volname2 if available.
14346
14347 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
14350 over last_mounted as seen in image generated by mkfs.nilfs2.
14351 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
14352
14353 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
14356 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
14357 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14358
14359 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14362 over the sector.
14363
14364 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14367 subvolume name (by removing a bogus and useless check).
14368
14369 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14372 sizeof while on it.
14373
14374 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14377 (grub_scsi_read_capacity10): ... this.
14378 (grub_scsi_read_capacity16): New function.
14379 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14380 0xffffffff.
14381 Fix off-by-one error.
14382 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14383 64-bit unsigned.
14384 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14385 (grub_scsi_read_capacity10): ... this.
14386 (grub_scsi_read_capacity_data): Rename to ...
14387 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14388 (grub_scsi_read_capacity16): New struct.
14389 (grub_scsi_read_capacity16_data): Likewise.
14390 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14391 grub_scsi_cmd_read_capacity10.
14392 New command grub_scsi_cmd_read_capacity16.
14393
14394 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 SCSI >2TiB support.
14397
14398 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14399 (grub_scsi_write16): Likewise.
14400 (grub_scsi_read): Use read16 when necessary.
14401 (grub_scsi_write): Likewise.
14402 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14403 (grub_scsi_write16): Likewise.
14404 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14405
14406 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14407
14408 SCSI write support (for usbms mainly).
14409
14410 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14411 a const pointer.
14412 (grub_scsi_write): Implement.
14413 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14414
14415 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14418 variable.
14419
14420 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14423
14424 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14425
14426 * po/POTFILES.in: Regenerate.
14427
14428 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14431 with grub_printf to avoid unnecessary fatal failure.
14432
14433 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14436 (INT_MAX): Likewise.
14437 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14438 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14439 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14440 (strcpy): Likewise.
14441 (strstr): Likewise.
14442 (strchr): Likewise.
14443 (strncpy): Likewise.
14444 (strcat): Likewise.
14445 (strncat): Likewise.
14446 (strcoll): Likewise.
14447 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14448 (GRUB_INT_MAX): Likewise.
14449
14450 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14453 unexpected error.
14454 (optimize_utf8): Likewise.
14455 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14456
14457 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 * grub-core/boot/i386/pc/lnxboot.S: Use
14460 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14461 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14462 location.
14463 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14464 definition.
14465 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14466
14467 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14470 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14471 now to avoid double free.
14472 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14473 hostdisk.
14474 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14475 * util/grub-probe.c (escape_of_path): Always return a new copy.
14476 (print_full_name): Escape path.
14477 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14478 Fix hints on abstractions.
14479
14480 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14483 Don't add "root" line if no compatibility hont is available.
14484 Suggested by: Seth Goldberg.
14485
14486 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14487
14488 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14489 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14490 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14491 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14492
14493 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14496
14497 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * util/grub-pe2elf.c (ehdr): Make static.
14500 (shdr): Likewise.
14501 (num_sections): Likewise.
14502 (offset): Likewise.
14503
14504 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 Eliminate ofpath limits and possible overflows.
14507
14508 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14509 (OF_PATH_MAX): Removed.
14510 (MAX_DISK_CAT): New const.
14511 (find_obppath): Use allocated rather than preallocated buffer.
14512 Return result. Argument of_path removed. All users updated.
14513 Add missing fdstat.
14514 (xrealpath): New function.
14515 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14516 Allocate rather than use preallocated buffer. All users updated.
14517 (__of_path_common): Use allocated rather than preallocatecd buffer.
14518 Return result. Argument of_path removed. All users updated.
14519 (vendor_is_ATA): Read only needed part form the file.
14520 (check_sas): Allocate depending on contents rather than fixed.
14521 (main) [STANDALONE]: Handle NULL result.
14522
14523 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14526
14527 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 Cryptodisk write support.
14530
14531 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14532 (grub_cryptodisk_decrypt): Moved logic to ...
14533 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14534 (grub_cryptodisk_write): Implement.
14535 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14536 (grub_util_fd_write): ... this. Make global.
14537 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14538
14539 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 * include/grub/list.h (grub_list_remove): Don't crash if element is
14542 removed twice.
14543
14544 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 Rename ofconsole to console.
14547
14548 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14549 as sysnonym to console.
14550 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14551 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14552 Rename grub_ofconsole_ to grub_console_. All users updated
14553 (grub_console_term_output): Rename "ofconsole" to "console".
14554 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14555 as "console".
14556
14557 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14560 handling.
14561 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14562 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14563 GRUB_DISK_DEVICE_FILE_ID.
14564
14565 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14568 and improve performance.
14569
14570 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14573 missing ieee1275/ prefix on whole disk.
14574
14575 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14578 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14579
14580 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14583
14584 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 Merge common RAID and LVM logic to an abstract diskfilter.
14587 Add LDM support using the same framework.
14588
14589 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14590 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14591 (libgrubmods): Remove grub-core/disk/raid.c and
14592 grub-core/partmap/gpt.c.
14593 * grub-core/Makefile.core.def (ldm): New module.
14594 (raid): Renamed to diskfilter. All users updated.
14595 * grub-core/disk/raid.c: Moved to ...
14596 * grub-core/disk/diskfilter.c: ... here.
14597 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14598 (lv_num): New var.
14599 (find_array): Renamed to ...
14600 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14601 (grub_is_array_readable): Renamed to ...
14602 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14603 (insert_array): New argument id.
14604 (is_node_readable): New function.
14605 (scan_device): Rename to ...
14606 (scan_disk): .. this. Restrict to one disk.
14607 (scan_devices): New function.
14608 (grub_diskfilter_iterate): Support multi-LV.
14609 Skip invisible and nameless LVs.
14610 (grub_diskfilter_memberlist): Support multi-LV.
14611 (grub_diskfilter_read_node): New function.
14612 (grub_raid_read): Most of logic moved to ...
14613 (read_segment): ... here
14614 (read_lv): New function.
14615 (grub_diskfilter_get_vg_by_uuid): New function.
14616 (grub_diskfilter_make_raid): Likewise.
14617 * grub-core/disk/ldm.c: New file.
14618 * grub-core/disk/lvm.c (vg_list): Removed.
14619 (lv_count): Likewise.
14620 (scan_depth): Likewise.
14621 (is_lv_readable): Likewise.
14622 (grub_lvm_getvalue): Advance pointer past the number.
14623 (find_lv): Removed.
14624 (do_lvm_scan): Refactored into ...
14625 (grub_lvm_detect): ... this. Support raid.
14626 (grub_lvm_iterate): Removed.
14627 (grub_lvm_memberlist): Likewise.
14628 (grub_lvm_open): Likewise.
14629 (grub_lvm_close): Likewise.
14630 (read_lv): Likewise.
14631 (read_node): Likewise.
14632 (is_node_readable): Likewise.
14633 (is_lv_readable): Likewise.
14634 (grub_lvm_read): Likewise.
14635 (grub_lvm_write): Likewise.
14636 (grub_lvm_dev): Use diskfilter
14637 (GRUB_MOD_INIT): Likewise.
14638 (GRUB_MOD_FINI): Likewise.
14639 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14640 new interface.
14641 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14642 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14643 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14644 grub_diskfilter_read_node.
14645 Fix a bug with xor.
14646 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14647 grub_diskfilter_read_node.
14648 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14649 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14650 (grub_disk_dev_iterate): Move from here...
14651 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14652 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14653 Make global.
14654 (grub_hostdisk_find_partition_start): Likewise.
14655 (grub_hostdisk_os_dev_to_grub_drive): New function.
14656 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14657 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14658 * util/getroot.c (make_device_name): ... here.
14659 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14660 Move to ...
14661 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14662 * grub-core/kern/emu/hostdisk.c
14663 (convert_system_partition_to_system_disk): Move to ...
14664 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14665 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14666 * util/getroot.c (device_is_wholedisk): ... here.
14667 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14668 * util/getroot.c (find_system_device): ... here.
14669 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14670 Move to ...
14671 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14672 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14673 Move to ...
14674 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14675 Handle LDM.
14676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14677 Move to ...
14678 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14679 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14680 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14681 DISKFILTER.
14682 * include/grub/raid.h: Renamed to ...
14683 * include/grub/diskfilter.h: ... this.
14684 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14685 (GRUB_RAID_LAYOUT_*): Make into array.
14686 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14687 (grub_diskfilter_vg): New struct.
14688 (grub_diskfilter_pv_id): Likewise.
14689 (grub_raid_member): Removed.
14690 (grub_raid_array): Likewise.
14691 (grub_diskfilter_pv): New struct.
14692 (grub_diskfilter_lv): Likewise.
14693 (grub_diskfilter_segment): Likewise.
14694 (grub_diskfilter_node): Likewise.
14695 (grub_diskfilter_get_vg_by_uuid): New proto.
14696 (grub_raid_register): Inline.
14697 (grub_diskfilter_unregister): Likewise.
14698 (grub_diskfilter_make_raid): New proto.
14699 (grub_diskfilter_vg_register): Likewise.
14700 (grub_diskfilter_read_node): Likewise.
14701 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14702 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14703 (grub_util_is_ldm): Likewise.
14704 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14705 (grub_hostdisk_find_partition_start): Likewise.
14706 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14707 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14708 New definition.
14709 (grub_gpt_partition_map_iterate): New proto.
14710 * include/grub/lvm.h (grub_lvm_vg): Removed.
14711 (grub_lvm_pv): Likewise.
14712 (grub_lvm_lv): Likewise.
14713 (grub_lvm_segment): Likewise.
14714 (grub_lvm_node): Likewise.
14715 * util/getroot.c [...]
14716 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14717 (probe_abstraction): Likewise.
14718 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14719 (main): Remove dead logic.
14720
14721 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 Simplify root device discover and don't fail when trying to open
14724 incorrect devices.
14725
14726 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14727 function.
14728 (get_diskname_from_path): Likewise.
14729 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14730 of iterating.
14731
14732 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14735
14736 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14739 pastthe end.
14740
14741 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14742
14743 * util/grub-install.in: Add missing \.
14744 Reported by: gentoofan
14745
14746 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14749 (direct_read): Use correct compressed size.
14750 (grub_squash_read_data): Likewise.
14751
14752 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 * docs/grub.texi (Platform limitations): New section.
14755 (Platform-specific operations): Likewise.
14756 * docs/grub-dev.texi (Porting): Likewise.
14757
14758 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 IEEE1275 disk write support.
14761
14762 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14763 const void *.
14764 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14765 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14766 and seek loginc to ...
14767 (grub_ofdisk_prepare): ... here.
14768 (grub_ofdisk_write): Implement.
14769
14770 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14771
14772 ARC disk write support.
14773
14774 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14775 (reopen): New argument writable. All users updated.
14776 Handle required access mode.
14777 (grub_arcdisk_write): Implement.
14778 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14779 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14780
14781 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14784 (read_sblock): Don't attempt to read superblocks outside the disk size.
14785
14786 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14789 first superblock to find the second one when possible.
14790
14791 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * util/grub-install.in: Fix an ARC bug.
14794 Print a warning if no platform-specific setup is available.
14795
14796 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 Use static allocation rather than scratch pointer in reed_solomon.
14799 It decreases its size significantly and avoids a variable in .text.
14800
14801 * grub-core/lib/reed_solomon.c (scratch): Removed.
14802 (chosenstat): New const or static array.
14803 (sigma): Likewise.
14804 (errpot): Likewise.
14805 (errpos): Likewise.
14806 (sy): Likewise.
14807 (mstat): Likewise.
14808 (errvals): Likewise.
14809 (eqstat): Likewise.
14810 (pol_evaluate): Replace x with log_x argument. All users updated.
14811 (syndroms): Removed.
14812 (gauss_solve): Use statically allocated arrays.
14813 (rs_recover): Likewise.
14814 Calculate syndroms directly.
14815 (decode_block): Use statically allocated arrays.
14816 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14817 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14818
14819 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 Eliminate fixed limit on reed solomon decoder length.
14822
14823 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14824 rather than hardcoding the address.
14825 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14826 no_reed_solomon_length.
14827 Move gate_a20 to no-reed-solomon part.
14828 Don't force a particular size of no reed-solomon part.
14829 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14830 Removed.
14831 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14832 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14833
14834 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 * grub-core/commands/wildcard.c (match_files): Handle filenames
14837 without explicit device.
14838 (wildcard_expand): Don't add explicit device if not already present.
14839 * tests/grub_script_echo1.in: Add a new expansion test.
14840
14841 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 Replace single-linked with double-linked lists. It results in more
14844 compact and more efficient code.
14845
14846 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14847 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14848 (grub_list_remove): Moved from here ...
14849 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14850 (grub_prio_list_insert): Set prev.
14851 * include/grub/list.h (grub_list): Add prev. All users updated.
14852
14853 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 Handle newer autotools. Add some missing quotes while on it.
14856
14857 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14858 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14859 (pkgdata_DATA): ... here.
14860 * Makefile.util.def (update-grub_lib): Removed.
14861 * conf/Makefile.common (pkglib_DATA): Removed.
14862 (pkglib_SCRIPTS): Likewise.
14863 (pkgdata_DATA): New variable.
14864 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14865 needed.
14866 Add missing quotes.
14867 Remove unused variable while on it.
14868 * tests/util/grub-shell.in: Likewise.
14869 * util/grub-install.in: Likewise.
14870 * util/grub-mkconfig.in: Likewise.
14871 * util/grub-mknetdir.in: Likewise.
14872 * util/grub-mkrescue.in: Likewise.
14873 * util/grub-mkstandalone.in: Likewise.
14874 * util/grub.d/00_header.in: Likewise.
14875 * util/grub.d/10_hurd.in: Likewise.
14876 * util/grub.d/10_illumos.in: Likewise.
14877 * util/grub.d/10_kfreebsd.in: Likewise.
14878 * util/grub.d/10_linux.in: Likewise.
14879 * util/grub.d/10_netbsd.in: Likewise.
14880 * util/grub.d/10_windows.in: Likewise.
14881 * util/grub.d/20_linux_xen.in: Likewise.
14882 * util/grub.d/30_os-prober.in: Likewise.
14883 * util/update-grub_lib.in: Removed.
14884
14885 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
14886
14887 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14888 a workaround for intel problem.
14889
14890 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
14891 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14892 2012-01-23 pfsmorigo
14893
14894 * util/grub-install.in: Support dd'in into PreP partition.
14895 * util/grub-probe.c (probe): Support discovering partition type.
14896 (main): Support -t msdos_parttype.
14897
14898 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14901 infinite recursion using counter.
14902 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14903 init to skip it if the magic check fails.
14904 (dec_stream_header): Init s->crc32.
14905
14906 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14907 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
14908 2012-01-22 Richard Laager <rlaager@wiktel.com>
14909
14910 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14911 All users updated.
14912 (find_bestub): Determine correct size.
14913 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14914 (scan_disk): Align the size down.
14915 Call check pool before find_bestub to have ashift.
14916
14917 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14920 dprintf in no-malloc zone.
14921
14922 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14923
14924 * configure.ac: Add back in test for limits.h.
14925
14926 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 Support 4K-sector NTFS.
14929
14930 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14931 (grub_ntfs_data): Remove blocksize.
14932 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14933 Remove data argument. All users updated.
14934
14935 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14938 being in .text to avoid dprel references.
14939 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14940 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14941 (grub_arch_highmemsize): Likewise.
14942 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14943 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14944 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14945
14946 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14947
14948 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14949
14950 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14951 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14952
14953 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14956 GRUB_UTIL.
14957 (grub_set_datetime_cmos): Likewise.
14958
14959 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14960
14961 Make XZ compression parameters dependent on target and not host CPU.
14962
14963 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14964 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14965
14966 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14969 set but not used variable.
14970
14971 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14974 created when no uuid support is compiled into mkfs.reiser.
14975
14976 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14977
14978 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14979 (utf8_to_macroman): Do the opposite.
14980 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14981
14982 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 * configure.ac: Refise build qemu_mips w/o unifont.
14985
14986 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 Eliminate grub_min/grub_max prone to overflow usage.
14989
14990 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14991 (poll_nonroot_hub): Likewise.
14992 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14993 (grub_affs_label): Likewise.
14994 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14995 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14996 (grub_hfs_label): Likewise.
14997 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14998 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14999 (zap_leaf_array_equal): Use grub_size. Remove MIN.
15000 (zap_leaf_array_get): Likewise.
15001 (dnode_get_path): Likewise.
15002 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
15003 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
15004 * grub-core/script/execute.c (grub_script_break): Likewise.
15005 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
15006 grub_max.
15007 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
15008 * include/grub/misc.h (grub_min): Removed.
15009 (grub_max): Likewise.
15010
15011 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15012
15013 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
15014 direct.inode = 0.
15015
15016 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
15019
15020 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
15023
15024 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
15027 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
15028
15029 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
15032 rather than a hack for grub_strncasemap.
15033
15034 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15035
15036 Support multiple initrds
15037 Note: part of this was accidently committed in r3739.
15038
15039 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
15040 initrd.
15041 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
15042 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
15043 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
15044 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15045 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15046
15047 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15048
15049 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
15050 disks with unknown size.
15051 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
15052
15053 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 Remove defines pertaining to arbitrary limits not affecting GRUB
15056 anymore.
15057
15058 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
15059 (EXT2_MAX_SYMLINKCNT): Likewise.
15060 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
15061 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
15062 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
15063 (GRUB_PXE_MAX_BLKSIZE): Likewise.
15064 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
15065 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
15066 (DN_MAX_OBJECT_SHIFT): Likewise.
15067 (DN_MAX_OFFSET_SHIFT): Likewise.
15068 (DN_MAX_OBJECT): Likewise.
15069 (DNODES_PER_LEVEL_SHIFT): Likewise.
15070 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
15071 (SPA_MAXBLOCKSIZE): Likewise.
15072 (SPA_BLOCKSIZES): Likewise.
15073 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
15074 (MZAP_MAX_BLKSZ): Likewise.
15075
15076 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
15079 handle NULL appropriately.
15080 Remove MIN.
15081
15082 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 Fix efiemu.
15085
15086 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
15087 cpu/types.h.
15088 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
15089 * configure.ac: Fix efiemu check.
15090
15091 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
15094 grub_probe.
15095 Reported by: adamwill
15096
15097 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
15098
15099 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
15100
15101 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15102
15103 Fix handling of wide characters in gfxterm.
15104
15105 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
15106 (clear_char): Likewise.
15107 (paint_char): Skip code == NULL chars.
15108 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
15109
15110 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * grub-core/normal/charset.c: Move comment to right place.
15113
15114 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
15117 (GRUB_AFFS_FLAG_FFS): Put back where it was.
15118 (grub_affs_mount): Revert the correct version checking.
15119
15120 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 * docs/grub.texi (Unicode): Mention several other unsupported features.
15123
15124 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
15127 case statements as compile-time one.
15128 (direct_read): Prevent spurious warnings.
15129 (grub_squash_read_data): Likewise.
15130
15131 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15132
15133 Various squash4 fixes and LZO and XZ support.
15134
15135 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
15136 Add xzembed source files.
15137 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
15138 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
15139 (grub_squash_inode): New subtype long_dir.
15140 (SQUASH_TYPE_LONG_DIR): New inode type.
15141 (COMPRESSION): New enum.
15142 (XZBUFSIZ): New const.
15143 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
15144 (read_chunk): Use data->decompress.
15145 (zlib_decompress): New function.
15146 (lzo_decompress): Likewise.
15147 (xz_decompress): Likewise.
15148 (squash_mount): Set new data fields.
15149 (grub_squash_iterate_dir): Handle long dir.
15150 (squash_unmount): Free xzdec and xzbuf.
15151 (grub_squash_open): Check ino type.
15152 (direct_read): Stylistic fixes. Use data->decompress.
15153 (grub_squash_read_data): Likewise.
15154 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
15155 (get_byte): Likewise.
15156 (grub_zlib_disk_read): Removed.
15157 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
15158 (GRUB_POSIX_BOOL_DEFINED): New define.
15159 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
15160 * grub-core/lib/xzembed/xz.h: Addmissing includes.
15161 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
15162 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
15163
15164 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 Don't override more informative errors.
15167
15168 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
15169 * grub-core/font/font.c (open_section): Likewise.
15170 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
15171 filename. Don't override errors.
15172 (grub_cmd_openbsd_ramdisk): Don't override errors.
15173 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
15174 (grub_cmd_initrd): Likewise.
15175 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15176 (grub_cmd_initrd): Likewise.
15177 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
15178 (grub_cmd_linux): Likewise.
15179 (grub_cmd_initrd): Likewise.
15180 (grub_cmd_payload): Likewise.
15181 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
15182 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
15183 (grub_cmd_module): Likewise.
15184 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15185 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15186 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
15187 (grub_cmd_xnu_mkext): Likewise.
15188 (grub_cmd_xnu_ramdisk): Likewise.
15189 (grub_xnu_check_os_bundle_required): Likewise.
15190 (grub_xnu_load_kext_from_dir): Likewise.
15191 (grub_cmd_xnu_kextdir): Likewise.
15192 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
15193
15194 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
15197 as 1024 in block size field. Found on one of my test images.
15198 Small optimisation while on it.
15199
15200 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15201
15202 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
15203 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
15204 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
15205 performance fixes while on it.
15206 (grub_sfs_close): Fix memory leak while on it.
15207 (grub_sfs_label): Convert Latin1 to UTF-8.
15208
15209 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
15212 space to avoid overflows.
15213 (grub_hfs_label): Convert from macroman to UTF-8.
15214
15215 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
15218
15219 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
15222
15223 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 * unicode: Import Unicode 6.0 data.
15226
15227 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
15230 outside of range.
15231
15232 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15233
15234 Avoid cutting in the middle of UTF-8 character.
15235
15236 * include/grub/charset.h (grub_getend): New function.
15237 * grub-core/script/function.c (grub_script_function_find): Use
15238 grub_getend.
15239 * grub-core/normal/completion.c (add_completion): Likewise.
15240
15241 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
15244 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
15245 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
15246 (GRUB_UNICODE_TAG_END): Likewise.
15247 (GRUB_UNICODE_LAST_VALID): Likewise.
15248
15249 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15250
15251 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
15252 len and make it smaller. All users updated.
15253 * util/import_unicode.py: Put length and not end character.
15254 Check length.
15255
15256 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 Make better Unicode-compliant and unify some UTF-8 code pathes.
15259
15260 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
15261 valid character.
15262 (grub_is_valid_utf8): Use grub_utf8_process.
15263 Check resulting code range.
15264 (grub_utf8_to_ucs4): Use grub_utf8_process.
15265 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
15266 valid character.
15267
15268 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15269
15270 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
15271
15272 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * docs/grub.texi (Filesystems): Mention AFS.
15275
15276 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * docs/grub.texi (Filesystems): Clarify restrictions.
15279 (Regexp): Mention non-Unicode regexp behaviour.
15280 (Other): Mention non-Unicode matching behaviour.
15281
15282 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15283
15284 Make HFS implementation use MacRoman.
15285
15286 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
15287 (macroman): New const array.
15288 (macroman_to_utf8): New function.
15289 (utf8_to_macroman): Likewise.
15290 (grub_hfs_find_dir): Use utf8_to_macroman.
15291 (grub_hfs_dir): Use macroman_to_utf8.
15292 Set case_insensitive.
15293
15294 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
15297
15298 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 Integrate hints into autogeneration scripts.
15301
15302 * docs/grub.texi (Filesystems): Add a hostdisk example.
15303 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
15304 (grub-probe): Add ofpath.
15305 * gentpl.py: Remove group nosparc64.
15306 * grub-core/commands/search.c (cache_entry): New struct.
15307 (cache): New var.
15308 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
15309 * grub-core/commands/search_wrap.c (options): Add platform-specific
15310 hint options.
15311 (grub_cmd_search): Handle platform-specific hints.
15312 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
15313 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
15314 (grub_util_biosdisk_data): Likewise.
15315 (grub_util_biosdisk_open): Set device_map.
15316 (read_device_map): Handle "" as indication of no map.
15317 Set device_map.
15318 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
15319 (grub_util_biosdisk_get_compatibility_hint): New function.
15320 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
15321 * include/grub/emu/hostdisk.h
15322 (grub_util_biosdisk_get_compatibility_hint): New proto.
15323 * util/grub-install.in: Don't call grub-mkdevicemap.
15324 Add platform-specific hint to load.cfg.
15325 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
15326 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15327 hints. Set root preliminary to compatibility hint, not to OS name.
15328 * util/grub-probe.c (PRINT_*): Add hints.
15329 (print): Make static.
15330 (escape_of_path): New function.
15331 (guess_bios_drive): Likewise.
15332 (guess_efi_drive): Likewise.
15333 (guess_baremetal_drive): Likewise.
15334 (print_full_name): Likewise.
15335 (probe): Handle hints.
15336 (main): Likewise.
15337 * util/ieee1275/devicemap.c: Removed.
15338 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
15339 updated.
15340 (grub_util_devname_to_ofpath): Return NULL on failure.
15341
15342 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
15343 resource leak.
15344 * util/getroot.c (grub_util_pull_device): Fix memory leak.
15345
15346 * po/POTFILES.in: Regenerated.
15347
15348 Allow purely long options
15349
15350 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
15351 (SHORT_ARG_USAGE): Likewise.
15352 (grub_arg_show_help): Compare opt with help_options.
15353 (parse_option): Receive opt as argument. If makes big simplificatons.
15354 All users updated
15355
15356 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15359 Restructure to avoid warning.
15360
15361 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * util/grub-install.in: Account for possible escaped comma in device
15364 name.
15365
15366 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15369 channel.
15370
15371 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15374 allocation and zero-setting.
15375 (grub_ieee1275_get_devname): Check that alias is complete.
15376
15377 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15380 unaligned segments.
15381
15382 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15385 prefix.
15386 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15387 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15388 Add ieee1275 prefix.
15389
15390 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * docs/grub.texi (Filesystems): Update.
15393
15394 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 Support odc, newc and bigendian cpio formats.
15397
15398 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15399 * grub-core/Makefile.core.def (newc): New module.
15400 (odc): Likewise.
15401 (cpio_be): Likewise.
15402 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15403 (MAGIC): Likewise.
15404 (MAGIC2): Likewise.
15405 (head) [MODE_ODC]: Adapt for the format.
15406 (head) [MODE_NEWC]: Likewise.
15407 (head) [!MODE_*]: Write fields of interest as arrays.
15408 (MAGIC_USTAR): Removed.
15409 (read_number) [MODE_NEWC]: Change to hex.
15410 (read_number) [!MODE_*]: Parse binary arrays.
15411 (grub_cpio_find_file): Factor out the code for better structure and
15412 always use read_number.
15413 (grub_cpio_mount): Use MAGIC and MAGIC2.
15414 (grub_cpio_dir): Exit on first hook non-0 return.
15415 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15416 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15417 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15418 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15419 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15420 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15421 * grub-core/fs/newc.c: New file.
15422 * grub-core/fs/odc.c: Likewise.
15423 * grub-core/fs/cpio_be.c: Likewise.
15424
15425 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 Fix handling of tar numbers occupying the whole field.
15428
15429 * grub-core/fs/cpio.c (read_number): New function.
15430 (grub_cpio_find_file): Use read_number instead of strtoull.
15431
15432 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15435 occupying the whole field size.
15436
15437 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15438
15439 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15440
15441 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15442
15443 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15444
15445 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15446
15447 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15448 TARGET_IMG_LDFLAGS.
15449
15450 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15451
15452 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15453 (mountinfo_entry): Increase the field size to take escaping into
15454 account.
15455 (find_root_device_from_libzfs): Add one byte to size of strings for
15456 security.
15457
15458 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15461 an assert.
15462 * util/grub-setup.c (setup): Likewise.
15463
15464 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15467 _LzmaDecodeA.
15468
15469 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15470
15471 * docs/grub.texi (Internationalisation): New section.
15472
15473 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 * docs/grub.texi (Loopback booting): New section.
15476
15477 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
15478
15479 * util/grub-mkstandalone.in: Fix minor typo errors.
15480
15481 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15484
15485 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15486 net/icmp.c and net/icmp6.c.
15487 (http): New module.
15488 (priority_queue): Likewise.
15489 * grub-core/io/bufio.c: Rewritten.
15490 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15491 TYPE_WITH_CONFIGFILE_OPTION.
15492 (legacy_commands): Add bootp and dhcp.
15493 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15494 (grub_legacy_parse): Likewise.
15495 * grub-core/lib/priority_queue.c: New file.
15496 * grub-core/net/arp.c: Add missing license header.
15497 (arp_find_entry): Removed.
15498 (arp_find_entry): Likewise.
15499 (grub_net_arp_resolve): Rename to ...
15500 (grub_net_arp_send_request): ...this.
15501 (grub_net_arp_receive): New card argument.
15502 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15503 Set router and DNS server.
15504 (grub_net_configure_by_dhcp_ack): Handle routing information.
15505 (grub_cmd_bootp): Set checksum.
15506 (grub_bootp_init): Remove net_dhcp.
15507 * grub-core/net/dns.c: New file.
15508 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15509 completion.
15510 (get_card_packet): Handle allocation.
15511 (grub_efinet_findcards): Set mtu.
15512 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15513 (get_card_packet): Handle allocation.
15514 (emucard): Set mtu.
15515 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15516 (GRUB_MOD_INIT): Set mtu.
15517 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15518 mtu.
15519 (get_card_packet): Handle allocation.
15520 (grub_ofnet_findcards): Set mtu.
15521 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15522 assert.
15523 (grub_net_recv_ethernet_packet): Handle IPv6.
15524 * grub-core/net/http.c: New file.
15525 * grub-core/net/icmp.c: Likewise.
15526 * grub-core/net/icmp6.c: Likewise.
15527 * grub-core/net/ip.c (ip6addr): New type.
15528 (ip6hdr): Likewise.
15529 (reassemble): Likewise.
15530 (cmp): New function.
15531 (reassembles): New variable.
15532 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15533 (id): New variable.
15534 (send_fragmented): New function.
15535 (grub_net_send_ip_packet): Rename to ...
15536 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15537 Handle non-UDP.
15538 (grub_net_recv_ip_packets): Rename to ...
15539 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15540 (free_rsm): New function.
15541 (free_old_fragments): Likewise.
15542 (grub_net_recv_ip4_packets): New function.
15543 (grub_net_send_ip6_packet): Likewise.
15544 (grub_net_send_ip_packet): Likewise.
15545 (grub_net_recv_ip6_packets): Likewise.
15546 (grub_net_recv_ip_packets): Likewise.
15547 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15548 (LINK_LAYER_CACHE_SIZE): New const.
15549 (link_layer_find_entry): New function.
15550 (grub_net_link_layer_add_address): Likewise.
15551 (grub_net_link_layer_resolve_check): Likewise.
15552 (grub_net_link_layer_resolve): Likewise.
15553 (grub_net_ipv6_get_slaac): Likewise.
15554 (grub_net_ipv6_get_link_local): Likewise.
15555 (grub_cmd_ipv6_autoconf): Likewise.
15556 (parse_ip): Handle one number representation.
15557 (parse_ip6): New functoion.
15558 (match_net): Handle IPv6.
15559 (grub_net_resolve_address): Handle IPv6 and DNS.
15560 (grub_net_resolve_net_address): Handle IPv6.
15561 (route_cmp): New function.
15562 (grub_net_route_address): Find best route.
15563 (grub_net_addr_to_str): Handle IPv6.
15564 (grub_net_addr_cmp): New function.
15565 (grub_net_add_addr): Register local route.
15566 (print_net_address): Handle net address.
15567 (grub_net_poll_cards): Retransmit TCP.
15568 (grub_net_poll_cards_idle_real): Likewise.
15569 (have_ahead): New function.
15570 (grub_net_seek_real): Use underlying seek.
15571 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15572 * grub-core/net/tcp.c: New file.
15573 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15574 (cmp): New function.
15575 (ack): Likewise.
15576 (tftp_receive): Handle unordered input.
15577 (destroy_pq): New function.
15578 (tftp_close): Close pq.
15579 * grub-core/net/udp.c: Put missing license header.
15580 (grub_net_udp_socket): New function.
15581 (udp_socket_register): Likewise.
15582 (grub_net_udp_close): Likewise.
15583 (grub_net_recv_udp_packet): Check checksum.
15584 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15585 * include/grub/misc.h (grub_memchr): New function.
15586 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15587 (grub_net_card_driver): Return buf in recv.
15588 (grub_net_slaac_mac_list): New struct.
15589 (grub_network_level_protocol_id): Add ipv6.
15590 (grub_net_network_level_addr): Likewise.
15591 (grub_net_network_level_net_addr): Likewise.
15592 (grub_net_app_protocol): Add seek.
15593 (grub_net_socket): Removed.
15594 (grub_net_sockets): Likewise.
15595 (grub_net_socket_register): Likewise.
15596 (grub_net_socket_unregister): Likewise.
15597 (FOR_NET_SOCKETS): Likewise.
15598 (grub_net_add_addr): Add const.
15599 (GRUB_NET_BOOTP_*): New enum.
15600 (grub_net_addr_cmp): New proto.
15601 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15602 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15603 (grub_net_hwaddr_to_str): NEw proto.
15604 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15605 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15606 (grub_dns_init): New proto.
15607 (grub_dns_fini): Likewise.
15608 (grub_net_tcp_retransmit): Likewise.
15609 (grub_net_link_layer_add_address): Likewise.
15610 (grub_net_link_layer_resolve_check): Likewise.
15611 (grub_net_link_layer_resolve): Likewise.
15612 (grub_net_dns_lookup): Likewise.
15613 (grub_net_add_dns_server): Likewise.
15614 (grub_net_remove_dns_server): Likewise.
15615 (GRUB_NET_TRIES): New const.
15616 (GRUB_NET_INTERVAL): Likewise.
15617 * include/grub/net/arp.h: Mostly rewritten.
15618 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15619 * include/grub/net/ip.h: Mostly rewritten.
15620 * include/grub/net/netbuff.h: Indent.
15621 * include/grub/net/tcp.h: New file.
15622 * include/grub/net/udp.h: Mostly rewritten.
15623 * include/grub/priority_queue.h: New file.
15624 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15625 (grub_swap_bytes64_compile_time): Likewise.
15626 (grub_cpu_to_be16_compile_time): Likewise.
15627 (grub_cpu_to_be32_compile_time): Likewise.
15628 (grub_cpu_to_be64_compile_time): Likewise.
15629 (grub_be_to_cpu64_compile_time): Likewise.
15630
15631 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15634 UINT_TO_PTR with cast.
15635
15636 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15639 don't use them.
15640
15641 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15644 already there.
15645
15646 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15649 confusing ipxe.
15650
15651 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15654 Add missing const attribute.
15655 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15656 Likewise.
15657 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15658 Likewise.
15659
15660 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15661
15662 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15663 misaligned access.
15664 (serpent_setkey): Likewise.
15665 (serpent_encrypt_internal): Likewise.
15666 (serpent_decrypt_internal): Likewise.
15667 (serpent_encrypt): Don't put an alignment-increasing cast.
15668 (serpent_decrypt): Likewise.
15669 (serpent_test): Likewise.
15670
15671 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15672
15673 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15674
15675 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15678
15679 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15680 grub_addr_t casts.
15681 (PTR_TO_UINT64): Likewise.
15682 (PTR_TO_UINT32): Likewise.
15683
15684 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15687 because of stack.
15688 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15689 limit.
15690
15691 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15692
15693 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15694 text_width > available width a bit more gracefully.
15695
15696 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15699 current address calculation.
15700
15701 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15704 stack.
15705 (encode_block): Likewise.
15706
15707 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15710 certainety.
15711
15712 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15715 non-RS part to avoid RS messing with GDT.
15716 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15717 Increase to suit in realmode routines.
15718
15719 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15720
15721 * grub-core/kern/i386/realmode.S: Increase alignment.
15722 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15723
15724 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15725
15726 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15727 be deterministic.
15728 (syndroms): Compute 0 syndrom.
15729 (rs_recover): Use 0 syndrom.
15730
15731 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15734
15735 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15738 brackets.
15739
15740 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15743 account.
15744 (get_top_pad): Likewise.
15745 (get_right_pad): Likewise.
15746 (get_bottom_pad): Likewise.
15747
15748 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
15751
15752 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15755 attribute as the structure isn't guaranteed to be properly aligned.
15756 (grub_efi_pci_device_path): Likewise.
15757 (grub_efi_pccard_device_path): Likewise.
15758 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15759 specify the size of `memory_type'.
15760 (grub_efi_vendor_device_path): Likewise.
15761 (grub_efi_controller_device_path): Likewise.
15762 (grub_efi_acpi_device_path): Likewise.
15763 (grub_efi_expanded_acpi_device_path): Likewise.
15764 (grub_efi_atapi_device_path): Likewise.
15765 (grub_efi_scsi_device_path): Likewise.
15766 (grub_efi_fibre_channel_device_path): Likewise.
15767 (grub_efi_1394_device_path): Likewise.
15768 (grub_efi_usb_device_path): Likewise.
15769 (grub_efi_usb_class_device_path): Likewise.
15770 (grub_efi_i2o_device_path): Likewise.
15771 (grub_efi_mac_address_device_path): Likewise.
15772 (grub_efi_ipv4_device_path): Likewise.
15773 (grub_efi_ipv6_device_path): Likewise.
15774 (grub_efi_infiniband_device_path): Likewise.
15775 (grub_efi_uart_device_path): Likewise.
15776 (grub_efi_vendor_messaging_device_path): Likewise.
15777 (grub_efi_hard_drive_device_path): Likewise.
15778 (grub_efi_cdrom_device_path): Likewise.
15779 (grub_efi_vendor_media_device_path): Likewise.
15780 (grub_efi_file_path_device_path): Likewise.
15781 (grub_efi_protocol_device_path): Likewise.
15782 (grub_efi_piwg_device_path): Likewise.
15783 (grub_efi_bios_device_path): Likewise.
15784
15785 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15788 (grub_ucs4_to_utf8_alloc): Likewise.
15789 (grub_ucs4_to_utf8): Likewise.
15790 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15791 (grub_ucs4_to_utf8_alloc): Likewise.
15792
15793 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 AFFS never uses unicode.
15796
15797 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15798 (grub_latin1_to_utf8): New inline function.
15799 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15800
15801 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15804 overflow.
15805
15806 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15807
15808 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15809 (grub_squash_dirent_header): Likewise.
15810 (read_chunk): Don't double swap.
15811 (grub_squash_iterate_dir): Fix swap sizes.
15812
15813 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15814
15815 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15816
15817 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15818
15819 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15820 (grub_hfs_iterate_dir): Likewise.
15821
15822 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 Fix video on platforms where unaligned access is forbidden.
15825 Make several optimisations while on it.
15826
15827 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15828 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15829 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15830 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15831 Disable.
15832 (grub_video_fbblit_replace_16bit_1bit):
15833 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15834 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15835 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15836 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15837 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15838 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15839 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15840 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15841 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15842 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15843 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15844 (grub_video_fbblit_replace_index_RGB888): Likewise.
15845 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15846 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15847 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15848 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15849 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15850 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15851 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15852 Disable.
15853 (grub_video_fbblit_blend_XXX565_1bit):
15854 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15855 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15856 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15857 void *.
15858 * grub-core/video/fb/video_fb.c (common_blitter)
15859 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15860 (grub_video_fb_create_render_target_from_pointer)
15861 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15862 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15863 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15864 definition.
15865 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15866
15867 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15870 HH22 and HM10 relocations.
15871
15872 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15875
15876 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15879 allocation succeeded.
15880
15881 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15882
15883 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15884 argument a u8 pointer. All users updated.
15885 Handle unaligned buffers.
15886
15887 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15890 add_part to workaround compiler bug.
15891
15892 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15895
15896 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15899 Reserve alignment invariants.
15900 (grub_multiboot_load): Likewise.
15901 (retrieve_video_parameters): Likewise.
15902 (grub_multiboot_make_mbi): Likewise.
15903
15904 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15907 incorrect pointer.
15908
15909 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15910
15911 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15912 (grub_pata_pio_write): Likewise.
15913
15914 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 Add noreturn attributes and remove unreachable code.
15917
15918 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15919 code.
15920 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15921 code. Mark as noreturn.
15922 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15923 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15924 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15925 unreachable code.
15926 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15927 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15928 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15929 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15930 * include/grub/kernel.h (grub_main): Mark as noreturn.
15931 * include/grub/reader.h (grub_rescue_run): Likewise.
15932
15933 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15936 redundant declaration.
15937
15938 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15941 redundant declaration.
15942 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15943
15944 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15947 to ensure alignment.
15948 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15949 alignment. Ensure tmp alignment.
15950 (grub_cmd_hdparm): Ensure buf alignment.
15951 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15952 to ensure alignment.
15953 (grub_ata_dumpinfo): Ensure text alignment.
15954 (grub_atapi_identify): Preserve alignment invariant.
15955 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15956
15957 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15960 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15961 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15962 * include/grub/misc.h (grub_reboot)
15963 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15964 (grub_halt) [__mips__]: Likewise.
15965
15966 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15969 Remove redundant declaration.
15970 (grub_mmap_get_post64): Likewise.
15971 (grub_mmap_get_upper): Likewise.
15972 (grub_mmap_get_lower): Likewise.
15973
15974 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15977 uint32_t * to ensure alignment.
15978 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15979
15980 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15981
15982 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15983 uint16_t * to ensure alignment.
15984 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15985 alignment.
15986
15987 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
15990 to ensure alignment.
15991 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15992
15993 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15996 Handle unaligned pointers.
15997 (u32at): Likewise.
15998 (u64at): Likewise.
15999 (fixup): Use byte access instead of v16at.
16000 (find_attr): Fix imporper usage of v32at.
16001 (read_data): Likewise.
16002 (list_file): Handle byte-swapping and unaligned strings.
16003 (grub_ntfs_label): Likewise.
16004
16005 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
16008 as it's not necessarily aligned.
16009
16010 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
16013 redundant declaration.
16014 (grub_serial_init): Likewise.
16015 (grub_terminfo_init): Likewise.
16016
16017 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
16020 function.
16021 (ZAP_HASH_IDX): Likewise.
16022 (ZAP_LEAF_HASH_SHIFT): Likewise.
16023 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
16024 (LEAF_HASH): Likewise.
16025 (ZAP_LEAF_NUMCHUNKS): Likewise.
16026 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
16027 alignment invariants. Return pointer. All users updated.
16028 (ZAP_LEAF_ENTRY): Make into inline function.
16029 (NBBY): Removed.
16030 (xor): LIkewise.
16031 (xor_out): Use grub_crypto_xor.
16032 (dnode_get_path): Use grub_get_unaligned.
16033 (nvlist_find_value): Likewise.
16034 (grub_zfs_nvlist_lookup_uint64): Likewise.
16035 (grub_zfs_nvlist_lookup_string): Likewise.
16036 (get_nvlist_size): Likewise.
16037 (grub_zfs_open): Likewise.
16038 (fill_fs_info): Likewise.
16039 (grub_zfs_dir): Likewise.
16040 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
16041 alignment invariants.
16042 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
16043 necessarily aligned.
16044
16045 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16046
16047 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
16048
16049 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16050
16051 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
16052 arithmetic to conserve alignment invariants.
16053
16054 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16055
16056 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
16057 redundant declaration.
16058 (grub_efiemu_mm_obtain_request): Likewise.
16059 (grub_efiemu_prepare): Likewise.
16060
16061 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
16064 to match types.
16065
16066 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
16069 case of aunaligned recptr.
16070 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
16071 alignment.
16072 (grub_hfsplus_btree_search): Handle unaligned index.
16073
16074 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
16077 to get freetag and skip.
16078
16079 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
16082 array.
16083 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
16084 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
16085
16086 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
16089 name for checksum and fix allocation algorithm.
16090
16091 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16092
16093 * include/grub/types.h (grub_properly_aligned_t): New type.
16094 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
16095 (grub_get_unaligned16): Add explicit casts.
16096 (grub_get_unaligned32): Likewise.
16097 (grub_get_unaligned64): Likewise.
16098 (grub_set_unaligned16): New function.
16099 (grub_set_unaligned32): Likewise.
16100
16101 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16104
16105 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
16108 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
16109 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
16110
16111 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
16114 conditionals.
16115
16116 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
16119 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
16120
16121 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 Unify and improve RAID and crypto xor.
16124
16125 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
16126 changed to grub_crypto_xor
16127 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
16128 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
16129 Use bigger types when possible.
16130
16131 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 * grub-core/disk/raid.c (scan_devices): Fix condition.
16134
16135 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
16138 Make name a const ptr.
16139
16140 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
16143 first argument a const pointer.
16144 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
16145 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
16146 proto.
16147 (grub_children_iterate): Likewise.
16148 (grub_machine_mmap_iterate): Remove redundant declaration.
16149
16150 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
16153 (grub_cmd_acpi) [!x86]: Disable EBDA.
16154
16155 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 Enable UTF8 in gnulib regexp.
16158
16159 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
16160 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
16161 (isupper): Use grub_isupper.
16162 (isascii): New inline function.
16163 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
16164 * grub-core/lib/posix_wrap/wctype.h: Likewise.
16165 * grub-core/normal/charset.c (grub_utf8_process): New function.
16166 (grub_utf8_to_utf16): Use grub_utf8_process.
16167 (grub_encode_utf8_character): New function.
16168 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
16169 * include/grub/charset.h (grub_utf8_process): New declaration.
16170 (grub_encode_utf8_character): Likewise.
16171 * include/grub/misc.h (grub_islower): New inline function.
16172 (grub_isupper): Likewise.
16173 (grub_strchrsub): Moved down to fix the definitions.
16174
16175 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
16178 specification.
16179
16180 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 * include/grub/loader.h (grub_loader_register_preboot_hook):
16183 Use struct preboot * and not void * for handle. All users updated.
16184 (grub_loader_unregister_preboot_hook): Likewise.
16185
16186 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
16187
16188 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
16189 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
16190 UTF-16-BE. All users updated.
16191 (grub_hfsplus_cmp_catkey): Fix unicode handling.
16192 (grub_hfsplus_iterate_dir): Likewise.
16193 (grub_hfsplus_label): Likewise.
16194
16195 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
16196
16197 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
16198
16199 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
16200
16201 Add missing const qualifiers.
16202
16203 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
16204 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
16205 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
16206 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
16207 (grub_lvm_check_flag): Likewise.
16208 * grub-core/efiemu/i386/coredetect.c
16209 (grub_efiemu_get_default_core_name): Likewise
16210 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
16211 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
16212 * grub-core/fs/ntfs.c (fixup): Likewise.
16213 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
16214 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
16215 (fzap_lookup): Likewise.
16216 (zap_lookup): Likewise.
16217 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
16218 * grub-core/lib/legacy_parse.c (check_option): Likewise.
16219 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
16220 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
16221 (grub_freebsd_add_meta_module): Likewise.
16222 (grub_cmd_freebsd_module): Likewise.
16223 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
16224 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
16225 (grub_xnu_writetree_get_size): Likewise.
16226 (grub_xnu_writetree_toheap_real): Likewise.
16227 (grub_xnu_find_key): Likewise.
16228 (grub_xnu_create_key): Likewise.
16229 (grub_xnu_create_value): Likewise.
16230 (grub_xnu_register_memory): Likewise.
16231 (grub_xnu_check_os_bundle_required): Likewise.
16232 (grub_xnu_scan_dir_for_kexts): Likewise.
16233 (grub_xnu_load_kext_from_dir): Likewise.
16234 * grub-core/normal/color.c (color_list): Likewise.
16235 * grub-core/normal/completion.c (current_word): Likewise.
16236 * grub-core/normal/menu_entry.c (insert_string): Likewise.
16237 * grub-core/term/serial.c (grub_serial_find): Likewise.
16238 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
16239 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
16240 Likewise.
16241 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
16242 (grub_freebsd_add_meta_module): Likewise.
16243 * include/grub/lib/arg.h (grub_arg_option): Likewise.
16244 * include/grub/net.h (grub_net_card_driver): Likewise.
16245 (grub_net_card): Likewise.
16246 (grub_net_app_protocol): Likewise.
16247 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
16248 * include/grub/serial.h (grub_serial_find): Likewise.
16249 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
16250 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
16251 (grub_xnu_create_value): Likewise.
16252 (grub_xnu_find_key): Likewise.
16253 (grub_xnu_scan_dir_for_kexts): Likewise.
16254 (grub_xnu_load_kext_from_dir): Likewise.
16255
16256 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
16257 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
16258 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
16259 Moved from here ...
16260 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
16261
16262 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
16263
16264 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
16265
16266 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
16269 (read_device): Fix size calculation.
16270
16271 2011-11-25 Robert Millan <rmh@gnu.org>
16272
16273 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
16274 (find_root_device_from_libzfs): Add zpool output parser to be used
16275 as fallback when libzfs isn't available.
16276
16277 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
16278
16279 * po/Makefile.in.in: Add missing escape-continuation.
16280
16281 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
16284
16285 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
16288
16289 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
16292
16293 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16294
16295 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
16296
16297 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16298
16299 * grub-core/lib/adler32.c: Add missing license specification.
16300 * grub-core/lib/crc64.c: Likewise.
16301 * grub-core/loader/i386/pc/plan9.c: Likewise.
16302 * grub-core/partmap/plan.c: Likewise.
16303
16304 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
16305
16306 Add facility to debug GRUB with gdb under qemu.
16307
16308 * grub-core/gdb_grub.in: New file.
16309 * grub-core/gmodule.pl.in: Likewise.
16310 * grub-core/Makefile.core.def (gmodule.pl): New script.
16311 (gdb_grub): Likewise.
16312
16313 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 * util/grub-mount.c (argp_parser): Accept relative pathes.
16316 * util/grub-fstest.c (argp_parser): Likewise.
16317
16318 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 Plan9 support.
16321
16322 * Makefile.util.def (libgrubmods): Add
16323 grub-core/partmap/plan.c.
16324 * docs/grub.texi: Notice Plan9 support.
16325 * grub-core/Makefile.core.def (plan9): New module.
16326 (part_plan): Likewise.
16327 * grub-core/loader/i386/pc/plan9.c: New file.
16328 * grub-core/partmap/plan.c: Likewise.
16329 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
16330 define.
16331 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
16332 * include/grub/mm.h (grub_extend_alloc): New inline function.
16333
16334 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16335
16336 Make Reed-Solomon faster by using power of generator representation of
16337 GF(256)*.
16338
16339 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
16340 (gf_double_t): Likewise.
16341 (gf_invert): Removed.
16342 (gf_powx): New array.
16343 (gf_powx_inv): Likewise.
16344 (scratch): Move higher.
16345 (gf_reduce): Removed.
16346 (gf_mul): Use powx.
16347 (gf_invert): Likewise.
16348 (init_inverts): Replaced with ...
16349 (init_powx): ...this. All users updated.
16350 (pol_evaluate): Replace multiplications with additions.
16351 (rs_encode): Likewise.
16352 (gauss_eliminate): Call gf_invert.
16353 (grub_reed_solomon_add_redundancy): Call init_powx.
16354 (grub_reed_solomon_recover): Call init_powx unconditionally.
16355
16356 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16359
16360 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16361
16362 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16363 disk->partiton for safety.
16364
16365 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16368 Fix a memory leak.
16369 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16370
16371 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16374
16375 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16376
16377 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16378
16379 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 Fix spaces handling in proc/self/mountinfo.
16382
16383 * util/getroot.c (unescape): New function.
16384 (grub_find_root_device_from_mountinfo): Use unescape.
16385
16386 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 Support ZFS embedding.
16389
16390 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16391 (grub_zfs_fs): Register grub_zfs_embed.
16392
16393 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 Fix MIPS compilation.
16396
16397 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16398 * include/grub/offsets.h: Rename decompressor fields from
16399 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16400 * util/grub-mkimage.c (image_targets): Use new names.
16401
16402 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16403
16404 Defer multiboot device parsing until we're in compressed part.
16405
16406 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16407 bsd_part. setdevice has fallen into disuse.
16408 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16409 (bsd_part): Likewise.
16410 (boot_dev): New variable.
16411 (multiboot_trampoline): Don't parse multiboot device.
16412 Pass multiboot device in %edx.
16413 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16414 grub_boot_device.
16415 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16416 Likewise.
16417 * grub-core/kern/i386/pc/startup.S: Save edx.
16418 (grub_boot_drive): Removed.
16419 (grub_install_dos_part): Likewise.
16420 (grub_install_bsd_part): Likewise.
16421 (grub_boot_device): New variable.
16422 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16423 (grub_install_bsd_part): Likewise.
16424 (grub_boot_drive): Likewise.
16425 (grub_boot_device): New variable.
16426 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16427 Removed.
16428 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16429 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16430 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16431 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16432 * util/grub-install.in: Remove redundant condition.
16433
16434 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 Fix bug introduced by previous commit.
16437
16438 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16439
16440 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 Use decompressors framework on i386-pc. It increases core size
16443 by 46 bytes but improves compatibility and maintainability.
16444
16445 * grub-core/Makefile.core.def (lzma_decompress): New image.
16446 (kernel): Add i386_pc_ldflags.
16447 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16448 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16449 to real_to_prot, prot_to_real and device info.
16450 * include/grub/offsets.h: Renamed decompressor offsets.
16451 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16452 (image_target_desc): Remove raw_size and rename decompressor fields.
16453 (compress_kernel): Handle lzma.
16454 (generate_image): Handle decompressors on i386-pc.
16455
16456 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 * configure.ac: Add -fno-asynchronous-unwind-tables.
16459
16460 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16461
16462 Move assembly code to C by using intwrap. It increases core size
16463 by 88 bytes but improves compatibility and maintainability.
16464
16465 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16466 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16467 ... here. Translated to C.
16468 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16469 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16470 ... here. Translated to C.
16471 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16472 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16473 ... here. Translated to C.
16474 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16475 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16476 ... here. Translated to C.
16477 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16478 * grub-core/term/i386/pc/console.c (grub_console_cls):
16479 ... here. Translated to C.
16480 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16481 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16482 ... here. Translated to C.
16483 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16484 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16485 Translated to C.
16486 * grub-core/term/i386/pc/console.c (int10_9): New function.
16487 (grub_console_putchar): Likewise.
16488 * include/grub/i386/pc/console.h: Removed the not anymore shared
16489 functions.
16490
16491 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 Move grub_chainloader_real_boot out of the kernel.
16494
16495 * grub-core/Makefile.am: Remove machine/loader.h.
16496 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16497 Removed.
16498 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16499 variable.
16500 (grub_relocator16_keep_a20_enabled): Likewise.
16501 (grub_relocator16_boot): Fill new variables.
16502 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16503 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16504 relocator.
16505 (grub_chainloader_unload): Likewise.
16506 (grub_chainloader_cmd): Likewise.
16507 * include/grub/i386/pc/loader.h: Removed.
16508 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16509 and esi. All initialisers updated.
16510
16511 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16512 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
16513
16514 * Makefile.util.def (grub-mount): New util.
16515 * .bzrignore: Add grub-mount.
16516 * configure.ac: Check for fuse and enable grub-mount if available.
16517 * docs/man/grub-mount.h2m: New file.
16518 * util/grub-mount.c: Likewise.
16519
16520 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 * grub-core/commands/efi/fixvideo.c: Gettextize.
16523 * grub-core/commands/hashsum.c: Likewise.
16524 * grub-core/commands/i386/cmostest.c: Likewise.
16525 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16526 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16527 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16528 * grub-core/commands/lsmmap.c: Likewise.
16529 * grub-core/commands/menuentry.c: Likewise.
16530 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16531 * grub-core/commands/setpci.c: Likewise.
16532 * grub-core/loader/i386/bsd.c: Likewise.
16533 * grub-core/loader/i386/linux.c: Likewise.
16534 * util/getroot.c: Likewise.
16535 * util/grub-editenv.c: Likewise.
16536 * util/grub-fstest.c: Likewise.
16537 * util/grub-mkfont.c: Likewise.
16538 * util/grub-mkimage.c: Likewise.
16539 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16540 * util/grub-pe2elf.c: Likewise.
16541 * util/grub-probe.c: Likewise.
16542 * util/grub-setup.c: Likewise.
16543 * util/ieee1275/ofpath.c: Likewise.
16544 * util/misc.c: Likewise.
16545 * util/raid.c: Likewise.
16546
16547 2011-11-11 Robert Millan <rmh@gnu.org>
16548
16549 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16550 __attribute__((unused)) from `os_dev', which *is* being used.
16551
16552 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16553
16554 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16555 forgotten define.
16556 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16557 GRUB_IA64_DL_GOT_ALIGN.
16558 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16559 GRUB_IA64_DL_TRAMP_ALIGN.
16560
16561 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 Replace grub_fatal with normal errors in i386 linux loader.
16564
16565 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16566 (allocate_pages): Check find_efi_mmap_size return value.
16567 (grub_e820_add_region): Return error.
16568 (grub_linux_boot): Check mmap return value.
16569
16570 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 * grub-core/commands/acpihalt.c: Gettextized.
16573 * grub-core/commands/cacheinfo.c: Likewise.
16574 * grub-core/commands/cmp.c: Likewise.
16575 * grub-core/commands/efi/loadbios.c: Likewise.
16576 * grub-core/commands/gptsync.c: Likewise.
16577 * grub-core/commands/ieee1275/suspend.c: Likewise.
16578 * grub-core/commands/legacycfg.c: Likewise.
16579 * grub-core/commands/memrw.c: Likewise.
16580 * grub-core/commands/minicmd.c: Likewise.
16581 * grub-core/commands/parttool.c: Likewise.
16582 * grub-core/commands/time.c: Likewise.
16583 * grub-core/commands/videoinfo.c: Likewise.
16584 * grub-core/disk/geli.c: Likewise.
16585 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16586 * grub-core/disk/luks.c: Likewise.
16587 * grub-core/disk/lvm.c: Likewise.
16588 * grub-core/font/font_cmd.c: Likewise.
16589 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16590 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16591 * grub-core/gfxmenu/view.c: Likewise.
16592 * grub-core/kern/emu/hostdisk.c: Likewise.
16593 * grub-core/kern/emu/main.c: Likewise.
16594 * grub-core/kern/emu/misc.c: Likewise.
16595 * grub-core/kern/emu/mm.c: Likewise.
16596 * grub-core/kern/mips/arc/init.c: Likewise.
16597 * grub-core/kern/mips/loongson/init.c: Likewise.
16598 * grub-core/kern/partition.c: Likewise.
16599 * grub-core/lib/i386/halt.c: Likewise.
16600 * grub-core/lib/mips/arc/reboot.c: Likewise.
16601 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16602 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16603 * grub-core/loader/i386/xnu.c: Likewise.
16604 * grub-core/loader/multiboot.c: Likewise.
16605 * grub-core/net/bootp.c: Likewise.
16606 * grub-core/net/net.c: Likewise.
16607 * grub-core/normal/term.c: Likewise.
16608 * grub-core/partmap/bsdlabel.c: Likewise.
16609 * grub-core/parttool/msdospart.c: Likewise.
16610 * grub-core/term/gfxterm.c: Likewise.
16611 * grub-core/term/terminfo.c: Likewise.
16612 * grub-core/video/i386/pc/vbe.c: Likewise.
16613 * util/grub-menulst2cfg.c: Likewise.
16614 * util/grub-mkdevicemap.c: Likewise.
16615 * util/grub-mklayout.c: Likewise.
16616 * util/grub-mkrelpath.c: Likewise.
16617 * util/grub-script-check.c: Likewise.
16618 * util/ieee1275/grub-ofpathname.c: Likewise.
16619 * util/resolve.c: Likewise.
16620
16621 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16622
16623 Support %1$d syntax.
16624
16625 * tests/printf_unit_test.c: New file.
16626 * Makefile.util.def (printf_test): New test.
16627 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16628
16629 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16630
16631 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16632 fix.
16633
16634 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16635
16636 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16637 dprintf.
16638 * grub-core/font/font.c (grub_font_load): Likewise.
16639
16640 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 * util/grub-macho2img.c: Add comment concerning gettext.
16643 * grub-core/lib/legacy_parse.c: Likewise.
16644
16645 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16646
16647 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16648 (grub_xvasprintf): Likewise.
16649
16650 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 Add const keyword to grub_env_get and gettextize week days.
16653
16654 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16655 (grub_read_hook_datetime): Return const char *.
16656 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16657 updated.
16658 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16659 Mark for gettext.
16660 (grub_get_weekday_name): Return const char *. Call gettext.
16661 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16662 char * and len as the argument. All users updated.
16663 (grub_script_argv_split_append): Receive const char *.
16664 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16665 * include/grub/env.h (grub_env_get): Likewise.
16666 (grub_env_read_hook_t): Return const char *.
16667 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16668 (grub_script_argv_split_append): Likewise.
16669
16670 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16673
16674 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16675
16676 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16677 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16678
16679 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16682 Fix prototype.
16683
16684 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16685
16686 Fix mips compilation.
16687
16688 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16689 normal decoder.
16690 (hashes): Use in embed decoder as well (for sizes).
16691 (dec_stream_header): Fix embed decompressor logic.
16692 (dec_stream_footer): Likewise.
16693
16694 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16697 an error and not a fatal on unrecognised relocation types.
16698
16699 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16702 Issue error rather than printf on unknown arguments.
16703
16704 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16707 Make buf a const.
16708
16709 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16712 Fix module name.
16713
16714 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16717 leftover debug printf.
16718
16719 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16722
16723 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16724
16725 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16726 A stylistic fix.
16727
16728 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16731
16732 2011-11-10 Shea Levy <slevy@tieronedesign.com>
16733
16734 Allow all modules to perform serial IO
16735
16736 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16737 * include/grub/serial.h (grub_serial_port_configure): New inline
16738 function.
16739 (grub_serial_port_fetch): Likewise.
16740 (grub_serial_port_put): Likewise.
16741 (grub_serial_port_fini): Likewise.
16742 (grub_serial_find): New proto.
16743
16744 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 Put symlink at the end of the node and fix a potential
16747 memory corruption.
16748
16749 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16750 Make symlink into an array.
16751 (set_rockridge): Set have_symlink and alloc_dirents.
16752 (grub_iso9660_read_symlink): Use new layout.
16753 (grub_iso9660_iterate_dir): Fix memory corruption.
16754 Use new layout.
16755 (grub_iso9660_dir): Set have_symlink.
16756 (grub_iso9660_open): Likewise.
16757
16758 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 Remove local keyword.
16761
16762 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16763 (version_test_gt): Likewise.
16764 (version_find_latest): Likewise.
16765 (gettext_printf): Likewise.
16766 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16767
16768 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16771
16772 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16773
16774 Fix ZFS memory and resource leaks.
16775
16776 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16777 All users updated.
16778 Free type on exit.
16779 (fill_vdev_info): New parameter inserted. All users updated.
16780 (check_pool_label): Likewise.
16781 (scan_disk): Likewise.
16782 (scan_devices): Close non-inserted disks.
16783 (fzap_iterate): Free l.
16784 (unmount_device): Free children descripto memory.
16785
16786 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16787
16788 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16789 argument (access out of bounds).
16790
16791 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16794 >= 6 drives.
16795
16796 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16799 Fix declaration.
16800
16801 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16802
16803 Fix several memory leaks.
16804
16805 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16806 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16807 (grub_cpio_dir): Likewise.
16808 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16809 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16810 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16811 (grub_romfs_label): Likewise.
16812 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16813 (squash_unmount): New function.
16814 (grub_squash_dir): Fix memory leak.
16815 (grub_squash_open): Likewise.
16816 (grub_squash_read): Likewise.
16817 (grub_squash_mtime): Likewise.
16818 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16819 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16820 * util/grub-fstest.c (fstest): Likewise.
16821
16822 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16825 avoid accessing beyond the array.
16826
16827 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16828
16829 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16830
16831 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 Several AFFS fixes.
16834
16835 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16836 (GRUB_AFFS_FLAG_FFS): Removed.
16837 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16838 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16839 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16840 (grub_fshelp_node): Make block 32-bit.
16841 Add block_cache and last_block_cache.
16842 (grub_affs_read_block): Fill and use block cache.
16843 (grub_affs_read_file): Removed.
16844 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16845 boot block.
16846 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16847 safety.
16848 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16849 space.
16850 (grub_affs_close): Free block cache.
16851 (grub_affs_read): Use grub_fshelp_read_file directly.
16852
16853 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16854
16855 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16856 with no error set.
16857
16858 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16859
16860 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16861 used variable.
16862 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16863 Likewise.
16864
16865 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16868
16869 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16870 byteswap when needed.
16871
16872 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 Fix FreeBSD compilation.
16875
16876 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16877 to avoid circular dependency.
16878 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16879 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16880 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16881
16882 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16883
16884 Fix ZFS crypto error types.
16885
16886 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16887 (grub_gcm_decrypt): Likewise.
16888 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16889 from PBKDF2.
16890
16891 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 Illumos support.
16894
16895 * Makefile.util.def (10_illumos): New script.
16896 * configure.ac: Set COND_HOST_ILLUMOS.
16897 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16898 Support Illumos calls.
16899 (find_partition_start) [__sun__]: Likewise.
16900 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16901 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16902 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16903 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16904 device.
16905 * util/grub-probe.c (probe) [__sun__]: Do character check.
16906 * util/grub.d/10_illumos.in: New file.
16907
16908 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16909
16910 Support escaped commas in hostdisk.
16911
16912 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16913 (find_grub_drive): Use unescape_cmp.
16914 (make_device_name): Escape commas.
16915
16916 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16919
16920 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16921
16922 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16923 variable.
16924
16925 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 Support trampoline jumps on powerpc.
16928
16929 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16930 __ia64__ path.
16931 (grub_dl_load_segments): Set mod->sz.
16932 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16933 segments.
16934 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16935 (jump): Likewise.
16936 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16937 function.
16938 (trampoline): New struct.
16939 (trampoline_template): New const.
16940 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16941 * include/grub/dl.h (grub_dl): Add sz element.
16942 [__powerpc__]: Follow __ia64__.
16943 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16944 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16945 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16946 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16947
16948 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16949
16950 ZFS crypto support.
16951
16952 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16953 * grub-core/Makefile.core.def (zfscrypt): New module.
16954 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16955 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16956 it. All users updated.
16957 (grub_zfs_decrypt): New var.
16958 (grub_zfs_load_key): Likewise.
16959 (zio_checksum_functions): Add SHA256+MAC.
16960 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16961 (zio_read): Handle encrypted blocks.
16962 (zap_verify): Remove incorrect check.
16963 (fzap_iterate): Handle non-standard fzap.
16964 (zap_iterate): Likewise.
16965 (zap_iterate_u64): New function.
16966 (dnode_get_fullpath): Load keys.
16967 * grub-core/fs/zfs/zfscrypt.c: New file.
16968 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16969 (grub_crypto_ecb_encrypt): Make input const.
16970 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16971 (grub_crypto_ecb_encrypt): Make input const.
16972 (GRUB_CIPHER_AES): New macro.
16973 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16974 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16975 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16976 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16977 prefix. All users updated.
16978 (grub_zfs_add_key): New proto.
16979 (grub_zfs_decrypt): Likewise.
16980 (grub_zfs_load_key): Likewise.
16981 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16982 * util/grub-fstest.c (options): Add -K option.
16983 (argp_parser): Likewise.
16984
16985 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16986
16987 Support zle compression on ZFS.
16988
16989 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16990 (decomp_table): Add zle.
16991 * include/grub/zfs/zio.h (zio_compress): Add zle.
16992
16993 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 Support BtrFS embedding.
16996
16997 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16998 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16999 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
17000 * util/grub-setup.c (setup): Use fs embedding if available.
17001 Add additional sanity check.
17002
17003 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
17004
17005 * util/grub-install.in: Fix condition for config_opt.
17006
17007 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 Support third redundancy strip on raidz3.
17010
17011 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
17012 Return error on singularity. All users updated.
17013 (read_device): Don't stop on 3rd failure on raidz3.
17014
17015 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 Support case-insensitive ZFS subvolumes.
17018
17019 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
17020 All users updated.
17021 (zap_hash): Likewise.
17022 (name_cmp): New function.
17023 (zap_leaf_array_equal): New parameter case_insensitive.
17024 All users updated.
17025 (zap_leaf_lookup): Likewise.
17026 (fzap_lookup): Likewise.
17027 (zap_lookup): Likewise.
17028 (dnode_get_path): New parameter case_insensitive. Retrieve case
17029 sensitiviness of a volume. All users updated.
17030 (dnode_get_fullpath): New parameter case_insensitive.
17031 All users updated.
17032 (grub_zfs_dir): Set info.case_insensitiveness.
17033
17034 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17035
17036 Support second redundancy strip on raidz(2,3).
17037
17038 * grub-core/fs/zfs/zfs.c (powx): New array.
17039 (powx_inv): Likewise.
17040 (poly): New const.
17041 (xor_out): New function.
17042 (gf_mul): Likewise.
17043 (recovery): Likewise.
17044 (read_device): Use second redundancy strip.
17045
17046 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 Use a power of generator representation of GF(256) multiplication group
17049 to save space time and complexity.
17050
17051 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
17052 (raid6_table2): Likewise.
17053 (powx): New array.
17054 (powx_inv): Likewise.
17055 (poly): New const.
17056 (grub_raid_block_mul): Replace with ...
17057 (grub_raid_block_mulx): ...this.
17058 (grub_raid6_init_table): Rewritten.
17059 (grub_raid6_recover): Use power of generator representation.
17060
17061 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17062
17063 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
17064 for the right device.
17065
17066 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17067
17068 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
17069 expected by grub-mkimage and it's more clear since there is no implicit
17070 padding.
17071
17072 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
17075 disk.
17076 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17077
17078 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
17079
17080 * util/grub-mkrescue.in: Fix handling xorriso option.
17081
17082 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17083
17084 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
17085 NULL.
17086
17087 2011-11-03 crocket <crockabiscuit@gmail.com>
17088
17089 * util/grub.d/10_linux.in: Add Slackware initrd naming.
17090
17091 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17092
17093 XZ CRC64 and SHA256 support.
17094
17095 * Makefile.util.def (libgrubmods): Add crc64.c.
17096 * grub-core/Makefile.core.def (crc64): New module.
17097 * grub-core/lib/crc64.c: New file.
17098 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
17099 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
17100 Fix the type.
17101 (MAX_HASH_SIZE): New define.
17102 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
17103 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
17104 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
17105 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
17106 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
17107 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
17108 Handle non-crc32 hashes.
17109 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
17110 (dec_stream_header): Handle non-crc32 hashes.
17111 (dec_stream_footer): Likewise.
17112 (dec_block_header): Likewise.
17113 (dec_main): Likewise.
17114 (xz_dec_init): Likewise.
17115 (xz_dec_reset): Likewise.
17116 (xz_dec_end): Likewise.
17117 * util/import_gcry.py: Add CRC64 line.
17118
17119 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17120
17121 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
17122 as well.
17123
17124 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 Make reiserfs label retrieval similar to other *_label functions.
17127
17128 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
17129 (REISERFS_MAX_LABEL_LENGTH): Removed.
17130 (REISERFS_LABEL_OFFSET): Likewise.
17131 (grub_reiserfs_label): Rewritten.
17132
17133 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
17136 field.
17137
17138 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
17141
17142 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
17145 drive failure on both raidz and raidz2.
17146
17147 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 Fix RAIDZ(2) for >= 5 devices.
17150
17151 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
17152 asize argument. All users updated.
17153
17154 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 Fix RAIDZ(2).
17157
17158 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
17159 (fill_vdev_info_real): Set ashift.
17160 (read_device): Rewrite RAIDZ part based on reverse engineering.
17161
17162 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17163
17164 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
17165 don't report potentially unavialiable fields in debug output.
17166 (find_path): Fix double-free and memory leak.
17167
17168 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17169
17170 Read label on UFS1.
17171
17172 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
17173 (grub_ufs_fs): Always set .label.
17174
17175 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 Use shifts in UFS.
17178
17179 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
17180 (grub_ufs_data): New field log2_blksz.
17181 (grub_ufs_read_file): Use shifts.
17182 (grub_ufs_mount): Check block size and logarithm it.
17183
17184 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17185
17186 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
17187 long symlinks.
17188
17189 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 Handle symlinks and long names on tar and cpio.
17192
17193 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
17194 (ATTR_FILE): Likewise.
17195 (ATTR_DIR): Likewise.
17196 (ATTR_LNK): Likewise.
17197 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
17198 (grub_cpio_find_file): Fill mode, handle linkname field as well as
17199 L and K entries.
17200 (grub_cpio_mount): Zero-fill data.
17201 (handle_symlink): New function.
17202 (grub_cpio_dir): Handle symlinks.
17203 (grub_cpio_open): Likewise.
17204 (grub_cpio_close) [MODE_USTAR]: Free linkname.
17205
17206 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 Fix iso9660 filename limitations and fix memory leaks.
17209
17210 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
17211 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
17212
17213 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 Fix JFS file name length limitations.
17216
17217 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
17218 (grub_jfs_diropen): Fix maximum filename length.
17219 (grub_jfs_getent): Fix filename length.
17220 (grub_jfs_lookup_symlink): Fix size checks.
17221
17222 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
17225 string.
17226
17227 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 Leverage BFS implementation to read AFS.
17230
17231 * Makefile.util.def (libgrubmods): Add afs.c.
17232 * grub-core/Makefile.core.def (afs): New module
17233 * grub-core/fs/afs.c: New file.
17234 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
17235
17236 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
17239
17240 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17241
17242 * grub-core/fs/bfs.c: Run indent.
17243
17244 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 BFS implementation based on the specification.
17247
17248 * grub-core/fs/bfs.c: New file.
17249 * Makefile.util.def (libgrubmods): Add bfs.c.
17250 * grub-core/Makefile.core.def (bfs): New module.
17251
17252 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17253
17254 * util/grub-fstest.c (cmd_cp): Clarify error message.
17255 (cmd_cmp): Likewise.
17256
17257 2011-10-30 Yves Blusseau <blusseau@zetam.org>
17258
17259 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
17260 and befs_be.
17261
17262 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 Remove afs and befs because of copyright problem.
17265
17266 * grub-core/fs/afs.c: Removed.
17267 * grub-core/fs/afs_be.c: Removed.
17268 * grub-core/fs/befs.c: Removed.
17269 * grub-core/fs/befs_be.c: Removed.
17270 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
17271 * grub-core/Makefile.core.def (afs): Removed.
17272 (afs_be): Likewise.
17273 (befs): Likewise.
17274 (befs_be): Likewise.
17275
17276 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17277
17278 Prefer rockridge over Joliet.
17279
17280 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
17281 to ...
17282 (set_rockridge): ... here.
17283 (grub_iso9660_mount): Check rockridge on the primary label when
17284 discovering. Ignore Joliet if Rockridge is present.
17285
17286 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17287
17288 Use shifts in nilfs2.
17289
17290 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
17291 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
17292 (grub_nilfs2_palloc_entries_per_group): Replace with ...
17293 (grub_nilfs2_log_palloc_entries_per_group): ... this.
17294 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
17295 (grub_nilfs2_entries_per_block): Replaced with ...
17296 (grub_nilfs2_log_entries_per_block_log): ... this.
17297 (grub_nilfs2_blocks_per_group): Replaced with ...
17298 (grub_nilfs2_blocks_per_group_log): ... this.
17299 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
17300 (grub_nilfs2_blocks_per_desc_block_log): ... this.
17301 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
17302 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
17303 (grub_nilfs2_palloc_entry_offset): Replaced ...
17304 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
17305 (grub_nilfs2_dat_translate): Use shifts.
17306 (grub_nilfs2_read_inode): Likewise.
17307 (GRUB_MOD_INIT): Ensure that logs are correct.
17308
17309 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17310
17311 Use shifts in minix filesystem.
17312
17313 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
17314 (GRUB_MINIX_ZONE2SECT): Likewise.
17315 (grub_minix_data): Replace block_size with log_block_size.
17316 (grub_minix_read_file): Use shifts.
17317 (grub_minix_mount): Check block size and take a logarithm.
17318
17319 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17320
17321 Use shifts in squash4.
17322
17323 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
17324 (squash_mount): Check block size and take logarithm.
17325 (direct_read): Use shifts.
17326
17327 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 Correct befs block counting logic.
17330
17331 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
17332 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
17333 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
17334 (grub_afs_read_inode): Use block_shift.
17335 (RANGE_SHIFT): New definition.
17336 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
17337 unexpected conditions, use shifts and appropriate types.
17338 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
17339
17340 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17341
17342 * grub-core/disk/raid.c (scan_devices): Check partition.
17343 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17344
17345 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17346
17347 Support BFS (befs) UUID.
17348
17349 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
17350 (grub_afs_small_data_element_header): New struct.
17351 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
17352 (grub_afs_read_attribute) [MODE_BFS]: New function.
17353 (grub_afs_iterate_dir): Allocate for complete inode.
17354 (grub_afs_mount): Likewise.
17355 (grub_afs_uuid) [MODE_BFS]: New function.
17356 (grub_afs_fs) [MODE_BFS]: Add .uuid.
17357
17358 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17361 (zfs_unmount): Fix memory leak.
17362
17363 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 Support NTFS reparse points.
17366
17367 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17368 (symlink_descriptor): New struct.
17369 (grub_ntfs_read_symlink): New function.
17370 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17371 (grub_ntfs_open): Likewise.
17372
17373 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17376
17377 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 fstest xnu_uuid subcommand.
17380
17381 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17382 grub-core/commands/xnu_uuid.c.
17383 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17384 (fstest): Handle xnu_uuid.
17385 (options): Document xnu_uuid.
17386 (argp_parser): Parse xnu_uuid.
17387
17388 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17389
17390 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17391 -l argument. Add newline at the end if printing.
17392 (GRUB_MOD_INIT): Document -l.
17393
17394 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17397
17398 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 ZFS multi-device and version 33 support.
17401
17402 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17403 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17404 (grub_zfs_data): Add multidev-ice-related fields.
17405 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17406 (dva_get_offset): Make dva const.
17407 (zfs_fetch_nvlist): New function.
17408 (fill_vdev_info_real): Likewise.
17409 (fill_vdev_info): Likewise.
17410 (check_pool_label): Likewise.
17411 (scan_disk): Likewise.
17412 (scan_devices): Likewise.
17413 (read_device): Likewise.
17414 (read_dva): Likewise.
17415 (zio_read_gang): Use read_dva.
17416 (zio_read_data): Likewise.
17417 (zap_leaf_lookup): Add missing endian conversion.
17418 (zap_verify): Add missing endian conversion. All users updated.
17419 (fzap_lookup): Likewise.
17420 (fzap_iterate): Likewise.
17421 (dnode_get_path): Handle SA bonus.
17422 (nvlist_find_value): Make input const. All users updated.
17423 (unmount_device): New function.
17424 (zfs_unmount): Use unmount_device.
17425 (zfs_mount): Use scan_disk.
17426 (zfs_mtime): New function.
17427 (grub_zfs_open): Handle system attributes.
17428 (fill_fs_info): Likewise.
17429 (grub_zfs_dir): Likewise.
17430 (grub_zfs_fs): Add mtime.
17431 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17432 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17433 (SA_MTIME_OFFSET): Likewise.
17434 (SA_SYMLINK_OFFSET): Likewise.
17435 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17436 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17437 (fstest): Support zfsinfo.
17438 (argp_parser): Likewise.
17439
17440 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17443 error.
17444
17445 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 ZFS fixes.
17448
17449 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17450 sharing the same block. Iterate over correct number of indices.
17451 (dnode_get_path): Handle symlinks correctly.
17452
17453 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17454
17455 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17456
17457 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17458
17459 Read label on HFS+.
17460
17461 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17462 (grub_hfsplus_btree_search): Fix types.
17463 (grub_hfsplus_label): Implement.
17464
17465 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17466
17467 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17468
17469 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17470
17471 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17472
17473 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17474
17475 Fix symlink handling on iso9660.
17476
17477 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17478 All users updated.
17479 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17480 (grub_iso9660_read_symlink): Moved most of code ...
17481 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17482
17483 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17486 Use union to avoid breaking strict-aliasing rules.
17487
17488 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 Support multi-extent iso files.
17491
17492 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17493 Add node.
17494 (grub_fshelp_node): Revamp. All users updated.
17495 (FLAG_*): New enum.
17496 (read_node): New function.
17497 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17498 All users updated.
17499 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17500 (get_node_size): New function.
17501 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17502 entries.
17503 Fix memory leak on . and ..
17504 (grub_iso9660_read): Use read_node.
17505 (grub_iso9660_close): Free node.
17506
17507 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 Fix tar 4G limit and handle paths containing dot.
17510
17511 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17512 (canonicalize): New function.
17513 (grub_cpio_find_file): Use canonicalize. Store offs in
17514 grub_disk_addr_t.
17515 (grub_cpio_dir): Use grub_disk_addr_t.
17516 (grub_cpio_open): Likewise.
17517
17518 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17521
17522 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17523 unused flags.
17524 (grub_squash_inode): Add long_file and block_size.
17525 (grub_squash_cache_inode): New struct.
17526 (grub_squash_dirent): Make types into enum.
17527 (SQUASH_TYPE_LONG_REGULAR): New type.
17528 (grub_squash_frag_desc): Add field size.
17529 (SQUASH_BLOCK_FLAGS): New enum.
17530 (grub_squash_data): Use grub_squash_cache_inode.
17531 (grub_fshelp_node): Make ino_chunk 64-bit.
17532 (read_chunk): Minor argument change. All users updated.
17533 (squash_mount): Use correct le_to_cpu.
17534 (grub_squash_open): Handle LONG_REGULAR.
17535 (direct_read): New function.
17536 (grub_squash_read_data): Handle blocks correctly.
17537
17538 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17539
17540 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17541
17542 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17543
17544 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17545
17546 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 Fix 2G limit on ZFS.
17549
17550 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17551 types.
17552 (uberblock_verify): Likewise.
17553 (dmu_read): Likewise.
17554 (grub_zfs_read): Likewise. Remove invalid cast.
17555
17556 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17559 (grub_jfs_blkno): Fix incorrect shift.
17560 (grub_jfs_read_file): Use more appropriate types.
17561
17562 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 Support triple indirect on minix2 and minix3.
17565
17566 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17567 Declare triple_indir_zone.
17568 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17569 indirect.
17570
17571 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 Minix FS fixes.
17574
17575 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17576 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17577 Rename ctime to mtime. All users updated.
17578 (grub_minix_get_file_block): Fix types and double indirect computations.
17579
17580 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17583 if no label is found.
17584 (grub_fat_iterate_dir): Fix file size type.
17585 (grub_fat_iterate_dir): Likewise.
17586
17587 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17588
17589 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17590 save some space.
17591 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17592 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17593
17594 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17597
17598 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17599
17600 * util/import_gcry.py: Accept space between # and include.
17601
17602 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17603
17604 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17605
17606 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17607
17608 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17609
17610 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17611 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17612 yylex_strncpy.
17613 * grub-core/script/yylex.l: Add fine-grained #pragma.
17614
17615 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17616
17617 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17618 New inline function.
17619 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17620 Likewise.
17621 (memset) [GRUB_UTIL]: Likewise.
17622 (memcmp) [GRUB_UTIL]: Likewise.
17623
17624 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17627 inline function rather than a define.
17628
17629 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 * util/grub-setup.c: Add missing include.
17632
17633 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17634
17635 * util/ieee1275/grub-ofpathname.c: Add missing include.
17636
17637 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17640 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17641 Likewise.
17642
17643 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17644
17645 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17646 grub_memcmp usage.
17647
17648 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17649
17650 * util/grub-install.in: Add datarootdir as per automake manual
17651 suggestion.
17652 * util/grub-mknetdir.in: Likewise.
17653
17654 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17657 suggestion.
17658 * util/grub.d/10_kfreebsd.in: Likewise.
17659 * util/grub.d/10_linux.in: Likewise.
17660 * util/grub.d/10_netbsd.in: Likewise.
17661 * util/grub.d/10_windows.in: Likewise.
17662 * util/grub.d/20_linux_xen.in: Likewise.
17663
17664 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17665
17666 Remove redundant grub_kernel_image_size.
17667
17668 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17669 _edata and _start.
17670 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17671 the small code. It moves it only by few bytes but simplifies the code.
17672 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17673 _start.
17674 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17675 (grub_kernel_image_size): Removed.
17676 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17677 (grub_kernel_image_size): Removed.
17678 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17679 compiled with Apple toolchain.
17680 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17681 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17682 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17683 (grub_total_module_size): Likewise.
17684 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17685 Removed.
17686 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17687 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17688 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17689 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17690 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17691 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17692 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17693 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17694 Removed.
17695 (grub_total_module_size): Removed.
17696 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17697 (image_targets): Likewise.
17698 Set .compressed_size to no field on sparc.
17699 (generate_image): Remove kernel_image_size handling.
17700
17701 2011-10-19 Szymon Janc <szymon@janc.net.pl>
17702
17703 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17704 NULL pointer dereference.
17705
17706 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17709 done with a dedicated section.
17710
17711 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17712 Ensure the correct position of boot_path.
17713 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17714 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17715 other fields.
17716 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17717 * include/grub/boot.h: Removed. All references removed.
17718 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17719 Removed.
17720 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17721
17722 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17723
17724 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17725 name.
17726
17727 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17728
17729 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17730
17731 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17732
17733 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17734 Don't add the bogus brackets.
17735
17736 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 ExFAT support.
17739
17740 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17741 * grub-core/Makefile.core.def (exfat): New module.
17742 * grub-core/fs/exfat.c: New file.
17743 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17744 (GRUB_FAT_ATTR_*): Make into an enum.
17745 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17746 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17747 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17748 (GRUB_FAT_MAXFILE): Removed.
17749 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17750 (grub_current_fat_bpb_t): New type.
17751 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17752 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17753 (grub_fat_dir_node_t): New type.
17754 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17755 (fat_log2) [MODE_EXFAT]: Removed.
17756 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17757 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17758 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17759 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17760 (grub_fat_label) [MODE_EXFAT]: New function.
17761 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17762 reserved_first_sector to 0.
17763
17764 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 Move grub_reboot out of the kernel.
17767
17768 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17769 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17770 * grub-core/lib/efi/reboot.c: ... here.
17771 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17772 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17773 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17774 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17775 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17776 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17777 * grub-core/lib/ieee1275/reboot.c: ... here.
17778 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17779 * grub-core/lib/mips/arc/reboot.c: ... here.
17780 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17781 * grub-core/lib/mips/loongson/reboot.c: ...here.
17782 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17783 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17784 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17785 * include/grub/i386/reboot.h: New file.
17786 * include/grub/mips/loongson/ec.h: Fix includes.
17787 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17788 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17789 * grub-core/lib/i386/reboot.c: New file.
17790
17791 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17792
17793 Make grub_prefix into module to fix the arbitrary limit and save
17794 some space.
17795
17796 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17797 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17798 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17799 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17800 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17801 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17802 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17803 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17804 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17805 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17806 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17807 * include/grub/ia64/efi/kernel.h: Removed.
17808 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17809 (grub_prefix): Removed.
17810 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17811 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17812 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17813 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17814 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17815 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17816 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17817 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17818 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17819 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17820 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17821 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17822 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17823 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17824 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17825 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17826 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17827 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17828 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17829 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17830 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17831 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17832 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17833 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17834 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17835 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17836 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17837 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17838 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17839 from module.
17840 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17841 prefix_end.
17842 (image_targets): Likewise.
17843 (generate_image): Put prefix as a module.
17844
17845 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 Replace grub_module_iterate with FOR_MODULES.
17848
17849 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17850 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17851 (grub_efi_modules_addr): ...this.
17852 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17853 (grub_efi_init): Set grub_modbase.
17854 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17855 (grub_modbase): New variable.
17856 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17857 (grub_modbase): New variable.
17858 (grub_machine_init): Set grub_modbase.
17859 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17860 (grub_modbase): New variable.
17861 (grub_machine_init): Set grub_modbase.
17862 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17863 (grub_modbase): New variable.
17864 (grub_machine_init): Set grub_modbase.
17865 * grub-core/kern/main.c (grub_module_iterate): Remove.
17866 (grub_modules_get_end): Use grub_modbase.
17867 (grub_load_modules): Use FOR_MODULES.
17868 (grub_load_config): Likewise.
17869 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17870 (grub_modbase): New variable.
17871 (grub_machine_init): Set grub_modbase.
17872 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17873 (grub_modbase): New variable.
17874 (grub_machine_init): Set grub_modbase.
17875 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17876 Removed.
17877 (grub_modbase): New variable.
17878 (grub_machine_init): Set grub_modbase.
17879 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17880 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17881 (grub_module_iterate): Likewise.
17882 (grub_modbase): New variable declaration.
17883 (FOR_MODULES): New macro.
17884
17885 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17888 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17889
17890 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17891
17892 Fix few obvious type discrepancies.
17893
17894 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17895 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17896 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17897 variable.
17898 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17899 and connected types.
17900 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17901 offset.
17902 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17903 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17904 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17905 and connected types.
17906
17907 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17908
17909 Fix python 3.x incompatibilities.
17910
17911 * gentpl.py: Put brackets around print strings.
17912 * util/import_gcry.py: Open explicitly as utf-8.
17913 Use in instead of has_key.
17914
17915 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17918 (GRUB_XFS_INO_AGBITS): Make into inline function.
17919 (GRUB_XFS_INO_INOINAG): Likewise.
17920 (GRUB_XFS_INO_AG): Likewise.
17921 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17922 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17923 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17924 (GRUB_XFS_EXTENT_SIZE): Likewise.
17925 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17926 (GRUB_XFS_NEXT_DIRENT): Likewise.
17927 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17928 (grub_xfs_read_file): Fix offset type.
17929
17930 2011-10-15 Robert Millan <rmh@gnu.org>
17931
17932 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17933
17934 2011-10-15 Robert Millan <rmh@gnu.org>
17935
17936 Fix build problem on FreeBSD and GNU/kFreeBSD.
17937
17938 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17939
17940 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17943
17944 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17945 types.
17946 (grub_hfsplus_btree_recoffset): Likewise.
17947 (grub_hfsplus_btree_recptr): Likewise.
17948 (grub_hfsplus_find_block): Likewise.
17949 (grub_hfsplus_btree_search): Likewise.
17950 (grub_hfsplus_read_block): Likewise.
17951 (grub_hfsplus_read_file): Likewise.
17952 (grub_hfsplus_mount): Likewise.
17953 (grub_hfsplus_btree_iterate_node): Likewise.
17954 (grub_hfsplus_btree_search): Likewise.
17955 (grub_hfsplus_iterate_dir): Likewise.
17956 (grub_hfsplus_read): A small code simplification.
17957
17958 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * grub-core/kern/emu/hostdisk.c
17961 (convert_system_partition_to_system_disk): Don't assume that children
17962 of mapper nodes are mapper nodes.
17963
17964 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17965
17966 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17967 * include/grub/misc.h (grub_isxdigit): New function.
17968 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17969 switched to grub_isxdigit.
17970 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17971 number starting with a letter.
17972
17973 2011-10-09 Robert Millan <rmh@gnu.org>
17974
17975 LVM support for FreeBSD and GNU/kFreeBSD.
17976
17977 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17978 GNU/kFreeBSD.
17979 (LVM_DEV_MAPPER_STRING): Move from here ...
17980 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17981 * util/getroot.c: Include `<grub/util/lvm.h>'.
17982 (grub_util_get_dev_abstraction): Enable
17983 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17984 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17985 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17986 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17987 support it.
17988 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17989 GNU/kFreeBSD.
17990 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17991 when LVM abstraction is required for ${GRUB_DEVICE}.
17992
17993 2011-10-06 Szymon Janc <szymon@janc.net.pl>
17994
17995 Add support for LZO compression in GRUB:
17996 - import of minilzo library,
17997 - LZO decompression for btrfs,
17998 - lzop files decompression.
17999
18000 * grub-core/io/lzopio.c: New file.
18001 * grub-core/lib/adler32.c: Likewise.
18002 * grub-core/lib/minilzo/lzoconf.h: Likewise.
18003 * grub-core/lib/minilzo/lzodefs.h: Likewise.
18004 * grub-core/lib/minilzo/minilzo.c: Likewise.
18005 * grub-core/lib/minilzo/minilzo.h: Likewise.
18006 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
18007 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
18008 grub-core/lib/minilzo/minilzo.c to common.
18009 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
18010 cflags in cppflags.
18011 * grub-core/Makefile.core.def (btrfs): Likewise.
18012 * grub-core/Makefile.core.def (lzopio): New module.
18013 (adler32): Likewise.
18014 * grub-core/fs/btrfs.c: Include minilzo.h.
18015 (GRUB_BTRFS_COMPRESSION_LZO): New define.
18016 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
18017 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
18018 (grub_btrfs_lzo_decompress): New function.
18019 (grub_btrfs_extent_read): Add support for LZO compression type.
18020 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
18021 (GRUB_USHRT_MAX): Likewise.
18022 (GRUB_UINT_MAX): Likewise.
18023 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
18024 (UINT_MAX): Likewise.
18025 (CHAR_BIT): Likewise.
18026 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
18027 grub-core/lib/posix_wrap/limits.h
18028 (UCHAR_MAX): Likewise.
18029 * include/grub/file.h (grub_file_filter_id): New compression filter
18030 GRUB_FILE_FILTER_LZOPIO.
18031 * include/grub/file.h (grub_file_filter_id): Set
18032 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
18033 * include/grub/types.h (grub_get_unaligned16): New function.
18034 (grub_get_unaligned32): Likewise.
18035 (grub_get_unaligned64): Likewise.
18036 * util/import_gcry.py (cryptolist): Add adler32.
18037
18038 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
18039
18040 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
18041 in perspective decreases the complexity of build system and fixes
18042 compilation right now.
18043
18044 2011-10-01 Ales Nesrsta <starous@volny.cz>
18045
18046 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
18047 (fixed problem related to using UHCI with coreboot).
18048
18049 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
18050
18051 * gentpl.py: Use Autogen macros so that the output template file
18052 (Makefile.tpl) size is reduced.
18053
18054 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
18055
18056 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
18057 extra_dist.
18058
18059 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
18060
18061 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
18062 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
18063
18064 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
18065
18066 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
18067 _fullpath.
18068
18069 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
18070
18071 Remove extra declaration of sleep for mingw32.
18072
18073 * util/misc.c (sleep) [__MINGW32__]: Removed.
18074 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
18075
18076 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
18077
18078 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
18079 type and packname.
18080 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
18081 Resurrected.
18082 (NETBSD_BTINFO_BOOTWEDGE): New definition.
18083 (grub_netbsd_btinfo_bootwedge): New struct.
18084 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
18085 New function.
18086 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
18087
18088 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
18089
18090 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
18091 loader.
18092
18093 2011-09-28 Andreas Born <futur.andy@googlemail.com>
18094
18095 Fix incorrect identifiers in bash-completion.
18096
18097 * util/bash-completion.d/grub-completion.bash.in
18098 (_grub_mkpasswd-pbkdf2): Rename to ...
18099 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
18100 (_grub_script-check): Rename to ...
18101 (_grub_script_check): ... this. All users updated.
18102
18103 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
18104
18105 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
18106 Return 0 if disk isn't biosdisk.
18107
18108 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
18109
18110 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
18111 on NetBSD.
18112 * Makefile.util.def (grub-fstest): Likewise.
18113
18114 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
18115
18116 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
18117 Get sector size from disk label.
18118
18119 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
18120
18121 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
18122 */README* as well as README*.
18123 Reported by: Axel Beckert.
18124
18125 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
18128 case of less than 256 MiB of RAM.
18129
18130 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 * grub-core/commands/wildcard.c (make_regex): Handle @.
18133
18134 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 * util/grub-install.in: Move cryptodisk logic to appropriate place.
18137
18138 2011-08-21 Szymon Janc <szymon@janc.net.pl>
18139
18140 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
18141 AC_LANG_CONFTEST macros.
18142
18143 2011-08-20 Szymon Janc <szymon@janc.net.pl>
18144
18145 Add grub-fstest option to uncompress data for commands.
18146
18147 * util/grub-fstest.c (uncompress): New var.
18148 (options): New option -u.
18149
18150 2011-08-20 Szymon Janc <szymon@janc.net.pl>
18151
18152 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
18153 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
18154
18155 2011-08-20 Szymon Janc <szymon@janc.net.pl>
18156
18157 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
18158 file type was not recognized correctly (not gzip or corrupted).
18159
18160 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
18163 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
18164
18165 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
18168 loongson.
18169 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18170 video_radeon_fuloong2e.
18171 * grub-core/video/radeon_fuloong2e.c: New file.
18172 * include/grub/video.h (grub_video_id_t): Add new ID
18173 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
18174
18175 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18176
18177 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
18178 define.
18179 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
18180 that PRID matches the detected subplatform and reset the subplatform
18181 if it doesn't.
18182
18183 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18184
18185 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
18186
18187 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 Fix PCI iterating on functions >= 4.
18190
18191 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
18192 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
18193 Removed.
18194 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
18195 (grub_pci_read): Fix bitmask.
18196 (grub_pci_read_word): Likewise.
18197 (grub_pci_read_byte): Likewise.
18198 (grub_pci_write): Likewise.
18199 (grub_pci_write_word): Likewise.
18200 (grub_pci_write_byte): Likewise.
18201
18202 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18203
18204 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
18205 can still be specified in TARGET_CFLAGS)
18206
18207 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18208
18209 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
18210
18211 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
18212 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
18213 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
18214 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
18215 (FULOONG): Rename to ...
18216 (FULOONG2F): ... this. All users updated.
18217 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
18218 (machtype_fuloong2f_str): ... this.
18219 (machtype_fuloong2e_str): New string.
18220 Check for machtype_fuloong2e_str.
18221 * grub-core/loader/mips/linux.c (loongson_machtypes)
18222 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
18223 * grub-core/term/serial.c (loongson_defserial)
18224 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
18225 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
18226 loongson_defserial.
18227 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
18228 Rename to ...
18229 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
18230 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
18231 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
18232 to IMAGE_FULOONG2F_FLASH. All users updated.
18233 (image_targets): Rename images.
18234 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
18235
18236 2011-08-19 Szymon Janc <szymon@janc.net.pl>
18237
18238 Make enable of disk cache statistics code configurable.
18239
18240 * configure.ac: --enable-cache-stats added.
18241 * config.h.in (DISK_CACHE_STATS): New define.
18242 * grub-core/Makefile.core.def (cacheinfo): New command.
18243 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
18244 * grub-core/commands/cacheinfo.c: New file.
18245 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
18246 moved to cacheinfo.c.
18247 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
18248 debug code.
18249 * include/grub/disk.h: Likewise.
18250
18251 2011-08-19 Szymon Janc <szymon@janc.net.pl>
18252
18253 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
18254 * grub-core/Makefile.am: Likewise.
18255
18256 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18257
18258 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
18259 non-zero pull.
18260
18261 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18262
18263 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
18264 All users updated.
18265 (grub_jfs_lookup_symlink): Use correct starting inode.
18266
18267 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 * util/grub-setup.c (main): Add missing gcry initialisation.
18270
18271 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18272
18273 Don't accept text modes on EFI when booting Linux.
18274
18275 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
18276 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
18277
18278 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
18279 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
18280
18281 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
18282 use of "/path/.." as in grub-install for EFI as well as handling
18283 symlinks correctly.
18284 Fixes Debian bug #637768.
18285
18286 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
18287
18288 * util/grub-probe.c: Remove duplicate #include.
18289
18290 2011-08-10 Robert Millan <rmh@gnu.org>
18291
18292 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
18293
18294 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
18295 function.
18296 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
18297 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
18298
18299 2011-08-03 Robert Millan <rmh@gnu.org>
18300
18301 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
18302 la_array as packed.
18303 Reported by: Zachary Bedell
18304
18305 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18306
18307 * configure.ac: The Loongson port requires grub-mkfont due to its
18308 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
18309 be built.
18310
18311 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18312
18313 * util/grub-install.in: Don't source grub-mkconfig_lib until after
18314 processing arguments (otherwise help2man fails when GRUB has not yet
18315 been installed).
18316
18317 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18318
18319 New script grub-mkstandalone.
18320
18321 * Makefile.util.def (grub-mkstandalone): New script.
18322 * docs/man/grub-mkstandalone.h2m: New file.
18323 * util/grub-mkstandalone.in: Likewise.
18324
18325 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 Support ATA disks with 4K sectors.
18328
18329 * include/grub/ata.h (grub_ata): New member log_sector_size.
18330 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
18331 (grub_ata_identify): Read sector size.
18332 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
18333
18334 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * util/grub-install.in: Don't use uhci outside of x86.
18337
18338 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18339
18340 * util/grub-mkrescue.in: Add missing quotes.
18341
18342 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
18345 dereference.
18346
18347 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
18350
18351 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18352
18353 * include/grub/video.h: add missing EXPORT_FUND on
18354 grub_video_edid_checksum and grub_video_edid_preferred_mode.
18355
18356 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 * include/grub/mips/kernel.h: Fix define conflict.
18359
18360 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18361
18362 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18363 all four ways.
18364
18365 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
18366
18367 Preferred resolution detection for VBE.
18368
18369 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18370 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18371 the Flat Panel extension, in line with the X.org VESA driver.
18372 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18373 New function.
18374 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18375 (grub_vbe_bios_read_edid): Likewise.
18376 (grub_vbe_get_preferred_mode): Likewise.
18377 (grub_video_vbe_setup): When the mode is "auto", try to get the
18378 preferred mode from VBE, and use the largest mode that is no larger
18379 than the preferred mode (some BIOSes expose a preferred mode that is
18380 not in their mode list!). If this fails, fall back to 640x480 as a
18381 safe conservative choice.
18382 (grub_video_vbe_get_edid): New function.
18383 (grub_video_vbe_adapter): Add get_edid.
18384 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18385 (struct grub_video_adapter): Add get_edid.
18386 (grub_video_edid_checksum): Add prototype.
18387 (grub_video_edid_preferred_mode): Likewise.
18388 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18389 structure.
18390
18391 * grub-core/commands/videoinfo.c (print_edid): New function.
18392 (grub_cmd_videoinfo): Print EDID if available.
18393
18394 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18395 is more appropriate on a wider range of platforms than 640x480.
18396 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18397 documentation.
18398
18399 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18402
18403 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18404
18405 * po/POTFILES.in: Regenerate.
18406
18407 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18408
18409 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18410 incorrect memory usage.
18411
18412 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18413
18414 * util/grub-install.in: Source grub-mkconfig_lib.
18415
18416 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18417
18418 Remove getroot.c from core on emu platform.
18419
18420 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18421 kern/emu/raid.c.
18422 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18423 useless.
18424 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18425 * util/getroot.c (get_win32_path): ... here.
18426 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18427 * util/getroot.c (fini_libzfs): ... here.
18428 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18429 * util/getroot.c (grub_get_libzfs_handle): ... here.
18430 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18431 Moved from here...
18432 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18433 * grub-core/kern/emu/misc.c
18434 (grub_make_system_path_relative_to_its_root): Moved from here...
18435 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18436 * grub-core/kern/emu/getroot.c: Moved from here ...
18437 * util/getroot.c: ... here. All users updated.
18438 * grub-core/kern/emu/raid.c: Moved from here ...
18439 * util/raid.c: ... here. All users updated.
18440
18441 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * po/POTFILES.in: Regenerate.
18444
18445 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 Fix compilation on GNU/Linux.
18448
18449 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18450 Disable geli.
18451 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18452 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18453 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18454
18455 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18456 2011-07-07 Michael Gorven <michael@gorven.za.net>
18457 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18458
18459 LUKS and GELI support.
18460
18461 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18462 grub-core/disk/luks.c, grub-core/disk/geli.c,
18463 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18464 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18465 grub-core/lib/arg.c.
18466 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18467 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18468 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18469 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18470 (grub-bin2h): Add libgcry.a.
18471 (grub-mkimage): Likewise.
18472 (grub-mkrelpath): Likewise.
18473 (grub-script-check): Likewise.
18474 (grub-editenv): Likewise.
18475 (grub-mkpasswd-pbkdf2): Likewise.
18476 (grub-pe2elf): Likewise.
18477 (grub-fstest): Likewise.
18478 (grub-mkfont): Likewise.
18479 (grub-mkdevicemap): Likewise.
18480 (grub-probe): Likewise.
18481 (grub-ofpath): Likewise.
18482 (grub-mklayout): Likewise.
18483 (example_unit_test): Likewise.
18484 (grub-menulst2cfg): Likewise.
18485 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18486 * grub-core/Makefile.core.def (cryptodisk): New module.
18487 (luks): Likewise.
18488 (geli): Likewise.
18489 * grub-core/disk/AFSplitter.c: New file.
18490 * grub-core/disk/cryptodisk.c: Likewise.
18491 * grub-core/disk/geli.c: Likewise.
18492 * grub-core/disk/luks.c: Likewise.
18493 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18494 grub_util_is_lvm.
18495 (grub_util_get_dm_abstraction): New function.
18496 (grub_util_follow_gpart_up): Likewise.
18497 (grub_util_get_geom_abstraction): Likewise.
18498 (grub_util_get_dev_abstraction): Use new functions.
18499 (grub_util_pull_device): Pull GELI and LUKS.
18500 (grub_util_get_grub_dev): Handle LUKS and GELI.
18501 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18502 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18503 (follow_geom_up): Removed.
18504 (grub_util_fd_seek): New function.
18505 (open_device): Use grub_util_fd_seek.
18506 (nread): Rename to ..
18507 (grub_util_fd_read): ... this. All users updated.
18508 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18509 (grub_crypto_cbc_decrypt): Likewise.
18510 (grub_crypto_hmac_write): Likewise.
18511 (grub_crypto_hmac_buffer): Likewise.
18512 (grub_password_get): Extend to util.
18513 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18514 New member modname.
18515 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18516 * include/grub/cryptodisk.h: New file.
18517 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18518 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18519 LUKS and GELI.
18520 (grub_util_follow_gpart_up): New proto.
18521 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18522 (grub_util_fd_read): Likewise.
18523 (grub_cryptodisk_cheat_mount): Likewise.
18524 (grub_util_cryptodisk_print_uuid): Likewise.
18525 (grub_util_get_fd_sectors): Likewise.
18526 * util/grub-fstest.c (mount_crypt): New var.
18527 (fstest): Mount crypto if requested.
18528 (options): New option -C.
18529 (argp_parser): Parse -C.
18530 (main): Init and fini gcry.
18531 * util/grub-install.in: Support cryptodisk install.
18532 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18533 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18534 cryptodisk.
18535 (prepare_grub_to_access_device): Likewise.
18536 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18537 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18538 (probe_cryptodisk_uuid): New function.
18539 (probe_abstraction): Likewise.
18540 (probe): Use new functions.
18541 * util/import_gcry.py: Create Makefile.utilgcry.def.
18542 Add modname member.
18543
18544 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18545
18546 Lazy device scanning.
18547
18548 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18549 (grub-setup): Remove util/raid.c.
18550 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18551 * grub-core/disk/lvm.c (scan_depth): New variable.
18552 (grub_lvm_iterate): Rescan if necessary.
18553 (find_lv): New function based on grub_lvm_open.
18554 (grub_lvm_open): Use find_lv. Rescan on error.
18555 (is_node_readable): New function.
18556 (is_lv_readable): Likewise.
18557 (grub_lvm_scan_device): Skip already found disks.
18558 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18559 Stop if searched device is found and readable.
18560 * grub-core/disk/raid.c (inscnt): New variable.
18561 (scan_depth): Likewise.
18562 (scan_devices): New function based on grub_raid_register. Abort if
18563 looked for device is found.
18564 (grub_raid_iterate): Rescan if needed.
18565 (find_array): NEw function based on -grub_raid_open.
18566 (grub_raid_open): Use find_array and rescan.
18567 (insert_array): Set became_readable_at.
18568 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18569 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18570 New function.
18571 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18572 (grub_util_pull_device): New function.
18573 (grub_util_get_grub_dev): Call grub_util_pull_device.
18574 * util/raid.c: Moved to ..
18575 * grub-core/kern/emu/raid.c: ... here.
18576 (grub_util_raid_getmembers): New parameter "bootable".
18577 All users updated. Support 1.x.
18578 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18579 All users updated.
18580 * include/grub/disk.h (grub_disk_pull_t): New enum.
18581 (grub_disk_dev): Change iterate prototype.
18582 All users updated.
18583 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18584 New proto.
18585 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18586 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18587 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18588 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18589 All users updated.
18590 * include/grub/util/raid.h: Removed.
18591
18592 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * po/POTFILES.in: Regenerate.
18595
18596 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18597
18598 Unify sparc init with other ieee1275.
18599
18600 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18601 instead of kern/sparc64/ieee1275/init.c.
18602 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18603 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18604 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18605 grub/machine/kernel.h.
18606 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18607 (grub_claim_heap) [__sparc__]: Use sparc version.
18608 (grub_machine_init): Moved args parsing to
18609 (grub_parse_cmdline): ...this.
18610 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18611 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18612 New definition.
18613 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18614
18615 Move BOOTP to separate file.
18616
18617 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18618 * grub-core/net/net.c: Move all BOOTP functions to
18619 * grub-core/net/bootp.c: ... here.
18620
18621 Use frame interface on PXE.
18622
18623 * grub-core/Makefile.core.def (pxecmd): Removed.
18624 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18625 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18626 * grub-core/i386/pc/pxe.c: Moved from here ...
18627 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18628 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18629 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18630
18631 EFI network support.
18632
18633 * grub-core/Makefile.core.def (efinet): New module.
18634 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18635 here...
18636 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18637 All users updated.
18638 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18639 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18640 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18641 * grub-core/net/drivers/efi/efinet.c: New file.
18642 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18643 (grub_efi_net_config): New extern var.
18644
18645 Various cleanups and bugfixes.
18646
18647 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18648 error.
18649 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18650 disk declared as partition.
18651 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18652 leak on failure.
18653 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18654 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18655 (grub_debug_zalloc): Likewise.
18656 (grub_debug_realloc): Likewise.
18657 (grub_debug_memalign): Likewise.
18658 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18659 Check that target is IPv4.
18660 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18661 local-mac-address as fallback.
18662 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18663 memory leak.
18664 * grub-core/net/ip.c (ipchksum): Rename to ...
18665 (grub_net_ip_chksum): ... this. All users updated.
18666 (grub_net_recv_ip_packets): Special handling for DHCP.
18667 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18668
18669 Unify prefix handling
18670
18671 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18672 (grub_machine_get_bootlocation): ... this.
18673 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18674 (grub_machine_get_bootlocation): ... this.
18675 (grub_prefix): New variable.
18676 (prefix): Removed.
18677 (root_dev): New variable.
18678 (dir): Likewise.
18679 (main): Use new variables.
18680 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18681 Revamped into ...
18682 (grub_machine_get_bootlocation): ... this.
18683 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18684 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18685 (grub_machine_get_bootlocation): ... this.
18686 (grub_machine_set_prefix): Removed.
18687 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18688 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18689 Revamped into ...
18690 (grub_machine_get_bootlocation): ... this.
18691 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18692 (grub_set_prefix_and_root): ... this. All users updated.
18693 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18694 Revamped into ...
18695 (grub_machine_get_bootlocation): ... this.
18696 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18697 (grub_machine_get_bootlocation): New proto.
18698 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18699
18700 Less intrusive and more reliable seek on network implementation.
18701
18702 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18703 (grub_file_seek): Don't call grub_file_net_seek.
18704 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18705 (grub_net_fs_read_real): .. this.
18706 (grub_net_seek_real): Use net->offset.
18707 (grub_net_fs_read): Seek if necessary.
18708
18709 Unify IEEE1275 netwotk config with the other platforms.
18710
18711 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18712 New variable.
18713 (grub_machine_get_bootlocation): Support network.
18714 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18715 Support type and device parsing.
18716 (grub_ieee1275_get_device_type): New function.
18717 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18718 into ...
18719 (grub_ieee1275_net_config_real): ... this.
18720 (grub_ofnet_probecards): Removed.
18721 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18722 * include/grub/ieee1275/ofnet.h: Removed.
18723 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18724 extern var.
18725 (grub_ieee1275_get_device_type): New function.
18726
18727 Unify network device closing across platforms and make more robust.
18728
18729 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18730 grub_grubnet_fini.
18731 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18732 already.
18733 * grub-core/net/net.c (grub_net_network_level_interface_register):
18734 Update num_ifaces.
18735 (grub_net_card_unregister): Close all interfaces.
18736 (receive_packets): Don't poll if no iterfaces are registered.
18737 Open if necessary.
18738 (grub_net_fini_hw): New function.
18739 (grub_net_restore_hw): Likewise.
18740 (fini_hnd): New variable.
18741 (GRUB_MOD_INIT): Register preboot hook.
18742 (GRUB_MOD_FINI): Run and unregister preboot hook.
18743
18744 Poll network cards when idle.
18745
18746 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18747 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18748 * grub-core/net/net.c (receive_packets): Save last poll time.
18749 (grub_net_poll_cards_idle_real): New function.
18750 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18751 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18752 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18753
18754 Rename ofnet interfaces.
18755
18756 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18757 (grub_ofnet_findcards): Use ofnet_%s names.
18758
18759 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18760
18761 Cleanup socket opening.
18762
18763 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18764 (grub_net_fs_close): Likewise.
18765 (grub_net_fs_read_real): Use eof member.
18766 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18767 (+grub_net_udp_close): New inline function.
18768
18769 * include/grub/net/tftp.h: Moved to the top of ...
18770 * grub-core/net/tftp.c: ... here.
18771 * include/grub/net/ip.h: Moved mostly to the top of ...
18772 * grub-core/net/ip.c: ... here.
18773 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18774 * grub-core/net/ethernet.c: ... here.
18775
18776 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18777
18778 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18779 FS name.
18780
18781 * include/grub/net/ip.h (ipv4_ini): Removed.
18782 (ipv4_fini): Likewise.
18783
18784 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18785 (grub_net_send_ip_packets): Likewise.
18786
18787 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18788
18789 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18790 grub_read_cmos prototype.
18791
18792 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 VGA text support in qemu-mips
18795
18796 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18797 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18798 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18799 text.
18800 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18801 * grub-core/kern/vga_init.c: ... this.
18802 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18803 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18804 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18805 Adjust.
18806 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18807 GRUB_MACHINE_PCI_IO_BASE.
18808
18809 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 MIPS qemu flash support.
18812
18813 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18814 magic.
18815 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18816 (grub_machine_init): Probe memory if its size isn't known.
18817 * util/grub-mkimage.c (image_targets): Add flash targets.
18818 (generate_image): Handle flash targets.
18819
18820 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 MIPS qemu at_keyboard support.
18823
18824 * gentpl.py (videoinkernel): Add qemu-mips.
18825 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18826 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18827 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18828 modules.
18829 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18830 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18831 * grub-core/term/serial.c (grub_serial_register)
18832 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18833
18834 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 CMOS support on sparc.
18837
18838 * gentpl.py (cmos): Add powerpc and sparc.
18839 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18840 powerpc and sparc.
18841 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18842 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18843 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18844 grub_set_datetime_cmos.
18845 * grub-core/lib/ieee1275/cmos.c: New file.
18846 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18847 (find_rtc): Set no_ieee1275_rtc on error.
18848 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18849 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18850 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18851 fail. Move value to argument. All users updated
18852 (grub_cmos_write): Likewise.
18853 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18854 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18855 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18856 grub_get_datetime_cmos and grub_set_datetime_cmos.
18857
18858 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18859
18860 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18861 sourcing grub-mkconfig_lib.
18862 * util/update-grub_lib.in: Likewise.
18863 * util/grub.d/00_header.in: Likewise.
18864 * util/grub.d/10_hurd.in: Likewise.
18865 * util/grub.d/10_kfreebsd.in: Likewise.
18866 * util/grub.d/10_linux.in: Likewise.
18867 * util/grub.d/10_netbsd.in: Likewise.
18868 * util/grub.d/10_windows.in: Likewise.
18869 * util/grub.d/20_linux_xen.in: Likewise.
18870 * util/grub.d/30_os-prober.in: Likewise.
18871
18872 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
18873
18874 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18875 default_bg_color rather than black.
18876 (grub_gfxterm_fullscreen): Likewise.
18877 (grub_gfxterm_background_color_cmd): Save new background color in
18878 default_bg_color.
18879
18880 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18883
18884 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18887 mismerge.
18888
18889 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 Chainloading on coreboot support.
18892
18893 * grub-core/Makefile.core.def (chain): Add coreboot.
18894 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18895
18896 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18897
18898 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18899 if it happens.
18900
18901 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 Implement time command.
18904
18905 * grub-core/Makefile.core.def (time): New module.
18906 * grub-core/commands/time.c: New file.
18907 * grub-core/script/parser.y: Remove "time" keyword.
18908 * grub-core/script/yylex.l: Likewise.
18909
18910 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18911
18912 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18913
18914 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18915
18916 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18917 when handling leftovers.
18918
18919 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18920
18921 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18922 so that help2man doesn't fail.
18923
18924 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18925
18926 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18927 type in pointers on sparc64.
18928 (get_card_packet): Likewise.
18929
18930 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
18931
18932 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18933 with `*'.
18934 (grub_cmd_videoinfo): Fetch current video mode.
18935
18936 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18939 because of underlying system restrictions.
18940
18941 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18944 necessary.
18945
18946 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 Coreboot video support.
18949
18950 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18951 (vbe): Likewise.
18952 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18953 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18954 here ...
18955 * grub-core/kern/i386/int.S: ... here.
18956 * grub-core/video/i386/pc/vbe.c: Updated includes.
18957 * grub-core/video/i386/pc/vga.c: Likewise.
18958 * include/grub/i386/coreboot/memory.h
18959 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18960 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18961 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18962 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18963 Disable interrupts.
18964 * include/grub/i386/pc/vga.h: Removed. All users updated.
18965
18966 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18969 definitions for dprintf.
18970 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18971
18972 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18973
18974 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18975 prototype.
18976 (get_card_packet): Likewise.
18977
18978 2011-06-26 Yves Blusseau <blusseau@zetam.org>
18979
18980 Display the path of the file when file is not found
18981
18982 * grub-core/fs/fat.c: Display the filename when file is not found.
18983 * grub-core/fs/fshelp.c: Likewise.
18984 * grub-core/fs/hfs.c: Likewise.
18985 * grub-core/fs/jfs.c: Likewise.
18986 * grub-core/fs/minix.c: Likewise.
18987 * grub-core/fs/ufs.c: Likewise.
18988 * grub-core/fs/btrfs.c: Likewise.
18989 * grub-core/commands/i386/pc/play.c: Likewise.
18990
18991 2011-06-26 Szymon Janc <szymon@janc.net.pl>
18992
18993 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18994 pointer checks before calling grub_free().
18995 * grub-core/commands/wildcard.c (match_devices): Likewise.
18996 * grub-core/commands/wildcard.c (match_files): Likewise.
18997 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18998 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18999 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
19000 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
19001 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
19002 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
19003 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
19004 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
19005 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
19006
19007 2011-06-25 Patrick <p55@mailinator.com>
19008
19009 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
19010
19011 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
19012
19013 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
19014 (grub_pxe_send): Likewise.
19015 (GRUB_MOD_INIT): Fix types.
19016
19017 2011-06-24 Szymon Janc <szymon@janc.net.pl>
19018
19019 * grub-core/io/xzio.c: Fix code style issues
19020
19021 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19022 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
19023
19024 Network infrastructure.
19025 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
19026
19027 * include/grub/net/arp.h: New file.
19028 * include/grub/net/device.h: Likewise.
19029 * include/grub/net/ethernet.h: Likewise.
19030 * include/grub/net/ip.h: Likewise.
19031 * include/grub/net/netbuff.h: Likewise.
19032 * include/grub/net/tftp.h: Likewise.
19033 * include/grub/net/udp.h: Likewise.
19034 * include/grub/ieee1275/ofnet.h: Likewise.
19035 * include/grub/emu/export.h: Likewise.
19036 * include/grub/net.h: Likewise.
19037 * grub-core/net/arp.c: Likewise.
19038 * grub-core/net/ethernet.c: Likewise.
19039 * grub-core/net/ip.c: Likewise.
19040 * grub-core/net/udp.c: Likewise.
19041 * grub-core/net/tftp.c: Likewise.
19042 * grub-core/net/netbuff.c: Likewise.
19043 * grub-core/net/net.c: Likewise.
19044 * grub-core/net/drivers/emu/emunet.c: Likewise.
19045 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
19046 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
19047 export.h.
19048 * grub-core/Makefile.core.def (net): New module.
19049 (tftp): Likewise.
19050 (ofnet): Likewise.
19051 (emunet): Likewise.
19052 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
19053 network protocols.
19054 * grub-core/kern/device.c (grub_net_open) : New variable.
19055 (grub_device_open): Handle network device.
19056 (grub_device_close): Likewise.
19057 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
19058 (grub_grubnet_fini): Likewise.
19059 (grub_file_seek): Seek in network device.
19060 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
19061 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
19062 network root.
19063 (grub_machine_fini): Call grub_grubnet_fini.
19064 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
19065 network.
19066 (grub_ieee1275_get_aliasdevname): New function.
19067 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19068 Add unofficial Solaris network info.
19069 (grub_multiboot_make_mbi): Likewise.
19070 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
19071 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
19072 * include/grub/device.h (grub_fs): Removed.
19073 * include/grub/err.h (grub_err_t): Add network-related values.
19074 * include/grub/i386/pc/pxe.h: Removed bootp parts.
19075 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
19076 (grub_ieee1275_get_aliasdevname): New proto.
19077 * include/grub/net.h: Rewritten.
19078
19079 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
19082 names.
19083
19084 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19085
19086 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
19087 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
19088 it truncates the output.
19089 Reported by: Ximin Luo.
19090
19091 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
19094
19095 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19098 partmap before abstraction.
19099
19100 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
19101
19102 * util/grub-mkconfig_lib.in: Add missing quotes.
19103
19104 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
19107 old method if mountinfo would return /dev/root and /dev/root doesn't
19108 exist.
19109
19110 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19111
19112 ZFS zlib support
19113
19114 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
19115 (decomp_table): Add zlib entries.
19116 (zio_read): USe 8 bits for compression function rather than 3.
19117 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
19118
19119 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19120
19121 * grub-core/disk/ahci.c: Add missing license statements.
19122 * grub-core/fs/romfs.c: Likewise.
19123 * grub-core/lib/ia64/setjmp.S: Likewise.
19124 * grub-core/loader/i386/pc/freedos.c: Likewise.
19125 * grub-core/loader/ia64/efi/linux.c: Likewise.
19126 * grub-core/video/colors.c: Likewise.
19127 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
19128
19129 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 AHCI support.
19132
19133 * grub-core/Makefile.core.def (ata_pthru): Removed.
19134 (ahci): New module.
19135 (pata): Likewise.
19136 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
19137 on unload.
19138 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
19139 readwrite.
19140 (grub_hdparm_do_check_powermode_cmd): Likewise.
19141 (grub_hdparm_do_smart_cmd): Likewise.
19142 (grub_hdparm_set_val_cmd): Likewise.
19143 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
19144 * grub-core/disk/ahci.c: New file.
19145 * grub-core/disk/ata.c: Factor out the low-level part into ...
19146 * grub-core/disk/pata.c: ... here.
19147 * grub-core/disk/ata_pthru.c: Contents moved to ...
19148 * grub-core/disk/pata.c: ... here.
19149 * grub-core/disk/scsi.c (grub_scsi_names): New array.
19150 (grub_scsi_iterate): Use grub_scsi_names.
19151 (grub_scsi_open): Likewise.
19152 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
19153 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
19154 (grub_ata_regs_t): New struct.
19155 (grub_disk_ata_pass_through_parms): Likewise.
19156 (grub_ata_device): Renamed to ...
19157 (grub_ata): ... this.
19158 (grub_ata_dev): New struct.
19159 Removed all low-level inline functions.
19160 * include/grub/scsi.h: Add PATA and AHCI subsystems.
19161 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
19162 iterate hooks and open. All users updated.
19163 * util/grub-install.in: Handle AHCI disk module.
19164
19165 2011-06-23 Szymon Janc <szymon@janc.net.pl>
19166
19167 Add support for DRI and RSTn markers in JPEG files.
19168
19169 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
19170 (JPEG_MARKER_RST0): Likewise.
19171 (JPEG_MARKER_RST1): Likewise.
19172 (JPEG_MARKER_RST2): Likewise.
19173 (JPEG_MARKER_RST3): Likewise.
19174 (JPEG_MARKER_RST4): Likewise.
19175 (JPEG_MARKER_RST5): Likewise.
19176 (JPEG_MARKER_RST6): Likewise.
19177 (JPEG_MARKER_RST7): Likewise.
19178 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
19179 (grub_jpeg_decode_dri): New function.
19180 (grub_jpeg_decode_sos): Move image data related part into
19181 grub_jpeg_decode_data function.
19182 (grub_jpeg_decode_data): New function.
19183 (grub_jpeg_reset): New function.
19184 (grub_jpeg_decode_jpeg): Handle new markers.
19185
19186 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 * util/ieee1275/ofpath.c (check_sas): Close fd.
19189 (main): Free of_path.
19190 Reported by: David Volgyes <dvolgyes>.
19191
19192 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19193
19194 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
19195 Reported by: David Volgyes <dvolgyes>.
19196
19197 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
19200 file after stat.
19201 Reported by: David Volgyes <dvolgyes>.
19202
19203 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
19206
19207 Reported by: David Volgyes <dvolgyes>.
19208
19209 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
19212 Prevent memory leak.
19213
19214 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19215
19216 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
19217 (main): Close file.
19218 Reported by: David Volgyes <dvolgyes>.
19219
19220 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19221
19222 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
19223 to continue if allocation is failed.
19224
19225 Reported by: David Volgyes <dvolgyes>.
19226
19227 2011-06-23 David Volgyes <dvolgyes>
19228
19229 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
19230 dereference.
19231
19232 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 Fix spurious warning.
19235
19236 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
19237 (acorn_partition_map_find): Use .bin member.
19238
19239 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19240
19241 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
19242 /dev/root as a valid device.
19243
19244 2011-06-23 Jim Meyering <meyering@redhat.com>
19245
19246 Avoid NULL deref in grub_device_open.
19247
19248 * grub-core/kern/device.c (grub_device_open): Don't dereference
19249 a NULL pointer upon failed grub_env_get.
19250
19251 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 Support non-512B sectors and agglomerate reads.
19254
19255 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
19256 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
19257 (disk_io_guid): Removed.
19258 (make_devices): Locate solely by BlockIO.
19259 (grub_efidisk_open): Fill log_sector_size and total_sectors.
19260 (grub_efidisk_read): Use read_blocks.
19261 (grub_efidisk_write): Use write_blocks.
19262 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
19263 log_sector_size.
19264 (get_safe_sectors): Handle non-512B sectors.
19265 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
19266 sectors.
19267 (grub_biosdisk_write): Handle non-512B sectors.
19268 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
19269 (grub_scsi_read): Remove special non-512B block handling (now handled
19270 one level up).
19271 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
19272 and do sanity checks.
19273 (grub_disk_adjust_range): Handle non-512B sectors.
19274 (transform_sector): New function.
19275 (grub_disk_read_small): Likewise.
19276 (grub_disk_read): Rewritten.
19277 (grub_disk_write): Handle non-512B sectors.
19278 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
19279 log_sector_size.
19280 (open_device): Use log_sector_size.
19281 (grub_util_biosdisk_read): Likewise.
19282 (grub_util_biosdisk_write): Likewise.
19283 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
19284 non-512B sectors.
19285 (pc_partition_map_embed): Likewise.
19286 * include/grub/disk.h (grub_disk): New field log_sector_size.
19287 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
19288 (GRUB_DISK_CACHE_BITS): Increased to 6.
19289 * util/grub-fstest.c (fstest): New command testload.
19290 (argp_parser): Likewise.
19291
19292 2011-06-16 Robert Millan <rmh@gnu.org>
19293
19294 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
19295 `ata' driver on kernel of FreeBSD 9.
19296
19297 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
19298 (get_ataraid_disk_name): New functions.
19299 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
19300 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
19301 get_ataraid_disk_name() and get_ada_disk_name().
19302
19303 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
19304
19305 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
19306 input format.
19307
19308 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
19309
19310 * docs/grub.texi (Obtaining and Building GRUB): Substitute
19311 `ftp.gnu.org' for `alpha.gnu.org'.
19312
19313 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19314
19315 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
19316 partitions under /dev/disk/by-id/.
19317
19318 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19319
19320 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
19321 after ten consecutive open failures. Scanning all the way up to
19322 10000 is excessive and can cause serious performance problems in
19323 some configurations.
19324 Fixes Ubuntu bug #787461.
19325
19326 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
19329 opening new one.
19330
19331 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
19332 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 Don't stat devices unless we have to.
19335
19336 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
19337 dir == /dev/mapper.
19338 (grub_guess_root_device): Use already known os_dev if possible.
19339 * grub-core/kern/emu/hostdisk.c
19340 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
19341 if device is known to be a dm one.
19342
19343 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
19344
19345 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
19346 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
19347 Reported by: Pawel Tecza.
19348
19349 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
19352 (lsefisystab): Likewise.
19353 (lssal): Likewise.
19354 (lsefimmap): Likewise.
19355 (hdparm): Enable on qemu-mips.
19356 (setjmp): Add ia64 nodist.
19357 (serial): Simplify tags.
19358
19359 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19360
19361 * Makefile.util.def (grub-ofpathname): Install manual page.
19362
19363 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19364
19365 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19366
19367 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19368
19369 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19370
19371 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19372
19373 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19374 into dprintf.
19375
19376 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19377
19378 Use full 64-bit division.
19379
19380 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19381 (grub_divmod64): ... this.
19382 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19383 version.
19384
19385 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19386
19387 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19388 `source'.
19389
19390 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19391
19392 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19393 to avoid accidents when debugging with 'sh -x'.
19394 * grub-core/gensyminfo.sh.in: Likewise.
19395 * tests/example_scripted_test.in: Likewise.
19396 * tests/grub_cmd_regexp.in: Likewise.
19397 * tests/grub_script_blanklines.in: Likewise.
19398 * tests/grub_script_dollar.in: Likewise.
19399 * tests/grub_script_expansion.in: Likewise.
19400 * tests/grub_script_final_semicolon.in: Likewise.
19401 * tests/partmap_test.in: Likewise.
19402 * tests/util/grub-shell-tester.in: Likewise.
19403 * tests/util/grub-shell.in: Likewise.
19404
19405 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19406
19407 Move gfxmenu color handling to video, so that gfxterm can use it
19408 too.
19409
19410 * grub-core/gfxmenu/named_colors.c: Move to ...
19411 * grub-core/video/colors.c: ... here. Rename
19412 grub_gui_get_named_color to grub_video_get_named_color.
19413 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19414 * grub-core/video/colors.c (my_isxdigit): ... here.
19415 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19416 Move to ...
19417 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19418 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19419 to ...
19420 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19421
19422 * include/grub/gui.h (grub_gui_color_t): Move to ...
19423 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19424 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19425 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19426 * include/grub/gui.h (grub_gui_map_color): Move to ...
19427 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19428 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19429 to ...
19430 * include/grub/video.h (grub_video_get_named_color): ... here.
19431 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19432 * include/grub/video.h (grub_video_parse_color): ... here.
19433
19434 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19435 video/colors.c.
19436 (gfxmenu): Remove gfxmenu/named_colors.c.
19437 (video) [videomodules]: Add video/colors.c.
19438
19439 Add a background_color command.
19440
19441 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19442 function.
19443 (GRUB_MOD_INIT): Register background_color command.
19444 (GRUB_MOD_FINI): Unregister background_color command.
19445 (redraw_screen_rect): Allow blend/replace of text layer to be
19446 controlled independently from whether there is a background bitmap.
19447 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19448 changing bitmap.
19449
19450 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 Patch BPB in ntldr and chainloader --bpb.
19453
19454 * grub-core/fs/fat.c: Include grub/fat.h.
19455 (grub_fat_bpb): Moved to ...
19456 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19457 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19458 grub/ntfs.h.
19459 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19460 Moved from here...
19461 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19462 here.
19463 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19464 New function.
19465 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19466 (GRUB_MOD_INIT): Show --bpb.
19467 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19468 * grub-core/normal/main.c (features): New variable.
19469 (GRUB_MOD_INIT): Set feature_* variables.
19470 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19471 proto.
19472 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19473
19474 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19475
19476 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19477 for cleanness.
19478
19479 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19480
19481 FreeDOS direct loading support.
19482
19483 * docs/grub.texi (Supported OS): Add FreeDOS.
19484 * grub-core/Makefile.core.def (freedos): New module.
19485 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19486 variable.
19487 (grub_relocator16_boot): Handle %ebx.
19488 * grub-core/lib/i386/relocator16.S: Likewise.
19489 * grub-core/loader/i386/pc/freedos.c: New file.
19490
19491 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19492
19493 Long Linux command line support.
19494
19495 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19496 (maximal_cmdline_size): New variable.
19497 (allocate_pages): Use maximal_cmdline_size.
19498 (grub_cmd_linux): Set and use maximal_cmdline_size.
19499 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19500 (allocate_pages): Use maximal_cmdline_size.
19501 (grub_cmd_linux): Set and use maximal_cmdline_size.
19502 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19503 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19504 and cmdline_size.
19505
19506 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19507 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19508
19509 Improve devmapper support
19510
19511 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19512 (grub_util_is_lvm): New function.
19513 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19514 than lvm if not dmraid.
19515 Handle mapped md nodes.
19516 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19517 (grub_util_device_is_mapped): ... this. Make always available. All users
19518 updated.
19519 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19520 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19521 dmraid nodes.
19522 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19523
19524 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19527
19528 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19529 * grub-core/modinfo.sh.in: New file.
19530 * grub-core/Makefile.core.def (modinfo.sh): New script.
19531 * util/grub-mknetdir.in: Use modinfo.sh.
19532 * util/grub-mkrescue.in: Likewise.
19533
19534 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19537 Fix potential usage of Elf32 instead of Elf64 when compiling on
19538 32-bit architecture. Add endianness macros while on it.
19539
19540 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19541
19542 Use mipsel- rather than mips- in directories involving mipsel ports to
19543 allow both endiannesses coexist.
19544
19545 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19546 mips. All conditions adjusted.
19547 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19548 variable.
19549 * util/grub-install.in: Adjust conditions to take renaming into account.
19550 * util/grub-mkimage.c (image_targets): Likewise. New target
19551 mips-qemu_mips-elf for bigendian mips.
19552
19553 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 Avoid unnecessary copying on MIPS.
19556
19557 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19558 early if src == dest.
19559 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19560 compression is none.
19561
19562 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 Reduce memory footprint on SGI by putting modules before the kernel
19565 as opposed to after.
19566
19567 * grub-core/Makefile.core.def (kernel): Increase linking address.
19568 (none_decompress): Likewise.
19569 (xz_decompress): Likewise.
19570 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19571 address.
19572 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19573 layout change.
19574 (grub_arch_modules_addr): New function.
19575 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19576 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19577 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19578 here.
19579 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19580 (grub_total_modules_size): ... this. Make global.
19581 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19582 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19583 New definition.
19584 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19585 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19586 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19587 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19588 * util/grub-mkimage.c (image_target_desc): New flag
19589 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19590 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19591 (generate_image): Handle images with modules before kernel.
19592
19593 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 Prevent potential loss of memory map by overwrite on qemu-mips.
19596
19597 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19598 Save ram size in $s4.
19599 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19600 All users changed to grub_arch_memsize.
19601 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19602 Loongson.
19603 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19604 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19605 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19606 external variable.
19607
19608 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19609
19610 * .bzrignore: Remove grub-dumpbios.
19611
19612 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19613
19614 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19615 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19616 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19617 existing options which append).
19618 * docs/grub.texi (Simple configuration): Document new options.
19619 Reported by: Ian Jackson. Fixes Debian bug #617538.
19620
19621 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19622
19623 * util/grub-fstest.c (cmd_cat): New function.
19624 (fstest): Handle CMD_CAT.
19625 (options): Add cat.
19626 (argp_parser): Handle cat.
19627
19628 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19629
19630 * Makefile.util.def (grub-bin2h): Don't install.
19631 * docs/man/grub-bin2h.h2m: Remove.
19632
19633 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19636 place.
19637
19638 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19639
19640 Reenable qemu-mips port.
19641
19642 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19643 Fix small arc bug while on it.
19644 * gentpl.py: Handle qemu_mips.
19645 * grub-core/Makefile.am: Likewise.
19646 * grub-core/Makefile.core.def: Likewise.
19647 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19648 inappropriate includes.
19649 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19650 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19651 * grub-core/kern/main.c (grub_modules_get_end)
19652 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19653 * grub-core/kern/mips/qemu-mips: Moved to ..
19654 * grub-core/kern/mips/qemu_mips: ... this.
19655 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19656 (grub_machine_init): Call terminfo_init and serial_init.
19657 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19658 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19659 New variable.
19660 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19661 parameter passing.
19662 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19663 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19664 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19665 * include/grub/mips/qemu_mips/cmos.h: New file.
19666 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19667 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19668 Removed.
19669 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19670 Use correct mips-style address.
19671 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19672 (GRUB_TICKS_PER_SECOND): Removed.
19673 (grub_get_rtc): Likewise.
19674 (grub_cpu_idle): Likewise.
19675 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19676 New definition.
19677 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19678 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19679 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19680 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19681 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19682 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19683 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19684 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19685
19686 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19687
19688 SGI ARCS port.
19689
19690 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19691 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19692 platforms.
19693 * configure.ac: New target mips-arc.
19694 * gentpl.py: Likewise.
19695 * grub-core/Makefile.am: Likewise.
19696 * grub-core/Makefile.core.def: Likewise.
19697 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19698 (none_decompress): Likewise.
19699 (lsdev): New module.
19700 (datetime): Use lib/arc/datetime.c on ARC.
19701 (part_dvh): New module.
19702 * grub-core/commands/arc/lsdev.c: New file.
19703 * grub-core/disk/arc/arcdisk.c: Likewise.
19704 * grub-core/kern/mips/arc/init.c: Likewise.
19705 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19706 aligned addresses.
19707 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19708 support.
19709 (grub_arch_dl_relocate_symbols): Likewise.
19710 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19711 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19712 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19713 platforms.
19714 * grub-core/lib/arc/datetime.c: New file.
19715 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19716 pci.h on non-loongson.
19717 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19718 (grub_linux_boot): Set unused registers to 0.
19719 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19720 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19721 * grub-core/mmap/mips/uppermem.c: ...here.
19722 * grub-core/partmap/dvh.c: New file.
19723 * grub-core/term/arc/console.c: Likewise.
19724 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19725 (grub_terminfo_set_current): Add terminal "arc".
19726 (grub_terminfo_readkey): Support ARC sequences.
19727 * include/grub/arc/arc.h: New file.
19728 * include/grub/arc/console.h: Likewise.
19729 * include/grub/disk.h (grub_disk_dev_id): Add
19730 GRUB_DISK_DEVICE_ARCDISK_ID.
19731 * include/grub/mips/arc/kernel.h: New file.
19732 * include/grub/mips/arc/memory.h: Likewise.
19733 * include/grub/mips/arc/time.h: Likewise.
19734 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19735 * include/grub/mips/kernel.h (grub_halt): ... here.
19736 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19737 here...
19738 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19739 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19740 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19741 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19742 proto.
19743 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19744 from here ...
19745 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19746 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19747 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19748 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19749 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19750 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19751 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19752 (grub_phys_addr_t): Moved from here ...
19753 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19754 (grub_vtop): Moved from here ...
19755 * include/grub/mips/memory.h (grub_vtop): ... here.
19756 (grub_map_memory): Moved from here ...
19757 * include/grub/mips/memory.h (grub_map_memory): ... here.
19758 (grub_unmap_memory): Moved from here ...
19759 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19760 (grub_machine_mmap_iterate): Moved from here ...
19761 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19762 (grub_mmap_get_lower): Moved from here ...
19763 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19764 (grub_mmap_get_upper): Moved from here ...
19765 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19766 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19767 here ...
19768 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19769 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19770 here ...
19771 * include/grub/mips/time.h (grub_get_rtc): ... here.
19772 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19773 here ...
19774 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19775 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19776 here ...
19777 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19778 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19779 definition.
19780 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19781 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19782 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19783 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19784 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19785 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19786 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19787 (GRUB_MACHINE_LINK_ADDR): Likewise.
19788 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19789 to 6.
19790 * util/grub-install.in: Run dvhtool on ARC.
19791 * util/grub-mkimage.c (image_targets): Add mips-arc.
19792 (generate_image): Handle ECOFF output for mips-arc.
19793
19794 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19795
19796 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19797 blocks.
19798
19799 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19802 after enabling port.
19803
19804 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 Skip incorrect USB devices.
19807
19808 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19809 configcnt == 0.
19810 * include/grub/usb.h (grub_usb_err_t): New enum value
19811 GRUB_USB_ERR_BADDEVICE.
19812
19813 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 Fuloong video init support.
19816
19817 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19818 well.
19819 (grub_vga_read_arx): New function.
19820 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19821 definition.
19822 (framebuffer): New members io, mmioptr and mmiobase.
19823 (read_sis_cmd): New function.
19824 (write_sis_cmd): Likewise.
19825 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19826 rather than 640x400.
19827 * grub-core/video/sis315_init.c: New file.
19828
19829 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19830
19831 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19832 non-loongson.
19833 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19834 to grub_dl_register_symbol.
19835
19836 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19837
19838 Fix compilation errors.
19839
19840 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19841 potentially unused.
19842 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19843 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19844 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19845 to loongson machines.
19846
19847 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19848
19849 Several FS mtime support.
19850
19851 * grub-core/fs/affs.c (grub_affs_time): New struct.
19852 (grub_affs_file): New field mtime.
19853 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19854 type. Removed 'size'. New field 'di'. All users updated.
19855 (grub_affs_mount): Simplify checsum checking.
19856 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19857 (grub_affs_dir): Handle mtime.
19858 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19859 (grub_cpio_dir): Likewise.
19860 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19861 (grub_hfs_filerec): New field mtime.
19862 (grub_hfs_dir): Handle mtime.
19863 (grub_hfs_mtime): New function.
19864 (grub_hfs_fs): Register grub_hfs_mtime.
19865 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19866 (grub_iso9660_dir): New field mtime.
19867 (grub_fshelp_node): New field dirent.
19868 (iso9660_to_unixtime): New function.
19869 (iso9660_to_unixtime2): Likewise.
19870 (grub_iso9660_read_symlink): Use node->dirent.
19871 (grub_iso9660_iterate_dir): Likewise.
19872 (grub_iso9660_dir): Set mtime.
19873 (grub_iso9660_mtime): New function.
19874 (grub_iso9660_fs): Register grub_iso9660_mtime.
19875 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19876 (grub_jfs_inode): New fields atime, ctime and mtime.
19877 (grub_jfs_dir): Set mtime.
19878 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19879 * grub-core/fs/ntfs.c (list_file): Set mtime.
19880 (grub_ntfs_dir): Likewise.
19881 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19882 (grub_reiserfs_iterate_dir): Set mtime.
19883 (grub_reiserfs_dir): Likewise.
19884 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19885 (grub_fshelp_node): Likewise.
19886 (grub_sfs_iterate_dir): Set mtime.
19887 (grub_sfs_dir): Likewise.
19888 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19889 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19890 (grub_xfs_inode): New fields atime, mtime, ctime.
19891 (grub_xfs_dir): Set mtime.
19892 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19893 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19894 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19895
19896 Support UDF symlinks.
19897
19898 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19899 (grub_ufs_read_symlink): New function. All users updated.
19900
19901 Check amiga partmap checksum.
19902
19903 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19904 (grub_amiga_partition): Likewise.
19905 (amiga_partition_map_checksum): New function.
19906 (amiga_partition_map_iterate): Check checksum.
19907
19908 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 ROMFS support.
19911
19912 * Makefile.util.def (libgrubmods.a): Add romfs.
19913 * grub-core/Makefile.core.def (romfs): New module.
19914 * grub-core/fs/romfs.c: New file.
19915
19916 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 Squashfs v4 support.
19919
19920 * Makefile.util.def (libgrubmods.a): Add squash4.
19921 * grub-core/Makefile.core.def (squash4): New module.
19922 * grub-core/fs/squash4.c: New file.
19923 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19924 disk_input_start, disk_input.
19925 (get_byte): Handle disk_input.
19926 (grub_zlib_disk_read): New function.
19927 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19928
19929 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19930 2011-05-15 Feiran Zheng <famcool@gmail.com>
19931
19932 * Makefile.util.def (libgrubmods.a): Add minix3.
19933 * grub-core/Makefile.core.def (minix3): New module.
19934 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19935 (GRUB_MINIX_BSIZE): Removed.
19936 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19937 (grub_minix_ino_t): New type.
19938 (grub_minix_le_to_cpu_ino): New macro.
19939 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19940 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19941 (grub_minix_data): New field block_size.
19942 (grub_minix_read_file): Handle 64-bit correctly.
19943 * grub-core/fs/minix3.c: New file.
19944
19945 2011-05-15 Tristan Gingold <gingold@free.fr>
19946 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
19947 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19948
19949 IA64 support.
19950
19951 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19952 * configure.ac: Add ia64-efi target.
19953 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19954 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19955 * gentpl.py: Add ia64_efi platform.
19956 Rename x86_efi to efi and Add ia64-efi. All users updated.
19957 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19958 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19959 Remove kern/generic/rtc_get_time_ms.c on EFI.
19960 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19961 kern/ia64/dl_helper.c on ia64-efi.
19962 Add kern/emu/cache.c on emu.
19963 (linux): Use on loader/ia64/efi/linux.c on ia64.
19964 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19965 whether symbol is a function.
19966 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19967 (grub_symbol): New field 'isfunc'.
19968 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19969 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19970 (grub_dl_load_segments): Place all sections into the same region.
19971 [__ia64__]: Create trampolines and got.
19972 [GRUB_MACHINE_EMU]: Call mprotect.
19973 (grub_dl_resolve_symbols): Resolve symbol type as well.
19974 [__ia64__]: Create function descriptors.
19975 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19976 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19977 (grub_get_rtc): New function.
19978 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19979 * grub-core/kern/emu/cache.S: Renamed to ...
19980 * grub-core/kern/emu/cache_s.S: ... this.
19981 [__ia64__]: Add a nop.
19982 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19983 [__ia64__]: New function.
19984 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19985 * grub-core/kern/ia64/dl.c: New file.
19986 * grub-core/kern/ia64/dl_helper.c: Likewise.
19987 * grub-core/kern/ia64/efi/init.c: New file.
19988 * grub-core/kern/ia64/efi/startup.S: Likewise.
19989 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19990 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19991 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19992 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19993 * grub-core/loader/ia64/efi/linux.c: New file.
19994 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19995 (GRUB_MOD_DEP): Likewise.
19996 (grub_dl) [__ia64__]: New fields got and tramp.
19997 (grub_dl): New field 'base'.
19998 (grub_dl_register_symbol): New argument isfunc. All users updated.
19999 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
20000 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
20001 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
20002 (grub_ia64_dl_get_tramp_got_size): New proto.
20003 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
20004 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
20005 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
20006 * include/grub/efi/api.h: Skip call wrappers on ia64.
20007 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
20008 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
20009 * include/grub/elf.h (ELF_ST_INFO): New definition.
20010 * include/grub/ia64/efi/kernel.h: New file.
20011 * include/grub/ia64/efi/memory.h: Likewise.
20012 * include/grub/ia64/efi/time.h: Likewise.
20013 * include/grub/ia64/kernel.h: Likewise.
20014 * include/grub/ia64/setjmp.h: Likewise (from glibc).
20015 * include/grub/ia64/time.h: New file.
20016 * include/grub/ia64/types.h: Likewise.
20017 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
20018 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
20019 New protos.
20020 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
20021 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
20022 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
20023 * util/grub-mkimage.c (image_target_desc): New field pe_target.
20024 All users updated.
20025 (EFI64_HEADER_SIZE): New definition. All users updated.
20026 (image_targets): Add ia64-efi.
20027 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
20028 jumpers_addr. All users updated.
20029 Create function descriptors.
20030 (count_funcs): New function.
20031 (unaligned_uint32): New struct.
20032 (MASK20): New definition.
20033 (MASK19): Likewise.
20034 (MASKF21): Likewise.
20035 (add_value_to_slot_20b): New function.
20036 (add_value_to_slot_21_real): Likewise.
20037 (add_value_to_slot_21): Likewise.
20038 (ia64_kernel_trampoline): New struct.
20039 (nopm): New variable.
20040 (jump): Likewise.
20041 (make_trampoline): New function.
20042 (relocate_addresses): Handle ia64.
20043 (make_reloc_section): Likewise.
20044 (load_image): Likewise.
20045
20046 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
20049 warning. Move variables before code while on it.
20050
20051 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 Fuloong support.
20054
20055 * configure.ac: Rename yeeloong platform to loongson. All users updated.
20056 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
20057 * grub-core/boot/mips/loongson/fuloong.S: New file.
20058 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
20059 Explicitly init CS5536.
20060 [FULOONG]: Don't use serial until CS5536 is available.
20061 Set GPIO based on dumps.
20062 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
20063 [FULOONG]: Handle GPIO and memory controller differences.
20064 Parse machine type in $a2.
20065 * grub-core/boot/mips/startup_raw.S: Determine and save the
20066 architecture.
20067 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
20068 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
20069 init on architecture type.
20070 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
20071 SIS315E. Don't init at_keyboard on fuloong.
20072 (grub_halt): Support Fuloong.
20073 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
20074 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
20075 (loongson_machtypes): New array.
20076 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
20077 type.
20078 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
20079 config. All users updated. Handle CS5536 serial.
20080 * grub-core/term/serial.c (grub_serial_register): Conditionalise
20081 default port on machine type. Register serial as inactive.
20082 * grub-core/video/sis315pro.c: New file.
20083 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
20084 definition.
20085 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
20086 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
20087 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
20088 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
20089 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
20090 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
20091 to ...
20092 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
20093 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
20094 definition.
20095 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
20096 (grub_arch_machine): New extern var.
20097 * include/grub/mips/loongson/serial.h
20098 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
20099 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
20100 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
20101 (GRUB_MACHINE_SERIAL_PORT0): ... this.
20102 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
20103 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
20104 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
20105 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
20106 * include/grub/term.h (grub_term_register_input_inactive): New inline
20107 function.
20108 (grub_term_register_output_inactive): Likewise.
20109 * include/grub/video.h (grub_video_driver_id): New value
20110 GRUB_VIDEO_DRIVER_SIS315PRO.
20111 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
20112 New field "names". All users updated.
20113 New field value IMAGE_FULOONG_FLASH.
20114 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
20115
20116 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
20117
20118 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
20119 and add some clarification.
20120
20121 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20122
20123 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
20124 platforms if kernel is compressed.
20125
20126 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
20129 unused modules since currently referrence counter isn't reliable and
20130 there isn't much memory to recover there anyway.
20131
20132 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
20135 rather than resetting it to allow modules to reference themselves
20136 in init.
20137
20138 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20139
20140 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
20141 counter on dependencies since grub_dl_unref already handles this.
20142
20143 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
20146 on error if not already done.
20147
20148 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 Fix few potential memory misusage.
20151
20152 * grub-core/font/font.c (load_font_index): Don't free char_index to
20153 avoid double free.
20154 (grub_font_load): Zero-fill font at alloc for safety.
20155 Close file on error.
20156 (free_font): Free bmp_idx.
20157
20158 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 * docs/grub.texi (Installation): Fix several outdated claims.
20161
20162 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 Handle module_license on windows.
20165
20166 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
20167 sections shifted.
20168 (insert_string): Make argument const char * instead of char *.
20169 (write_section_data): Handle long section names.
20170 Handle module_license.
20171
20172 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
20175 handle class-free menuentries.
20176 (grub_normal_add_menu_entry): Add a check to be sure.
20177
20178 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
20181 PgUp and PgDown.
20182
20183 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20184
20185 * configure.ac: Bump version to 1.99.
20186
20187 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 Give ATA device a bit more time on first try in order to allow disks
20190 to spin up.
20191
20192 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
20193 if dev->present is 1. Reset dev->present on failure.
20194 (grub_ata_device_initialize): Set dev->present to 1.
20195 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
20196 (grub_ata_device): New member 'present'.
20197
20198 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 * util/grub-mkimage.c (generate_image): Update hash.
20201
20202 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20203
20204 Flush caches on DMA memory.
20205
20206 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
20207 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
20208 (grub_dma_free): Likewise.
20209 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
20210
20211 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20212
20213 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
20214 to avoid asm treating ld and sd as macros.
20215
20216 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
20219 decompressor.
20220
20221 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20222
20223 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
20224 grub_decompress_core since later would fail if grub_decompress_core
20225 is too far.
20226
20227 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
20230 R_MIPS_JALR since it's used by newer compiler.
20231
20232 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
20235
20236 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20237
20238 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
20239 file_path to 0 for surety.
20240 (grub_chainloader_boot): Set exit_data to NULL.
20241 Unset the loader once done.
20242 (grub_cmd_chainloader): Fix confusing error message if file is empty.
20243
20244 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
20247 unknown key into a dprintf.
20248
20249 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
20252 on first non-existant partition.
20253
20254 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
20257 openning fails.
20258 Reported by: Mark Korenberg.
20259
20260 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
20263 overflow.
20264
20265 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20266
20267 * util/grub-mkimage.c (main): Explicitely flush and sync the output
20268 before closing to ensure that it will be readable by grub-setup.
20269
20270 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20271
20272 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
20273 (devpath_1): Use MAKE_PIWG_PATH.
20274 (devpath_2): Likewise.
20275 (devpath_3): Likewise.
20276 (devpath_4): Likewise.
20277 (devpath_5): Likewise.
20278 (devpath_6): Likewise.
20279
20280 The appleldr.mod was checked that to be binary identical to previous
20281 version.
20282
20283 2011-05-05 Zach <mikezackles>
20284
20285 Support 2010 Macbooks.
20286
20287 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
20288 (devs): Add devpath_6.
20289
20290 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20291
20292 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
20293 /dev/random. /dev/urandom is good enough for our purposes (salting).
20294
20295 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
20298
20299 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
20302 hexadecimal.
20303
20304 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
20307 and not 0 on failure.
20308
20309 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20310
20311 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
20312 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
20313 disk; otherwise grub_fs_probe will not fall back to the next
20314 filesystem.
20315 (grub_pxefs_open): Likewise, for consistency.
20316 Reported and tested by: Ezekiel Grave.
20317
20318 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20319
20320 * tests/partmap_test.in: Don't hardcode path to parted.
20321 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
20322
20323 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
20324
20325 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
20326 of `ls' to find out which devices are available.
20327
20328 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
20331 than source address for efi mmap buffer.
20332
20333 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
20336 wrong action on non-detecting the magic.
20337
20338 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
20341 already supplied by another part of the module (fixes compilation on
20342 FreeBSD).
20343
20344 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20345
20346 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
20347 match the one used by mdadm.
20348
20349 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20350
20351 * po/README: Add instructions for creating po/LINGUAS.
20352
20353 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20354
20355 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
20356 #551428.
20357
20358 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20359 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20360 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20361 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20362 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20363 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20364 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20365 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20366 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20367 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20368 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20369 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20370 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20371 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20372 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20373 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20374 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20375 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20376 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20377 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20378 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20379 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20380
20381 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20382
20383 * grub-core/kern/emu/getroot.c
20384 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20385 test that was incorrectly reintroduced in r3214.
20386 Reported by: Ian Dall. Fixes Savannah bug #33133.
20387
20388 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20389
20390 Fix stack pointer handling in 16-bit relocator.
20391
20392 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20393 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20394 Fixes Ubuntu bug #683904.
20395
20396 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20397
20398 * configure.ac: Bump version to 1.99~rc2.
20399
20400 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20401
20402 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20403 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20404 * grub-core/lib/x86_64/setjmp.S: Likewise.
20405 * grub-core/lib/mips/setjmp.S: Likewise.
20406 * grub-core/lib/powerpc/setjmp.S: Likewise.
20407 * grub-core/lib/sparc64/setjmp.S: Likewise.
20408
20409 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20410
20411 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20412 * grub-core/lib/efi/datetime.c: Likewise.
20413
20414 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20415
20416 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20417 New function.
20418 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20419 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20420 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20421
20422 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20423
20424 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20425 bitmap.
20426 (grub_gfxterm_term_init): Likewise.
20427
20428 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20429
20430 Take into account the decorations the computing menu entry width.
20431
20432 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20433 (grub_gfxmenu_create_box): Register get_border_width.
20434 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20435 if available.
20436 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20437 get_border_width.
20438
20439 2011-04-18 Endres Puschner <code@e7p.de>
20440
20441 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20442 Don't skip first class.
20443
20444 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20445
20446 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20447 chunks.
20448 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20449
20450 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20451
20452 Complete 64-bit division support.
20453
20454 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20455 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20456 * include/grub/misc.h (grub_divmod64): Rename to ...
20457 (grub_divmod64_full): ... this.
20458 (grub_divmod64): New inline function.
20459
20460 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20461
20462 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20463
20464 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20465
20466 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20467 performing the necessary test.
20468
20469 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20472 (kfreebsd.elf): Likewise.
20473 (pc-chainloader.elf): Likewise.
20474 (ntldr.elf): Likewise.
20475
20476 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 Identify RAID by its UUID rather than (guessed) name.
20479
20480 * grub-core/disk/raid.c (ascii2hex): New function.
20481 (grub_raid_open): Accept mduuid/%s specification.
20482 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20483 (get_mdadm_uuid): ... this.
20484 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20485
20486 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20489 to negative size.
20490
20491 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20492
20493 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20494 btrfs subvolume.
20495 * util/grub.d/20_linux_xen.in: Likewise.
20496
20497 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20498
20499 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20500 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20501
20502 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20503 Build a list of relevant visible mounts using the mnt_id and
20504 parent_mnt_id fields, and then scan that list at the end.
20505
20506 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20507
20508 * docs/grub.texi (normal): New section.
20509 (normal_exit): New section.
20510 (Embedded configuration): Add reference to normal.
20511 (GRUB only offers a rescue shell): Likewise.
20512 * docs/grub-dev.texi (Error Handling): Fix typo.
20513
20514 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20515
20516 * NEWS: Drop obsolete entry about probe-only btrfs support.
20517
20518 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20519
20520 * util/import_gcry.py: Fix typo.
20521
20522 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * NEWS: Add btrfs support.
20525
20526 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20527 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20528
20529 BtrFS support. Written by me (Vladimir) with important bugfixes and
20530 even more important testing by Colin.
20531
20532 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20533 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20534 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20535 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20536 mem_input_off and mem_input. All users updated to accept in-RAM input.
20537 (gzio_seek): New function.
20538 (test_zlib_header): Likewise.
20539 (grub_gzio_read): Likewise.
20540 (grub_zlib_decompress): Likewise.
20541 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20542 Accept partial and non-virtual mounts.
20543 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20544 avoid receiving /dev/dm-X as device.
20545 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20546 Handle bind and partial mounts.
20547 * grub-core/lib/crc.c: New file.
20548 * include/grub/deflate.h: Likewise.
20549 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20550 proto.
20551 * include/grub/lib/crc.h: New file.
20552
20553 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20554
20555 Implement automatic module license checking according to new GNU
20556 guidelines.
20557
20558 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20559 (grub_dl_load_core): Use grub_dl_check_license.
20560 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20561 (GRUB_MOD_LICENSE): Likewise.
20562 (GRUB_MOD_DUAL_LICENSE): Likewise.
20563 All modules updated.
20564
20565 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20566
20567 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20568 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20569 loaders.
20570 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20571
20572 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20573
20574 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20575
20576 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20577
20578 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20579 failed.
20580
20581 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20584 parenthesis in the middle of the filename.
20585
20586 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20587
20588 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20589 rather than trying to put initrd way too high.
20590 Reported by: Ryan Lortie <desrt@desrt.ca>
20591
20592 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20595 improperly removed string.
20596
20597 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20598
20599 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20600 is_disk.
20601 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20602 (open_device) Likewise.
20603 (grub_util_biosdisk_close): Likewise.
20604 Reported by: Mark Korenberg.
20605
20606 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20607
20608 * util/grub-mkconfig_lib.in: Add missing quotes.
20609
20610 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
20611
20612 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20613 is NULL.
20614
20615 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20616
20617 Dynamically count the number of lines for the lower banner.
20618
20619 * grub-core/normal/menu_entry.c (per_term_screen): New member
20620 num_entries.
20621 (print_down): Use num_entries.
20622 (update_screen): Likewise.
20623 (grub_menu_entry_run): Set num_entries.
20624 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20625 num_entries.
20626 (grub_print_message_indented): Move real part to ...
20627 (grub_print_message_indented_real): ... here. Additional argument
20628 dry_run.
20629 (draw_border): Additional argument num_entries.
20630 (print_message): Additional argument dry_run.
20631 (print_entries): Receive menu viewer data.
20632 (grub_menu_init_page): New argment num_entries.
20633 (menu_text_set_chosen_entry): Use num_entries.
20634 (grub_menu_try_text): Likewise.
20635 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20636 All users updated.
20637 (grub_ucs4_count_lines): New function.
20638 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20639 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20640 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20641 (grub_term_border_height): Likewise.
20642 (grub_term_num_entries): Likewise.
20643
20644 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20645
20646 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20647 Remove now unused string.
20648
20649 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20652 build system.
20653 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20654
20655 (Comment): Fix typo.
20656 (Getting started): General copy-editing.
20657 (Typical Development Experience): Likewise.
20658 (Error Handling): Likewise.
20659 (Video API): Likewise.
20660
20661 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20662
20663 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20664 throughout.
20665
20666 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20667
20668 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20669 directory.
20670
20671 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20672
20673 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20674 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20675 "development".
20676
20677 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20678
20679 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20680 grub_strcpy since the lines aren't necessarily 0-terminated.
20681
20682 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20683
20684 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20685 root on legacy.
20686
20687 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20690 (GRUB_MOD_INIT): DEVICE isn't optional.
20691
20692 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20695 word on new line if it's too long anyway. Fixes a hang.
20696
20697 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20700 const.
20701 * util/grub-setup.c (main): Reuse md device name if available.
20702 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20703 not GRUB name as argument.
20704 Based on patch by: Florian Wagner <fwagner>.
20705
20706 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20709 Place mbi on low memory for better compatibility.
20710
20711 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20712
20713 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20714
20715 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20716 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20717
20718 * autogen.sh: Ensure that collate and ctype locale is C.
20719 * conf/Makefile.common: Likewise.
20720
20721 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20722
20723 * grub-core/normal/menu.c: Add missing include.
20724
20725 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20726
20727 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
20728
20729 2011-04-08 Martin Zuther <mzuther@mzuther.de>
20730
20731 * util/grub-mkconfig.in: Ignore emacsen backup.
20732
20733 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20736 on open.
20737 (grub_util_biosdisk_close): Likewise.
20738
20739 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20740
20741 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20742 const attribute and use grub_isdigit.
20743
20744 2011-04-06 Andrey <dev_null@ukr.net>
20745
20746 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20747 gcc warning.
20748
20749 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20750
20751 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20752 useful grub_dprintf's.
20753
20754 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20757
20758 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20761
20762 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20763
20764 Output errors if theme loading failed.
20765
20766 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20767 grub_gfxterm_fullscreen on error paths to ...
20768 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20769 theme loading error.
20770
20771 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20772
20773 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20774 space for older compilers.
20775 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20776
20777 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20778
20779 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20780 and report them as not RAID members since they are useless for GRUB.
20781 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20782
20783 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20784
20785 Increase LVM implementation robustness in order not to crash on
20786 configurations like pvmove. Previously code assumed that in some places
20787 only lvs or only pvs are used whereas it seems that they are used
20788 interchangeably.
20789
20790 * grub-core/disk/lvm.c (read_node): New function.
20791 (read_lv): Use read_node.
20792 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20793 Match volumes only at the end when all lvs are found. Take both
20794 pvs (first) and lvs (second) into account.
20795 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20796 mirror_* into node_*. All users updated.
20797 (grub_lvm_stripe): Merge this ...
20798 (grub_lvm_mirror): ... and this ...
20799 (grub_lvm_node): ... into this. All users updated.
20800
20801 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20804 of function to allow further scanning for LVMs.
20805
20806 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20809 on failed seek as it breaks open fd reusage.
20810
20811 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20812
20813 * util/grub-install.in: Add a recommendation to use --recheck before
20814 reporting bugs.
20815
20816 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20819 are obtained.
20820
20821 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20822
20823 GRUB developper manual based on existing Internals section and
20824 contributions by the various authors with active copyright assignment.
20825
20826 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20827 * docs/font_char_metrics.png: New file.
20828 * docs/font_char_metrics.txt: Likewise.
20829 * docs/grub-dev.texi: Likewise.
20830 * docs/grub.texi (Internals): Move from here ...
20831 * docs/grub-dev.texi: ... here.
20832
20833 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20834
20835 Store the loopback device as data on loopback grub_disk structures,
20836 rather than the file it points to. This fixes use of freed memory
20837 if an existing loopback device is replaced.
20838
20839 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20840 disk->data, not dev->file.
20841 (grub_loopback_read): Adjust file assignment to match.
20842 Fixes Ubuntu bug #742967.
20843
20844 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20845
20846 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20847 when replacing an existing device.
20848
20849 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20850
20851 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20852 memory corruptions.
20853
20854 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20855 unsigned.
20856 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20857 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20858 (grub_jfs_read_inode): Likewise.
20859 (grub_jfs_opendir): Likewise. Remove now useless casts.
20860 (grub_jfs_getent): Likewise.
20861 Make ino a grub_uint32_t rather than int.
20862 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20863 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20864 division and module with bit operations.
20865 (grub_jfs_find_file): Make ino a grub_uint32_t.
20866 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20867
20868 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20869
20870 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20871 warning. (This was in fact always initialised before use, but GCC
20872 wasn't smart enough to prove that.)
20873 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20874
20875 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20878 stack alignment.
20879 (efi_wrap_1): Likewise.
20880 (efi_wrap_2): Likewise.
20881 (efi_wrap_3): Likewise.
20882 (efi_wrap_4): Likewise.
20883 (efi_wrap_5): Likewise.
20884 (efi_wrap_6): Likewise.
20885 (efi_wrap_10): Likewise.
20886 Based on information by: Red Hat/Peter Jones.
20887
20888 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20889
20890 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20891 set-but-not-used variable.
20892
20893 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20894
20895 * docs/grub.texi (Simple configuration): Be more explicit about
20896 GRUB_DEFAULT, and add an example.
20897 Reported by: Leslie Rhorer.
20898
20899 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20900
20901 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20902 shell".
20903
20904 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20905
20906 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20907 * util/grub.d/20_linux_xen.in: Likewise.
20908
20909 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20910
20911 * util/grub.d/10_linux.in: Try alternative config filenames where
20912 we parse config file.
20913 * util/grub.d/20_linux_xen.in: Likewise.
20914
20915 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20916
20917 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20918 * util/grub.d/20_linux_xen.in: Likewise.
20919
20920 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20921
20922 * grub-core/disk/raid.c (insert_array): Add few potentially
20923 useful grub_util_info.
20924 (grub_raid_register): Likewise.
20925
20926 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20927
20928 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20929 Preserve partition number in mdadm code path.
20930
20931 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20932
20933 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20934 few potentially useful grub_util_info.
20935
20936 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20937
20938 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20939
20940 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20941
20942 * docs/grub.texi (default): Use @example rather than nested
20943 itemized lists to avoid breaking gendocs.
20944
20945 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20946
20947 * docs/grub.texi (Future): Update.
20948
20949 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20950
20951 * docs/grub.texi (Environment): New chapter.
20952 (Changes from GRUB Legacy): Link to "Environment block" section for
20953 details of limitations.
20954 (Simple configuration): Likewise. Link to documentation of gfxmode
20955 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20956 respectively.
20957 (Shell-like scripting): Note that normal variables are stored in the
20958 environment.
20959 (gettext): Link to documentation of lang and locale_dir.
20960 (list_env): New section.
20961 (load_env): New section.
20962 (save_env): New section.
20963
20964 (Reporting bugs): Fix typo.
20965
20966 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20967
20968 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20969 the example.
20970
20971 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20972
20973 * grub-core/term/at_keyboard.c (set_scancodes)
20974 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20975
20976 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20977
20978 * docs/grub.texi (Menu-specific commands): Remove some semantics
20979 that were true in GRUB Legacy but not in GRUB 2.
20980 (submenu): New section.
20981 (false): New section.
20982 (read): New section.
20983 (true): New section.
20984
20985 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20986
20987 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20988
20989 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20990
20991 * docs/grub.texi (Simple configuration): Explain some of the
20992 current limitations of grub-mkconfig.
20993 Reported by: Leslie Rhorer.
20994
20995 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20996
20997 Old macs search for boot.efi rather than for bootia32.efi.
20998
20999 * util/grub-install.in: Copy bootia32.efi to boot.efi.
21000 * util/grub-mkrescue.in: Likewise.
21001 Suggested by: Peter Jones.
21002
21003 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21004
21005 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
21006
21007 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21008
21009 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
21010 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
21011 (grub_lvm_mirror): New struct.
21012 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
21013 (grub_lvm_iterate): Iterate only visible volumes.
21014 (grub_lvm_read): Factor out to ..
21015 (read_lv): ... this. Support mirrors.
21016 (grub_lvm_read): New wrapper function.
21017 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
21018 stripped or mirrored.
21019
21020 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21021
21022 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
21023
21024 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
21025
21026 * docs/grub.texi (loopback): New section.
21027
21028 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
21029
21030 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
21031 removed -p option.
21032
21033 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
21034
21035 * docs/grub.texi (BIOS installation): New section, partly based on
21036 previous text in other sections.
21037 (Installing GRUB using grub-install): Replace BIOS discussion with a
21038 cross-reference.
21039 (Images): Likewise.
21040
21041 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 * grub-core/kern/emu/hostdisk.c (find_partition_start)
21044 [HAVE_DIOCGDINFO]: Add safety checks.
21045
21046 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
21049 per default compiled in kernel and prior to 8.0 isn't shipped at all.
21050
21051 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
21052
21053 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
21054 real_sb->size is zero (e.g. RAID-0), get the disk size from
21055 real_sb->data_size instead.
21056 Fixes Ubuntu bug #743136.
21057
21058 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21059
21060 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
21061 printf clauses for printing size and start.
21062
21063 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21064
21065 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
21066 Reported and tested by: Timothy Nikkel.
21067
21068 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21069
21070 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
21071 (dirty_region_add_real): ... this.
21072 (dirty_region_add): Don't discard margin refresh when performing
21073 scheduled repaint.
21074
21075 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21076
21077 * grub-core/lib/relocator.c (allocate_regstart)
21078 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
21079 terminals are capabple of malloc-free operation.
21080 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
21081 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
21082
21083 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
21084
21085 * util/grub-setup.c: Copy the partition table zone if floppy support
21086 is disabled, even if no partition table is found.
21087
21088 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
21089 during POST if an invalid partition table is contained in the PBR
21090 of the active partition when GRUB is installed to a partition.
21091
21092 2011-03-28 Colin Watson <cjwatson@debian.org>
21093
21094 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
21095 comment.
21096
21097 2011-03-28 Colin Watson <cjwatson@debian.org>
21098
21099 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
21100 to be specific about what kind of RAID device we're scanning for.
21101
21102 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
21103
21104 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
21105 return freed string.
21106
21107 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21108
21109 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
21110
21111 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21112
21113 Use libgeom on FreeBSD to detect partitions.
21114
21115 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
21116 (grub-mkrelpath): Likewise.
21117 (grub-script-check): Likewise.
21118 (grub-editenv): Likewise.
21119 (grub-mkpasswd-pbkdf2): Likewise.
21120 (grub-fstest): Likewise.
21121 (grub-mkfont): Likewise.
21122 (grub-mkdevicemap): Likewise.
21123 (grub-probe): Likewise.
21124 (grub-setup): Likewise.
21125 (grub-ofpathname): Likewise.
21126 (grub-mklayout): Likewise.
21127 (example_unit_test): Likewise.
21128 (grub-menulst2cfg): Likewise.
21129 * grub-core/Makefile.core.def (grub-emu): Likewise.
21130 (grub-emu-lite): Likewise.
21131 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
21132 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
21133 define HAVE_DIOCGDINFO.
21134 (follow_geom_up) [FreeBSD]: New function.
21135 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
21136 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
21137 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
21138 unconditionally of HAVE_DIOCGDINFO.
21139
21140 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21141
21142 Fix FreeBSD compilation problem.
21143
21144 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
21145 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
21146
21147 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
21148
21149 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
21150 Switch back to page zero before loading a kernel, since some kernel
21151 drivers expect that.
21152 Thanks to: Felix Kuehling.
21153
21154 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21155
21156 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
21157 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
21158 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
21159
21160 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
21163 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
21164
21165 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21166
21167 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
21168 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
21169 malloc is disabled.
21170
21171 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21172
21173 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
21174 for modules headers when counting the needed allocation size.
21175
21176 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21177
21178 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
21179 if no ASCII character is found to prevent crash.
21180
21181 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
21182
21183 * grub-core/video/bitmap.c (match_extension): Ignore case.
21184
21185 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
21188
21189 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21190
21191 * grub-core/script/parser.y: Declare "time" as valid argument.
21192
21193 2011-03-23 Peter Jones <pjones@redhat.com>
21194
21195 Fix incorrect assert failure reporting.
21196
21197 * grub-core/tests/example_functional_test.c (example_test): Add
21198 a failure comment.
21199 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
21200 (failure_start): ...this. Check that malloc succeeded.
21201 Don't call xvasprintf. Return failure struct.
21202 (failure_append_vtext): New function.
21203 (failure_append_text): Likewise.
21204 (add_failure): Likewise.
21205 (grub_test_assert_helper): Likewise.
21206 * include/grub/test.h (grub_test_assert_helper): New declaration.
21207 (grub_test_assert): Macro rewritten.
21208
21209 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21210
21211 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
21212
21213 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
21216
21217 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21218
21219 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
21220 into GRUB-style one.
21221
21222 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
21225 error and not grub_errno.
21226 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
21227
21228 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21229
21230 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
21231 GRUB_USB_SPEED_NONE in case of failure and not the error code.
21232
21233 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21234
21235 * grub-core/efiemu/i386/pc/cfgtables.c
21236 (grub_machine_efiemu_init_tables): Make declaration a prototype.
21237 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
21238 (grub_xnu_unlock): Likewise.
21239 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
21240
21241 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
21244 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
21245 * grub-core/commands/hashsum.c (aliases): Likewise.
21246 * grub-core/commands/setpci.c (pci_registers): Likewise.
21247 * grub-core/disk/usbms.c (attach_hook): Likewise.
21248 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
21249 (zio_checksum_table): Likewise.
21250 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
21251 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
21252 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
21253 * grub-core/lib/relocator.c (leftovers): Likewise.
21254 (extra_blocks): Likewise.
21255 * grub-core/loader/i386/bsd.c (relocator): Likewise.
21256 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
21257 (modules_last): Likewise.
21258 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
21259 (devices): Likewise.
21260 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
21261 (modules_last): Likewise.
21262 * grub-core/normal/auth.c (users): Likewise.
21263 * grub-core/normal/context.c (initial_menu): Likewise.
21264 (current_menu): Likewise.
21265 * grub-core/normal/crypto.c (crypto_specs): Likewise.
21266 * grub-core/term/serial.c (grub_serial_ports): Likewise.
21267 (grub_serial_terminfo_input_template): Likewise.
21268 (grub_serial_terminfo_output_template): Likewise.
21269 (grub_serial_terminfo_input): Likewise.
21270 (grub_serial_terminfo_output): Likewise.
21271 (registered): Likewise.
21272 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
21273
21274 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21275
21276 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
21277 grub_video_mode_type_t.
21278 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
21279 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
21280 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
21281
21282 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 * util/grub-install.in: Correct the x86-64 name as x86_64.
21285
21286 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
21287
21288 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
21289 initial chunk read from the kernel always includes GRUB's multiboot
21290 header, which is now outside the first sector.
21291
21292 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21293
21294 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
21295 cached mmap_size, so that this works correctly when called multiple
21296 times.
21297 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
21298
21299 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21300
21301 * docs/grub.texi (Simple configuration): Tidy up formatting.
21302
21303 2011-03-07 Szymon Janc <szymon@janc.net.pl>
21304
21305 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
21306 Set-but-not-used variable removed.
21307
21308 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21309
21310 Workaround yet another IEEE1275 bug.
21311
21312 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
21313 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
21314 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
21315 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
21316 is set.
21317 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21318 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
21319
21320 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
21323 error.
21324
21325 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
21326
21327 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
21328 empty, since in that case we can only generate either nothing or a
21329 syntactically invalid configuration file.
21330 Reported by: Michal Suchanek. Fixes Debian bug #612898.
21331
21332 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21333
21334 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
21335 (Making a GRUB bootable CD-ROM): Likewise.
21336 (Invoking grub-mkrescue): New section.
21337 Reported by: Yann Dirson. Fixes Debian bug #612585.
21338
21339 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21340
21341 * util/grub-install.in: Remove unnecessary brackets from tr
21342 arguments.
21343 * util/grub.d/10_hurd.in: Likewise.
21344 * util/grub.d/10_kfreebsd.in: Likewise.
21345 * util/grub.d/10_linux.in: Likewise.
21346 * util/grub.d/20_linux_xen.in: Likewise.
21347 Reported by: Jamie Heilman. Fixes Debian bug #612564.
21348
21349 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
21350
21351 * include/grub/file.h (not_easly_seekable): Rename to ...
21352 (not_easily_seekable): ... this. Update all users.
21353
21354 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
21355
21356 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
21357 grub-mkrescue.
21358
21359 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * util/grub-mkimage.c (generate_image): Refuse to create the images
21362 bigger than the actual flash (512K) in Loongson machines. 512K is also
21363 the biggest chip supported by them.
21364
21365 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21366
21367 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21368
21369 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
21370
21371 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21372 super_offset field.
21373
21374 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 * util/grub-install.in: Ignore install device on platforms
21377 where it doesn't make sense. Always use UUIDs except on pc, efi and
21378 sparc64.
21379 Reported by: Daniel Kahn Gillmor.
21380
21381 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21384
21385 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21386
21387 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21388 (iterate_real): Don't rely on partition being non-NULL.
21389
21390 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21391
21392 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21393 supported platforms. Put a compile time assert for this rather than
21394 generate a warning with 32-bit shift.
21395
21396 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21397
21398 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21399 logical expression more readable.
21400
21401 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21402
21403 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21404 even if some elements have a name.
21405 Reported by: Alexander GQ Gerasiov.
21406
21407 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21408
21409 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21410 path unreadable if `grub-probe -t abstraction' fails, for example if
21411 memberlist fails on an LVM volume group.
21412 Reported by: Darius Jahandarie.
21413
21414 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21415
21416 * docs/grub.texi (Simple configuration): Document
21417 GRUB_PRELOAD_MODULES.
21418
21419 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
21420
21421 * .bzrignore: Remove nonexistent grub-pbkdf2.
21422
21423 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21424
21425 * configure.ac: Bump version to 1.99~rc1.
21426
21427 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21428
21429 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21430 for safety.
21431
21432 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21433
21434 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21435 module.
21436
21437 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21438
21439 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21440
21441 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21444 diskdevid.
21445
21446 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 Fix compilation on cygwin.
21449
21450 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21451 -R .drectve on cygwin.
21452 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21453 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21454 (COND_CYGWIN): New condition.
21455 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21456 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21457 not @TARGET_OBJ2ELF@.
21458 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21459 type to determine whether aux is to be used.
21460
21461 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21462
21463 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21464 realpath'ed device string.
21465 Handle floppy (somewhat).
21466 Issue error in unknown case rather than garbage.
21467 Reported by: Axel Beckert.
21468
21469 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 * util/grub.d/00_header.in (load_video): Handle the case when no video
21472 drivers available.
21473 Thanks to: Axel Beckert.
21474
21475 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21476
21477 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21478 variable. Fixes problem on big endian platforms.
21479
21480 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21481
21482 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21483 It doesn't work well there.
21484
21485 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21488 warning.
21489 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21490 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21491 counter.
21492
21493 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21494
21495 Use alias->path rather than buggy "canon".
21496
21497 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21498 (ofdisk_hash_add): New argument curcan. All users updated.
21499
21500 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21501
21502 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21503
21504 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21505
21506 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21507 loadmask before doing any calculations. Use correct type for offset.
21508 (grub_linux_load64): Likewise.
21509
21510 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21511
21512 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21513 with NULL.
21514 (console_grub_equivalences_unshift): Likewise.
21515 Reported by: Daniel Dehennin.
21516
21517 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21518
21519 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21520 (set_env_limn_ro): Likewise.
21521 (GRUB_MOD_INIT): Likewise.
21522 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21523 ARRAY_SIZE while on it.
21524 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21525 * grub-core/normal/context.c (grub_env_export): Move from here ...
21526 * grub-core/kern/env.c (grub_env_export): ... here.
21527 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21528 prefix.
21529 * grub-core/kern/main.c (grub_main): Export root and prefix.
21530 * include/grub/env.h (grub_env_export): Export.
21531 Reported by: Seth Goldberg.
21532
21533 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21536 Take into account space used by ELF sections and multiboot palette.
21537 Reported by: Grégoire Sutre.
21538
21539 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 * BUGS: New file.
21542
21543 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 Pass more appropriate video id to Linux.
21546
21547 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21548 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21549 fill have_vga.
21550 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21551 shift params->lfb_size.
21552 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21553
21554 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21555
21556 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21557
21558 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21559
21560 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21561 separator and pass bootpath/devid even if only one of them is available.
21562 Reported by: Seth Goldberg.
21563
21564 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21567 implementations bug on them.
21568
21569 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21570 memory.
21571 (filter_memory_map): Likewise.
21572
21573 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21576 Reported by: nebuchadnezzar.
21577
21578 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21579
21580 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21581 Reported by: nebuchadnezzar.
21582
21583 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 Submenu default support.
21586
21587 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21588 auto_boot. All users updated.
21589 Declared static.
21590 Handle chosen and default with submenus.
21591 (grub_menu_execute_with_fallback): Declared static.
21592 Don't notify failure if autobooted. Upper level does it.
21593 (menuentry_eq): New function.
21594 (get_entry_number): Use menuentry_eq.
21595 (show_menu): New parameter "autobooted". All users updated.
21596 (grub_show_menu): Likewise.
21597 * include/grub/normal.h (grub_show_menu): Likewise.
21598 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21599 (grub_menu_execute_with_fallback): Likewise.
21600
21601 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 * util/grub-mklayout.c (usage): Update help text.
21604
21605 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21608
21609 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21610
21611 * util/grub-menulst2cfg.c (main): Trim the line.
21612
21613 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21616 (grub_machine_init): Don't check amount of low memory as reportedly
21617 INT 12h can be broken and if low memory is too low we wouldn't have
21618 gotten into grub_machine_init anyway.
21619
21620 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21621
21622 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21623 (grub_machine_mmap_iterate): Take low memory into account
21624
21625 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21626
21627 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21628 badfs.
21629 Reported by: TiCPU.
21630
21631 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21632
21633 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21634 members errors.
21635
21636 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21637
21638 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21639 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21640
21641 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21642
21643 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21644 openbsd and netbsd types being in part_bsd module.
21645
21646 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21649 (_FILE_OFFSET_BITS): Likewise.
21650 Reported by: Seth Goldberg.
21651
21652 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21653
21654 * configure.ac: Check for libdevmapper header.
21655
21656 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21657
21658 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21659 avoid aliasing.
21660 (fzap_lookup): Likewise.
21661 (dnode_get): Likewise.
21662 (make_mdn): Likewise.
21663 (zfs_mount): Likewise.
21664 (fzap_iterate): Use temporary pointer to avoid aliasing.
21665 (grub_zfs_read): Likewise.
21666 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21667 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21668 pointers to avoid aliasing.
21669 (grub_cmd_xnu_kernel64): Likewise.
21670 (grub_xnu_load_driver): Likewise.
21671
21672 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21673
21674 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21675 aliasing warning.
21676 (grub_cmd_terminal_output): Likewise.
21677 Reported and tested by: Grégoire Sutre.
21678
21679 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21680
21681 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21682 warning.
21683 Reported and tested by: Grégoire Sutre.
21684
21685 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21686
21687 * configure.ac: Do CPU substitution even if it's specified explicitly.
21688 Reported and tested by: Alain Greppin.
21689
21690 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21691
21692 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21693 Reported and tested by: Alain Greppin.
21694
21695 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21696
21697 Satisfy some bison versions need for inttypes.h.
21698
21699 * grub-core/lib/posix_wrap/inttypes.h: New file.
21700 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21701 (int16_t): Likewise.
21702 (int32_t): Likewise.
21703 (int64_t): Likewise.
21704 Reported and tested by: Alain Greppin.
21705
21706 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21707
21708 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21709 Silence spurious warning.
21710 Reported and tested by: Alain Greppin.
21711
21712 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21713
21714 * docs/grub.texi (Support automatic decompression): Update with xz
21715 decompression support.
21716
21717 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21718
21719 Improve loaders' kernel command line handling.
21720
21721 * grub-core/lib/cmdline.c: New file.
21722 * include/grub/lib/cmdline.h: Likewise.
21723 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21724 grub_create_loader_cmdline to create kernel command line.
21725 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21726 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21727 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21728 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21729 (linux): Add lib/cmdline.c on common.
21730
21731 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21734 inopos might be unaligned.
21735
21736 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21737
21738 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21739 endian transformations.
21740 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21741 Based on report by: Doug Nazar.
21742
21743 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
21744
21745 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21746 array->members[i].start_sector.
21747 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21748
21749 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21752 Reported and tested by: Grégoire Sutre.
21753
21754 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21755
21756 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21757 avoid causing test failures by clearing the screen.
21758
21759 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21760
21761 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21762 Fix prefix check to handle the case where dir ends with a slash
21763 (most significantly, "/" itself).
21764 Reported by: Michael Vogt.
21765
21766 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21767
21768 Run terminfo_cls on initing terminfo output to clear the screen and
21769 move the cursor to (0,0).
21770
21771 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21772 Call grub_terminfo_output_init.
21773 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21774 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21775 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21776
21777 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21778
21779 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21780 only when needed.
21781
21782 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21783
21784 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21785 CTRL.
21786
21787 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21788
21789 The E820 type 5 is BADRAM, not EXEC_CODE.
21790
21791 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21792 (GRUB_E820_BADRAM): New define.
21793 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21794 into reserved. Propagate BADRAM.
21795 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21796 (GRUB_E820_BADRAM): New define.
21797
21798 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21799
21800 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21801 Ignore the memory post-4G.
21802 (grub_relocator_firmware_alloc_region): Additional debug statement.
21803
21804 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21805
21806 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21807 names.
21808 Reported by: David Pravec.
21809
21810 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21811
21812 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21813 BIOSes.
21814
21815 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21816
21817 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21818 Prevent overflow.
21819 (grub_reed_solomon_recover): Likewise.
21820
21821 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21822
21823 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21824
21825 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21828 variable.
21829
21830 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
21831
21832 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21833 descriptions of extract_legacy_entries_source and
21834 extract_legacy_entries_configfile.
21835 Reported by: Seung Soo, Ha.
21836
21837 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
21838
21839 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21840 on devices that do not implement function 0.
21841
21842 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21843
21844 * grub-core/fs/hfsplus.c: Make parent unsigned.
21845 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21846 overflows.
21847 (grub_hfsplus_cmp_extkey): Likewise
21848
21849 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21850
21851 * util/grub-install.in: Correctly use bootloader_id and not
21852 GRUB_DISTRIBUTOR on efibootmgr line.
21853
21854 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21857
21858 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
21859
21860 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21861 Xen and reorder menu item wording to make it clearer that this entry
21862 will launch Xen. Print separate messages when loading Xen and
21863 Linux.
21864
21865 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21866
21867 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21868 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21869 loop in case of incorrect amiga partmap.
21870
21871 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21872
21873 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21874 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21875 Reported by:EHeM.
21876
21877 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21878
21879 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21880 spurious warning.
21881 Reported by: crocket
21882
21883 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21884
21885 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21886 Preload EFIemu.
21887 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21888
21889 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21890
21891 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21892 is loaded
21893 (grub_cmd_xnu_kextdir): Likewise.
21894 (grub_cmd_xnu_splash): Likewise.
21895
21896 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 Avoid using Reed-Solomon with 0 redundancy.
21899
21900 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21901 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21902 or 0 redundancy.
21903 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21904 (grub_reed_solomon_recover): Likewise.
21905
21906 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 Don't use disk subsystem in freebsd_boot.
21909
21910 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21911 (freebsd_biosdev): Likewise.
21912 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21913 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21914
21915 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21916
21917 Handling of files of unknown size is currently limited. They can't be
21918 used e.g. for initrd or modules. Moreover gzip handling of not
21919 easily seekable files is buggy. Disable unknown file size for now. May
21920 be inefficient but works.
21921
21922 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21923 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21924
21925 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21926
21927 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21928 floppy probe.
21929
21930 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21931
21932 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21933
21934 2010-12-25 Shea Levy <shlevy>
21935
21936 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21937
21938 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21939
21940 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21941 Windows Server 2008.
21942 Reported by: Devin Giddings.
21943
21944 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21945
21946 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21947 writing an error message because of async power management.
21948 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21949 (grub_reboot): Likewise.
21950
21951 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21952
21953 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21954 keep unit tests from failing when they shouldn't.
21955
21956 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21957
21958 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21959 previous patch increased the size of the RS code by 20 bytes (at
21960 least with gcc-4.4), so increase this by 20 bytes to match.
21961 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21962
21963 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21964
21965 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21966 scratch area. Make sure to initialise chosen in standalone mode as
21967 well as non-standalone.
21968 Reported by: Robert Hooker and Andy Whitcroft.
21969 Tested by: Andy Whitcroft.
21970
21971 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21972
21973 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21974 constructing a new unescaped string and passing it to grub_xputs in
21975 one go, rather than passing characters to grub_printf one at a time.
21976
21977 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21978
21979 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21980 initialising utf16.
21981
21982 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21983
21984 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21985 comment. Add an extra layer of quotation, requiring the output of
21986 this function to be used in a printf format string.
21987 (gettext_printf): New function.
21988 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21989 Extract translatable strings from here-documents and use a temporary
21990 variable instead, so that xgettext can find them.
21991 * util/grub.d/10_kfreebsd.in: Likewise.
21992 * util/grub.d/10_linux.in: Likewise.
21993 * util/grub.d/20_linux_xen.in: Likewise.
21994
21995 * po/grub.d.sed: New file.
21996 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21997 arguments. Set c-format flags on all strings extracted from
21998 util/grub.d/ (xgettext refuses to include these itself for strings
21999 it extracted from a shell file, but these really are c-format).
22000
22001 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22002
22003 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
22004 Avoid next pointing to nowhere.
22005
22006 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22007
22008 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
22009 rather than assuming than rootblock is exactly in the middle.
22010 (grub_affs_label): Likewise.
22011
22012 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
22015 reserved_first_sector to 0.
22016 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
22017 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
22018 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
22019
22020 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22021
22022 Fix handling of UTF-16 UDF labels.
22023
22024 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
22025 (read_string): .. here.
22026 (grub_udf_label): Use read_string.
22027
22028 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
22029
22030 * grub-core/normal/menu_entry.c (run): Execute commands from menu
22031 editor under argument scope.
22032 Reported by: Jordan Uggla
22033
22034 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22035
22036 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
22037
22038 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
22039
22040 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
22041 line, and other keys scroll an entire page (previous handling was
22042 for \r and \n to scroll a page and other keys to scroll two lines).
22043
22044 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
22047 Set ptrdest to correct get_physical_target_address rather than
22048 incorrect get_virtual_current_address.
22049
22050 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
22051
22052 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
22053 correct cat to grub_uint8_t * rather than grub_uint32_t *.
22054
22055 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
22056
22057 * .bzrignore: Ignore grub-core/rs_decoder.S.
22058
22059 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
22060
22061 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
22062 .mo/.mo.gz opening sequence to ...
22063 (grub_mofile_open_lang): ... here.
22064 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
22065 * util/grub.d/00_header.in (grub_lang): Include country part of
22066 locale.
22067 Reported by: Mario Limonciello.
22068
22069 2010-12-09 Robert Millan <rmh@gnu.org>
22070
22071 * NEWS: Document addition of ZFS support.
22072
22073 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
22074
22075 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
22076 rather than `/ 2', as the latter requires -Wa,--divide which would
22077 require bumping our minimum binutils version.
22078
22079 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
22080
22081 * util/grub-script-check.c (main): Print script line number on
22082 error.
22083
22084 2010-12-01 Robert Millan <rmh@gnu.org>
22085
22086 * grub-core/fs/zfs/zfs.c: New file.
22087 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
22088 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
22089 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
22090 * grub-core/fs/zfs/zfsinfo.c: Likewise.
22091
22092 * include/grub/zfs/dmu.h: Likewise.
22093 * include/grub/zfs/dmu_objset.h: Likewise.
22094 * include/grub/zfs/dnode.h: Likewise.
22095 * include/grub/zfs/dsl_dataset.h: Likewise.
22096 * include/grub/zfs/dsl_dir.h: Likewise.
22097 * include/grub/zfs/sa_impl.h: Likewise.
22098 * include/grub/zfs/spa.h: Likewise.
22099 * include/grub/zfs/uberblock_impl.h: Likewise.
22100 * include/grub/zfs/vdev_impl.h: Likewise.
22101 * include/grub/zfs/zap_impl.h: Likewise.
22102 * include/grub/zfs/zap_leaf.h: Likewise.
22103 * include/grub/zfs/zfs.h: Likewise.
22104 * include/grub/zfs/zfs_acl.h: Likewise.
22105 * include/grub/zfs/zfs_znode.h: Likewise.
22106 * include/grub/zfs/zil.h: Likewise.
22107 * include/grub/zfs/zio.h: Likewise.
22108 * include/grub/zfs/zio_checksum.h: Likewise.
22109
22110 * Makefile.util.def: Build ZFS into libgrubmods.
22111 * grub-core/Makefile.core.def: Build zfs.mod.
22112
22113 2010-11-30 Szymon Janc <szymon@janc.net.pl>
22114
22115 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
22116 variable.
22117 * grub-core/commands/wildcard.c (match_files): Likewise.
22118
22119 2010-11-30 Robert Millan <rmh@gnu.org>
22120
22121 * grub-core/loader/i386/bsd.c
22122 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
22123 whether kernel is loaded using grub_loader_is_loaded(), rather
22124 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
22125 certain error conditions.
22126
22127 2010-11-30 Robert Millan <rmh@gnu.org>
22128
22129 * grub-core/commands/echo.c: Include `<grub/term.h>'.
22130 (grub_cmd_echo): Call grub_refresh() after printing a message.
22131
22132 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
22133
22134 Avoid using tricks for initialising endian variables.
22135
22136 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
22137 Make const.
22138 (GRUB_MOD_INIT): Don't byte-swap.
22139 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
22140 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
22141 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
22142 (grub_swap_bytes32_compile_time): Likewise.
22143 (grub_cpu_to_le32_compile_time): Likewise.
22144 (grub_cpu_to_le16_compile_time): Likewise.
22145
22146 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
22147
22148 * util/grub-setup.c (setup): Stop recommending --force. People who
22149 understand the dangers of blocklists are able to find this option
22150 anyway and the ones who don't shouldn't use it anyway.
22151
22152 2010-11-26 Robert Millan <rmh@gnu.org>
22153
22154 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
22155 Update all users.
22156
22157 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
22158
22159 Fix LVM-on-RAID probing.
22160
22161 * util/grub-probe.c (probe): Remember which disk was detected as
22162 RAID (perhaps an LVM physical volume). Use that disk's raidname
22163 rather than that of the top-level disk.
22164
22165 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
22166
22167 Fix cmdline argument quotes for setparams command of menuentry
22168 definitions.
22169
22170 * grub-core/commands/menuentry.c (setparams_prefix): Use single
22171 quotes for arguments.
22172 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
22173 grub_strchrsub function instead.
22174
22175 * include/grub/misc.h (grub_strchrsub): New function.
22176
22177 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
22178
22179 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
22180 effort by skipping "." and ".." entries up-front.
22181 Suggested by: Michael Lazarev.
22182
22183 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
22184
22185 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
22186 ldflags to ldadd, to fix link line ordering.
22187 (none_decompress): Likewise.
22188
22189 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
22190
22191 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
22192 platforms.
22193 (grub-emu-lite): Remove kern/emu/cache.S.
22194
22195 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22196
22197 * util/deviceiter.c (compare_devices): If the by-id link for a
22198 device couldn't be resolved, fall back to sorting by the by-id link
22199 rather than segfaulting.
22200 Reported and tested by: Daniel Mierswa.
22201
22202 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22203
22204 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
22205 ldflags, to fix link line ordering.
22206
22207 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22208
22209 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
22210 linkers are picky about this.
22211
22212 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22213
22214 * grub-core/Makefile.am (command.lst): Adjust sed expression
22215 ordering so that extended and priority commands aren't treated as
22216 ordinary commands.
22217
22218 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22219
22220 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
22221 Remove byte-swapping function calls, which are not valid in
22222 structure initialisers.
22223 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
22224 non-const.
22225 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
22226 grub_gpt_partition_type_bios_boot.
22227
22228 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22229
22230 Fix test program build on GNU/kFreeBSD.
22231
22232 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
22233 $(LIBNVPAIR)' library dependencies.
22234
22235 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22236
22237 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
22238
22239 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22240
22241 * util/grub-install.in: Remove excessive quoting that broke
22242 installations to RAID devices.
22243
22244 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22245
22246 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
22247 bootloader version instead of 0.
22248
22249 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22250
22251 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
22252 warning.
22253
22254 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22255
22256 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
22257 retrieve the metadat sector if size isn't known.
22258 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22259
22260 2010-11-18 Robert Millan <rmh@gnu.org>
22261
22262 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
22263 with grub_memcmp().
22264
22265 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
22268 arrow.
22269 Reported by: Jordan Uggla.
22270
22271 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22272
22273 Make better UTF compliant.
22274
22275 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
22276 sequences as incorrect.
22277 (grub_is_valid_utf8): Likewise.
22278 (grub_utf8_to_ucs4): Likewise.
22279 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
22280 (grub_ucs4_to_utf8_alloc): Likewise.
22281 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
22282
22283 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22284
22285 Make legacy_source behave like source.
22286
22287 * grub-core/commands/legacycfg.c (legacy_file): Don't call
22288 grub_show_menu.
22289 (grub_cmd_legacy_source): Call grub_show_menu if needed.
22290
22291 2010-11-16 Colin Watson <cjwatson@debian.org>
22292
22293 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
22294 (-Wunused implies -Wunused-parameter, but not vice versa).
22295
22296 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
22297
22298 * configure.ac: Make error messages less confusing by testing for
22299 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
22300 accepted, but produces a diagnostic if something else is wrong).
22301
22302 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22303
22304 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
22305 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
22306 (now unused).
22307 (grub_keyboard_controller_init)
22308 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
22309 read the initial state since controller isn't inited yet.
22310
22311 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22312
22313 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
22314 allocate_regbeg may need to create new chunk header.
22315
22316 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22317
22318 Fix quoting in legacy parser.
22319
22320 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
22321 single quotes.
22322 (grub_legacy_parse): Likewise.
22323 Reported by: Jordan Uggla.
22324 Tested by: Jordan Uggla.
22325
22326 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22327
22328 Don't add -lgcc on i386 and x86_64.
22329
22330 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
22331 * conf/Makefile.common (LDADD_KERNEL): Likewise.
22332 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
22333
22334 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22335
22336 * configure.ac: Add -Wno-trampolines when supported.
22337
22338 2010-11-14 Modestas Vainius <modax@debian.org>
22339
22340 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
22341 fakeraid.
22342
22343 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22344
22345 Add generic logical block size support for UDF.
22346
22347 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
22348 (GRUB_UDF_BLKSZ): Removed.
22349 (struct grub_udf_data): New field "lbshift" to hold the logical block
22350 size of the file system in log2 format. All users updated.
22351 (sblocklist): Change type to unsigned.
22352 (grub_udf_mount): Change type of "sblklist" to unsigned.
22353 Move AVDP search before VRS recognition, because the latter requires
22354 knowledge of the logical block size, which is detected during the
22355 former.
22356 Detect and validate logical block size during AVDP search, adding
22357 support for block sizes 512, 1024 and 4096.
22358 Make VRS recognition independent of block size.
22359
22360 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22361
22362 Properly handle deleted files on UDF.
22363
22364 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22365 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22366 set.
22367
22368 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22369
22370 Support reading files larger than 2 GiB.
22371
22372 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22373 "offset" to grub_off_t.
22374 (grub_udf_read_file): Likewise for parameter "pos".
22375
22376 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22377
22378 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22379 unavailable.
22380 (Simple configuration): Refer to Changes from GRUB Legacy about
22381 save_env availability.
22382
22383 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22384
22385 * util/grub-install.in: Ignore empty partition table detection
22386 instead of trying to include part_ module.
22387
22388 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22389
22390 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22391 LVM on RAID support.
22392
22393 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22394
22395 Properly define WORDS_BIGENDIAN in wrapped environments.
22396
22397 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22398 definition.
22399 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22400
22401 Reported by: Manoel Rebelo Abranches.
22402 Tested by: Manoel Rebelo Abranches.
22403
22404 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22405
22406 * util/grub-mkconfig.in: Fix quoting.
22407
22408 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22409
22410 Support big ext2 files.
22411
22412 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22413 (grub_ext2_read_block): Support triple indirect blocks.
22414 (grub_ext2_read_file): Use 64-bit types and read size_high.
22415 (grub_ext2_open): Read size_high.
22416 Reported by: Ximin Luo.
22417 Tested by: Manoel Rebelo Abranches.
22418
22419 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22420
22421 * util/grub-install.in: Handle filenames containing spaces.
22422 Reported by: Jordan Uggla.
22423 Tested by: Jordan Uggla.
22424
22425 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22426
22427 * util/grub-mkconfig.in (grub_script_check): New variable.
22428 Use grub_script_check instead of grub-script-check.
22429 Reported by: Barry Jackson.
22430
22431 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22432
22433 * docs/grub.texi (menu): Correct the order.
22434 Reported by: D. Hugh Redelmeier.
22435
22436 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22437
22438 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22439 jump.
22440
22441 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22442
22443 * include/grub/elfload.h (grub_elf32_size): New parameter.
22444 All users updated.
22445 Return maximum segments alignment.
22446 (grub_elf64_size): Likewise.
22447 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22448 Return maximum segments alignment.
22449 (grub_elf64_size): Likewise.
22450 * grub-core/loader/powerpc/ieee1275/linux.c:
22451 (grub_linux_claimmap_iterate): New function. Uses the
22452 "available" property in the "memory" node for memory allocation
22453 for kernel in the PowerPC loader.
22454 (grub_linux_load32): Correctly find linux entry point offset.
22455 (grub_linux_load64): Likewise.
22456
22457 2010-11-07 Robert Millan <rmh@gnu.org>
22458
22459 On mips-yeeloong, build with -march=loongson2f when this flag is
22460 available (GCC >= 4.4).
22461 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22462 `-march=mips3'.
22463 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22464 or otherwise add -march=mips3.
22465
22466 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22467
22468 Suppress shell expansion on echo '*' and echo "*" like cases.
22469 Reported by: Jordan Uggla.
22470
22471 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22472 string arguments before shell expansion.
22473 * tests/grub_cmd_echo.in: New testcases.
22474
22475 2010-11-07 Robert Millan <rmh@gnu.org>
22476
22477 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22478 transition.
22479
22480 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22481
22482 * grub-core/kern/emu/hostdisk.c
22483 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22484
22485 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22486
22487 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22488 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22489 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22490
22491 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22492
22493 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22494
22495 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22496
22497 * util/grub-install.in: Replace useless recomendation to pass
22498 --modules with a recomendation to report a bug.
22499
22500 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22501
22502 Properly register serial terminfo.
22503 Reported by: Jordan Uggla
22504
22505 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22506 const.
22507 (grub_serial_terminfo_output_template): Likewise.
22508 (grub_cmd_serial): Register "serial" with terminfo.
22509 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22510 grub_serial_terminfo_output.
22511
22512 2010-11-05 Robert Millan <rmh@gnu.org>
22513
22514 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22515 needed).
22516
22517 2010-11-05 Robert Millan <rmh@gnu.org>
22518
22519 On Yeeloong, pass machine type information to Linux.
22520
22521 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22522 (LOONGSON_MACHTYPE): New macro, set to
22523 "machtype=lemote-yeeloong-2f-8.9inches".
22524 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22525 additional argument to Linux.
22526
22527 2010-11-04 Robert Millan <rmh@gnu.org>
22528
22529 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22530 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22531 (its SATA disks are detected as slaveless IDE master drives on
22532 kFreeBSD).
22533 Reported by Carsten Aulbert.
22534
22535 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
22536
22537 * util/bin2h.c (main): Fix spelling error in generated output.
22538
22539 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22540
22541 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22542
22543 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22544
22545 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22546 vga= option is supplied.
22547
22548 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22549
22550 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22551 * util/grub.d/10_kfreebsd.in: Likewise.
22552 * util/grub.d/10_linux.in: Likewise.
22553 * util/grub.d/20_linux_xen.in: Likewise.
22554
22555 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22556
22557 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22558 argument as an argument to no-argument option.
22559
22560 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 * util/grub.d/10_linux.in: Add missing load_video with explicit
22563 GRUB_GFXPAYLOAD_LINUX.
22564
22565 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22566
22567 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22568
22569 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22572 elements with invlid index.
22573 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22574 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22575 members.
22576 * include/grub/raid.h (grub_raid_member): New struct.
22577 (grub_raid_array): Transform devices and start_sector into usage of
22578 grub_raid_member. All users updated
22579 (allocated_devs): New member.
22580
22581 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22584 is modified
22585
22586 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22587
22588 NetBSD build fix for getline function conflict from gnulib.
22589
22590 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22591 components that depend on gnulib headers.
22592 (libgrubmods.a): Renamed from earlier libgrub.a.
22593 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22594
22595 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22596
22597 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22598 install rather than creating a broken install.
22599
22600 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22601
22602 * util/grub-setup.c (argp): Remove misleading example of installing to
22603 a partition.
22604
22605 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22606
22607 * util/grub-setup.c (setup): Clarify the error message.
22608
22609 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22612
22613 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22614
22615 * grub-core/kern/emu/misc.c
22616 (grub_make_system_path_relative_to_its_root)
22617 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22618
22619 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22620
22621 * grub-core/kern/emu/misc.c
22622 (grub_make_system_path_relative_to_its_root): Revert r2882.
22623
22624 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22625
22626 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22627 useless field head. All users updated.
22628 (free_subchunk): Correct handling of IN_REGION subchunk.
22629
22630 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
22631
22632 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22633 (Supported kernels): Likewise.
22634
22635 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22636
22637 Make mktemp invocations portable.
22638
22639 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22640 exit if mktemp fails.
22641 * tests/grub_script_blockarg.in: Likewise.
22642 * tests/partmap_test.in: Likewise.
22643 * tests/util/grub-shell-tester.in: Likewise.
22644 * tests/util/grub-shell.in: Likewise.
22645 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22646 * Makefile.am: Likewise, and chain shell commands with `&&'
22647 instead of ';'.
22648 * util/grub-mkrescue.in: Use the same explicit template as above, and
22649 exit if mktemp fails.
22650
22651 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22652
22653 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22654 Linux kernel, reported by Dennis Schridde.
22655
22656 2010-10-17 Szymon Janc <szymon@janc.net.pl>
22657
22658 * grub-core/normal/auth.c (grub_auth_check_authentication):
22659 Set-but-not-used variable removed.
22660
22661 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22662
22663 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22664 32-bit linux protocol.
22665
22666 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22667
22668 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22669 cursor shape for sanity.
22670
22671 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22672
22673 * docs/grub.texi (Installation): Document buggy BIOS install.
22674
22675 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22676
22677 * docs/grub.texi (Installation): Indent.
22678
22679 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22680
22681 * util/grub-setup.c (setup): New parameter allow_floppy.
22682 (arguments): New member allow_floppy.
22683 (argp_parser): Handle --allow-floppy.
22684 (main): Pass allow_floppy.
22685 * util/grub-install.in: New option --allow-floppy passed though to
22686 grub-setup.
22687
22688 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22689
22690 * util/grub-install.in: Handle partitionless disks.
22691
22692 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22693
22694 * util/grub-setup.c (setup): Don't clean blocklists before readability
22695 verfification.
22696
22697 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22698
22699 * docs/grub.texi (Installation): Document embedding zone. Remove
22700 obsolete grub-install example.
22701
22702 2010-10-16 Szymon Janc <szymon@janc.net.pl>
22703
22704 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22705 Set-but-not-used variable ifdef'ed.
22706 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22707 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22708 variable removed.
22709 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22710 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22711 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22712 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22713 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22714 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22715 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22716 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22717 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22718 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22719 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22720 Likewise.
22721
22722 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22723
22724 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22725 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22726 enum value.
22727
22728 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22729
22730 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22731 synonym to _S5_. Needed for some DSDTs.
22732
22733 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22734
22735 Userspace ACPI parser debugging.
22736
22737 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22738 headers and add relevant defines. Don't include standard headers.
22739 (main) [GRUB_DSDT_TEST]: New function.
22740 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22741 Don't declare functions.
22742
22743 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22744
22745 Remove dead grub_efi_mm_fini.
22746
22747 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22748 (ALLOCATED_PAGES_SIZE): Likewise.
22749 (MAX_ALLOCATED_PAGES): Likewise.
22750 (allocated_pages): Likewise.
22751 (grub_efi_allocate_pages): Don't record allocated pages.
22752 (grub_efi_free_pages): Likewise.
22753 (grub_efi_mm_init): Likewise.
22754 (grub_efi_mm_fini): Removed.
22755
22756 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22757
22758 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22759 (grub_efi_mm_init): Take into account the memory map size increase.
22760
22761 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22762
22763 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22764 (serial_hw_put): Wait based on real time rather than port reads. Don't
22765 roken ports.
22766 * include/grub/serial.h (grub_serial_port): New field broken.
22767
22768 2010-10-16 Robert Millan <rmh@gnu.org>
22769
22770 * grub-core/kern/emu/misc.c
22771 (grub_make_system_path_relative_to_its_root): Fix premature return
22772 when processing non-root ZFS filesystems.
22773 Reported by Sergio Talens-Oliag.
22774
22775 2010-10-15 Robert Millan <rmh@gnu.org>
22776
22777 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22778 guarantee compressed ones are processed first.
22779
22780 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22781
22782 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22783 grub_efiemu_autocore.
22784
22785 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22786
22787 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22788 rather than 0x1b.
22789 (grub_console_getkey): Use correct jae opcode rather than ja.
22790
22791 2010-10-12 Robert Millan <rmh@gnu.org>
22792
22793 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22794 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22795 variable. All references updated.
22796
22797 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22798
22799 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22800
22801 Correctly distinguish mdraid flavours.
22802
22803 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22804 (insert_array): New argument raid.
22805 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22806 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22807 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22808
22809 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22810
22811 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22812 handling of special keys.
22813
22814 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22815
22816 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22817 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
22818
22819 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22820
22821 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22822 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22823 users updated.
22824 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
22825 Use right endpoint when querying descriptor.
22826
22827 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22828
22829 Clear out 0x80 color bit on EFI.
22830 Tested by: decoder
22831 Reported by: decoder and meta tech.
22832
22833 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22834 (grub_console_setcolorstate): Clear out 0x80 bit.
22835 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22836 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22837 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22838
22839 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22840
22841 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22842 Set to "auto".
22843
22844 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22845
22846 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22847 mo_file after freeing.
22848
22849 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22850
22851 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22852
22853 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22854
22855 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22856 flags.
22857
22858 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22859
22860 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22861 usage.
22862
22863 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22864
22865 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22866
22867 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22868 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22869 and terminfo.h when needed.
22870 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22871 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22872 (terminfo): Enable only on terminfokernel.
22873 (extcmd): Likewise.
22874 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22875 * include/grub/lib/arg.h: Likewise.
22876 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22877 incorrect usage of ->.
22878
22879 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22880
22881 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22882 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22883
22884 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22885
22886 Fix coreboot compilation.
22887
22888 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22889 Take VBE info into account even if only text is supported.
22890 (fill_vbe_info): Take into account the case when only VGA text
22891 is supported.
22892 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22893 on coreboot, multiboot and qemu.
22894
22895 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22896
22897 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22898 debug messages.
22899 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22900
22901 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22902
22903 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22904 parameters.
22905
22906 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22907
22908 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22909 if they were BSD-style.
22910
22911 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22912
22913 * grub-core/boot/i386/pc/lnxboot.S: Replace
22914 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22915 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22916
22917 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22918
22919 Write embedding zone using Reed-Solomon.
22920
22921 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22922 * grub-core/Makefile.am (rs_decoder.S): New target.
22923 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22924 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22925 (multiboot): Move to RS part.
22926 (post_reed_solomon): New label.
22927 (grub_boot_drive): Move to non-RS part since it's modified in memory
22928 on boot.
22929 Include rs_decoder.S.
22930 * grub-core/lib/reed_solomon.c: New file.
22931 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22932 New definition.
22933 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22934 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22935 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22936 * include/grub/partition.h (grub_partition_map): Change prototype of
22937 embed to allow returning additional sectors.
22938 * include/grub/reed_solomon.h: New file.
22939 * util/grub-setup.c (setup): Handle Reed-Solomon.
22940
22941 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
22942
22943 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22944 i386 and x86-64 definedness tests.
22945
22946 2010-09-27 Yves Blusseau <blusseau@zetam.org>
22947
22948 Fix generation of kernel_syms.lst
22949
22950 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22951 ASM_PREFIX
22952
22953 2010-09-26 Robert Millan <rmh@gnu.org>
22954
22955 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22956
22957 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22958 the pool is an array of devices, iterate through it and return the
22959 first device that passes a stat() test (instead of blindly returning
22960 the first one).
22961
22962 2010-09-26 Robert Millan <rmh@gnu.org>
22963
22964 Build fixes for GNU/kFreeBSD.
22965
22966 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22967 to programs that require ZFS conversion.
22968 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22969 kernels that don't have FLOPPY_MAJOR.
22970
22971 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22972
22973 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22974
22975 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22976
22977 Fix grub-emu build.
22978
22979 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22980 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22981 mdraid09 and mdraid1x.
22982
22983 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
22984
22985 Re-enable grub-extras.
22986
22987 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22988 avoid confusing Automake. Run autogen only twice, once for the top
22989 level and once for grub-core. Add Makefile.util.def and
22990 Makefile.core.def from extra modules to the appropriate autogen
22991 invocations. If Makefile.common exists in an extra module, include
22992 it in both Makefile.util.am and grub-core/Makefile.core.am;
22993 similarly, include any Makefile.util.common file in Makefile.util.am
22994 and any Makefile.core.common file in grub-core/Makefile.core.am.
22995 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22996 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22997 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22998 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22999
23000 * gentpl.py (gvar_add): Turn GVARS into a set.
23001 (global_variable_initializers): Sort global variables on output.
23002 (vars_init): New function.
23003 (first_time): Likewise.
23004 (library): Ensure that non-global variable initialisations are
23005 emitted before the first time we emit code for a library block.
23006 Append to variables rather than setting them. Only emit
23007 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
23008 each conditional path.
23009 (program): installdir() emits an Autogen macro, so must be passed to
23010 var_add rather than gvar_add.
23011 (data): Likewise.
23012 (script): Likewise.
23013 (rules): New function, centralising handling for different target
23014 types. Set up Guile association lists for first_time and vars_init,
23015 and send most output to a diversion so that variable initialisations
23016 can be emitted first.
23017 (module_rules): Use new rules function.
23018 (kernel_rules): Likewise.
23019 (image_rules): Likewise.
23020 (library_rules): Likewise.
23021 (program_rules): Likewise.
23022 (script_rules): Likewise.
23023 (data_rules): Likewise.
23024
23025 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
23026
23027 * .bzrignore: Add contrib and grub-core/contrib. Remove
23028 grub-core/Makefile.gcry.am.
23029
23030 2010-09-24 Yves Blusseau <blusseau@zetam.org>
23031
23032 * grub-core/lib/LzFind.c: Add missing include.
23033 * grub-core/lib/LzmaEnc.c: Likewise.
23034 * grub-core/script/lexer.c: Likewise.
23035 * grub-core/script/yylex.l: Likewise.
23036 * util/grub-macho2img.c: Likewise.
23037 * util/grub-menulst2cfg.c: Likewise.
23038 * util/grub-mklayout.c: Likewise.
23039 * util/grub-mkpasswd-pbkdf2.c
23040 * util/grub-mkrelpath.c: Likewise.
23041 * util/resolve.c: Likewise.
23042
23043 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
23044
23045 * Makefile.util.def (example_unit_test): Add
23046 grub-core/gnulib/libgnu.a.
23047
23048 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
23049
23050 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
23051
23052 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
23053
23054 Support xz compression on yeeloong.
23055
23056 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
23057 * configure.ac: Check for LZMA.
23058 * grub-core/Makefile.core.def (xz_decompress): New target.
23059 (none_decompress): Likewise.
23060 * grub-core/boot/decompressor/minilib.c: New file.
23061 * grub-core/boot/decompressor/none.c: Likewise.
23062 * grub-core/boot/decompressor/xz.c: Likewise.
23063 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
23064 * grub-core/kern/mips/cache_flush.S: Likewise.
23065 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
23066 * grub-core/kern/mips/startup.S: Move first stage to ...
23067 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
23068 nomacro.
23069 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
23070 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
23071 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
23072 Allocate statically.
23073 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
23074 Allocate statically or use scratch. Don't check CRC32.
23075 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
23076 Allocate statically. Don't check CRC32.
23077 * include/grub/decompressor.h: New file.
23078 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
23079 Removed.
23080 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
23081 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
23082 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
23083 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
23084 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
23085 * util/grub-mkimage.c (grub_compression_t): New type.
23086 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
23087 (image_target_desc): New field default_compression.
23088 (image_targets): Adjust yeeloong targets.
23089 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
23090 (compress_kernel): New parameter comp.
23091 (generate_image): Likewise. Handle new compression case.
23092 (options): New option --compression
23093 (help): Likewise.
23094 (main): Handle new option.
23095
23096 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
23097
23098 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
23099
23100 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
23101
23102 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
23103 typo in __i386__ conditional.
23104
23105 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
23106
23107 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
23108 include.
23109
23110 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
23111
23112 Implement EFI and ACPI multiboot2 extensions.
23113
23114 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
23115 new tags as supported.
23116 (acpiv2_size): New function.
23117 (grub_multiboot_get_mbi_size): Take new tags into account.
23118 (grub_multiboot_make_mbi): Add new tags.
23119 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
23120
23121 2010-09-21 Aleš Nesrsta <starous@volny.cz>
23122
23123 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
23124 Added missing configuration of USB device.
23125
23126 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23127
23128 * grub-core/normal/menu_entry.c (run): Make sure we always return
23129 a value.
23130
23131 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23132
23133 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
23134 NumberOfPages is UINT64 according to the UEFI specification, not
23135 UINTN. Fix printf format.
23136
23137 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23138
23139 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
23140 `err' to grub_usb_err_t.
23141 Reported and tested by: KESHAV P.R.
23142
23143 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23144
23145 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
23146 tpart non-const, so that we can assign to it. (Since this is a
23147 typedef, the constness refers to the pointer rather than what it
23148 points to.)
23149
23150 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23151
23152 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
23153 $(top_srcdir)/grub-core/gnulib as well as
23154 $(top_builddir)/grub-core/gnulib.
23155 Reported by: KESHAV P.R.
23156
23157 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23158
23159 * util/grub-install.in: Fix the bootloader ID option to be
23160 consistently --bootloader-id, not --bootloader_id.
23161 Reported by: KESHAV P.R.
23162
23163 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23164
23165 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
23166 check hash checksum." consistently translatable.
23167
23168 2010-09-21 Yves Blusseau <blusseau@zetam.org>
23169
23170 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
23171 $(top_builddir).
23172
23173 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23174
23175 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
23176 (GRUB_MOD_INIT): Register sha1sum command.
23177 (GRUB_MOD_FINI): Unregister sha1sum command.
23178
23179 2010-09-21 Yves Blusseau <blusseau@zetam.org>
23180
23181 Keep boot and grub directory names in sync with utils scripts
23182
23183 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
23184 * config.h.in: Add previous macros.
23185 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
23186 * util/grub-install.in: Use $bootdir and $grubdir variables.
23187
23188 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23189
23190 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
23191 convert partition names to disk names if the new `convert' parameter
23192 is set.
23193 (grub_util_biosdisk_get_grub_dev): If opening the disk device
23194 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
23195 disk in its own right. This can happen with Xen disk images.
23196
23197 2010-09-21 Yves Blusseau <blusseau@zetam.org>
23198
23199 * util/grub-editenv.c: Update strings to avoid warnings when generating
23200 grub.pot file.
23201 * util/grub-setup.c: Likewise.
23202
23203 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23204
23205 * configure.ac: Change version to 1.99~beta0.
23206
23207 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23208
23209 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23210 Add BADRAM.
23211 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
23212 Likewise.
23213 * include/multiboot.h: Resynced with specification.
23214 * include/multiboot2.h: Likewise.
23215
23216 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23217
23218 Fix po directory handling.
23219
23220 * configure.ac: Create po/Makefile.in rather than po/Makefile.
23221 * grub-core/gnulib/Makefile.am: Import gettext module.
23222 * m4/gnulib-cache.m4: Likewise.
23223 * m4/gnulib-comp.m4: Likewise.
23224 * m4/gettext.m4: New file, from gnulib.
23225 * m4/glibc2.m4: Likewise.
23226 * m4/iconv.m4: Likewise.
23227 * m4/intdiv0.m4: Likewise.
23228 * m4/intl.m4: Likewise.
23229 * m4/intldir.m4: Likewise.
23230 * m4/intlmacosx.m4: Likewise.
23231 * m4/intmax.m4: Likewise.
23232 * m4/inttypes-pri.m4: Likewise.
23233 * m4/lcmessage.m4: Likewise.
23234 * m4/lib-ld.m4: Likewise.
23235 * m4/lib-link.m4: Likewise.
23236 * m4/lib-prefix.m4: Likewise.
23237 * m4/lock.m4: Likewise.
23238 * m4/nls.m4: Likewise.
23239 * m4/po.m4: Likewise.
23240 * m4/printf-posix.m4: Likewise.
23241 * m4/progtest.m4: Likewise.
23242 * m4/threadlib.m4: Likewise.
23243 * m4/uintmax_t.m4: Likewise.
23244 * m4/visibility.m4: Likewise.
23245 * po/Makefile.am: Remove.
23246 * po/Makefile.in.in: New file, from gettext.
23247 ($(DOMAIN).pot-update): Support POTFILES-shell.
23248 * po/Makevars: New file.
23249 * po/POTFILES-shell: Rename to ...
23250 * po/POTFILES-shell.in: ... this. Update.
23251 * po/POTFILES: Rename to ...
23252 * po/POTFILES.in: ... this. Update.
23253 * po/Rules-quot: New file, from gettext.
23254 * po/boldquot.sed: Likewise.
23255 * po/en@boldquot.header: Likewise.
23256 * po/en@quot.header: Likewise.
23257 * po/insert-header.sin: Likewise.
23258 * po/quot.sed: Likewise.
23259 * po/remove-potcdate.sin: Likewise.
23260
23261 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23262
23263 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
23264
23265 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 * util/grub.d/20_linux_xen.in: Use submenus.
23268
23269 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23270
23271 Support submenus.
23272
23273 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
23274 parameter submenu. All users updated.
23275 * grub-core/normal/main.c (free_menu): Rename to ...
23276 (grub_normal_free_menu): ... this. Made global.
23277 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
23278 if requested.
23279 * grub-core/normal/menu_entry.c (screen): New field submenu.
23280 (make_screen): Set submenu.
23281 (run): Open new context if requested.
23282 * include/grub/menu.h (grub_menu_entry): New field submenu.
23283 * include/grub/normal.h (grub_normal_free_menu): New proto.
23284
23285 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 Menu entries extractor.
23288
23289 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
23290 variants.
23291 (GRUB_MOD_INIT): Register new variants.
23292 (GRUB_MOD_FINI): Unregister new variants.
23293 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
23294 into grub_cmd_legacy_source.
23295 (grub_cmd_legacy_source): Implement extractor variants.
23296 (GRUB_MOD_INIT): Register new variants.
23297 (GRUB_MOD_FINI): Unregister new variants.
23298 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
23299 as an extractor.
23300 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
23301 search as an extractor.
23302 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
23303 test as an extractor.
23304 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
23305 as an extractor.
23306 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
23307 (grub_env_new_context): New function.
23308 (grub_env_context_open): Likewise.
23309 (grub_env_extractor_open): Likewise.
23310 (grub_env_extractor_close): Likewise.
23311 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23312 grub_extractor_level.
23313 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
23314 * include/grub/env.h (grub_env_extractor_open): New proto.
23315 (grub_env_extractor_close): Likewise.
23316 * include/grub/normal.h (grub_extractor_level): New external variable.
23317
23318 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23319
23320 Make cutmem accept a region specification.
23321 Suggested by: Samuel Thibault
23322
23323 * grub-core/mmap/mmap.c (parsemem): New function.
23324 (grub_cmd_cutmem): Handle new arguments.
23325
23326 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23327
23328 New command cutmem.
23329
23330 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
23331 (GRUB_MOD_INIT): Register new command.
23332 (GRUB_MOD_FINI): Unregister new command.
23333
23334 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23335
23336 Support some annoying BSD and Minix subpartitions.
23337
23338 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
23339 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
23340 Properly handle concatenation.
23341 * grub-core/kern/device.c (grub_device_iterate): Likewise.
23342 * grub-core/normal/completion.c (iterate_partition): Likewise.
23343 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
23344 contain partition. All users updated.
23345 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
23346 struct.
23347 (grub_openbsdlabel_partition_map): Likewise.
23348 (bsdlabel_partition_map_iterate): Rename to ..
23349 (iterate_real): ... this. New arguments sector, freebsd and pmap.
23350 (bsdlabel_partition_map_iterate): New function.
23351 (netopenbsdlabel_partition_map_iterate): Likewise.
23352 (netbsdlabel_partition_map_iterate): Likewise.
23353 (openbsdlabel_partition_map_iterate): Likewise.
23354 (GRUB_MOD_INIT): Register new partmaps.
23355 (GRUB_MOD_FINI): Unregister new partmaps.
23356 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
23357 (grub_partition_msdos_iterate): ... this. All users updated.
23358 Don't support embedding other than in a minix partition.
23359 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23360 proto.
23361 * include/grub/partition.h (grub_partition): New field msdostype.
23362 * util/grub-install.in: Handle openbsd and netbsd types being in
23363 part_bsd module.
23364
23365 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23366
23367 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23368
23369 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23370 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23371 (mdraid09): ... this.
23372 (mdraid1x): New module.
23373 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23374 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23375
23376 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23377
23378 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23379 vsprintf.
23380
23381 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23382
23383 * grub-core/commands/efi/lsefimmap.c: Correct header.
23384 * NEWS: Update.
23385
23386 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23387
23388 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23389 as printf format strings; the translations might contain '%' which
23390 could cause a crash.
23391 (main): Likewise.
23392 * util/grub-fstest.c (argp_parser): Likewise.
23393 * util/grub-setup.c (argp_parser): Likewise.
23394 (main): Likewise.
23395
23396 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23397
23398 Use argp in grub-fstest.
23399
23400 * util/grub-fstest.c: Don't include getopt.h.
23401 Include argp.h.
23402 (root): New variable.
23403 (args_count): Likewise.
23404 (nparm): Likewise.
23405 (num_disks): Likewise.
23406 (images): Likewise.
23407 (cmd): Likewise.
23408 (debug_str): Likewise.
23409 (args): Likewise.
23410 (options): Transformed to argp.
23411 (usage): Removed.
23412 (main): Split argument parsing into ...
23413 (argp_parser): ... this. Changed to argp format.
23414 (argp): New variable.
23415 (main): Use argp_parse.
23416
23417 2010-09-20 Tristan Gingold <gingold@free.fr>
23418 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
23419 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23420
23421 * grub-core/commands/efi/lsefimmap.c: New file.
23422 * grub-core/Makefile.core.def (lsefimmap): New module.
23423 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23424
23425 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23426
23427 Pause the execution (10s max) if any errors are displayed so the user
23428 has a chance to see them.
23429
23430 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23431 (grub_print_error): Increment grub_err_printed_errors.
23432 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23433 execution if any errors were displayed.
23434 (show_menu): Remove old code for pause.
23435 * grub-core/normal/menu_entry.c (run): Likewise.
23436 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23437 users updated.
23438 (grub_normal_get_char_counter): Likewise.
23439 * include/grub/err.h (grub_err_printed_errors): New external variable.
23440 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23441
23442 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23443
23444 Support multiboot VBE info.
23445
23446 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23447 Take VBE info into account.
23448 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23449 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23450 Call fill_vbe_info when appropriate.
23451 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23452 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23453 as supported.
23454 (grub_multiboot_get_mbi_size): Take new tags into account.
23455 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23456 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23457 Call fill_vbe_tag when appropriate.
23458 (grub_multiboot_make_mbi): Properly align tags.
23459 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23460 function.
23461 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23462 proto.
23463 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23464
23465 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23466
23467 Suport manual terminal geometry specification.
23468
23469 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23470 Save state in grub_ofconsole_terminfo_output.
23471 (grub_ofconsole_term): Use grub_terminfo_getwh.
23472 (grub_ofconsole_getwh): Removed.
23473 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23474 (grub_serial_term): Use grub_terminfo_getwh.
23475 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23476 (options): New struct.
23477 (OPTION_*): New enum.
23478 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23479 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23480 width and height.
23481 (grub_terminfo_getwh): New proto.
23482 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23483
23484 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23485
23486 Handle legacy "terminal" command.
23487
23488 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23489 and FLAG_TERMINAL.
23490 (legacy_commands): Add terminal and title.
23491 (grub_legacy_parse): Handle terminal. Simplify title handling.
23492
23493 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23496 parameters overflow.
23497
23498 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23499
23500 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23501 widthspec.h.
23502
23503 * docs/grub.texi (Shell-like scripting): Document `!'.
23504 (Network): Simplify using new i386-pc-pxe format. Mention
23505 grub-mknetdir.
23506
23507 * NEWS: Update.
23508
23509 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23510
23511 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23512 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23513 when needed.
23514
23515 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23516
23517 * grub-core/commands/efi/lsefisystab.c: Correct header.
23518 * grub-core/commands/efi/lssal.c: Likewise.
23519 * grub-core/commands/testload.c: Likewise.
23520
23521 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23522
23523 * util/grub-mkrescue.in: Add explicit root argument to --set to
23524 prevent the UUID being interpreted as an argument to --set (matches
23525 previous change to prepare_grub_to_access_device).
23526
23527 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23528
23529 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23530 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23531 the verbosity of later #ifs.
23532 (find_partition_start): Define this function on FreeBSD too.
23533 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23534 function.
23535 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23536 on FreeBSD.
23537
23538 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23539
23540 * util/grub-editenv.c: Use argp instead of getopt.
23541
23542 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23543
23544 * util/grub-setup.c: Use argp instead of getopt.
23545
23546 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23547
23548 Use gnulib-tool to create gnulib source files.
23549
23550 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23551 grub-core/gnulib directories
23552 * .bzignore: Add **/.deps and autogenerated gnulib files
23553 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23554 of gnulib macros, add grub-core/gnulib/Makefile
23555 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23556 include m4 directory to aclocal.
23557 * Makefile.util.def: Remove direct compilation of gnulib source files
23558 and use the new grub-core/gnulib/libgnu.a.
23559 * build-aux/config.rpath: move config.rpath from top directory to
23560 build-aux
23561 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23562 in gnulib headers
23563 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23564 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23565 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23566 header.
23567 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23568 string.
23569
23570 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23571
23572 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23573 grub-core/genmod.sh and grub-core/gensyminfo.sh
23574
23575 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23576
23577 Add a test for echo command options.
23578
23579 * tests/grub_cmd_echo.in: New test.
23580 * Makefile.util.def: Rules for new test.
23581
23582 2010-09-20 Szymon Janc <szymon@janc.net.pl>
23583
23584 Remove crc.mod and move crc command to hashsum.mod.
23585 Remove lib/crc.c - users updated to use gcrypt implementation.
23586
23587 * grub-core/commands/crc.c: Removed.
23588 * grub-core/Makefile.core.def (crc): Module removed.
23589 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23590 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23591 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23592 * grub-core/lib/crc.c: Removed.
23593 * include/grub/lib/crc.h: Removed.
23594 * Makefile.util.def (crc): Remove lib/crc.c
23595 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23596 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23597 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23598 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23599 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23600 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23601
23602 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23603
23604 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23605
23606 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23607
23608 Split config.h for util and core.
23609
23610 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23611 (ADDR32): Likewise.
23612 (DATA32): Likewise.
23613 (BSS_START_SYMBOL): Likewise.
23614 (END_SYMBOL): Likewise.
23615 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23616 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23617 * config.h.in: New file.
23618 * configure.ac: Use config-util.h as config define file.
23619 Rename MACHINE into GRUB_MACHINE. All users updated.
23620 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23621 updated.
23622 (NESTED_FUNC_ATTR): Likewise.
23623 Substitue new variables.
23624 (COND_HAVE_ASM_USCORE): New conditional.
23625 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23626 (kernel_syms.lst): Use ASM_PREFIX.
23627 * grub-core/kern/emu/console.c: Include config-util.h.
23628 * grub-core/kern/emu/misc.c: Likewise.
23629 * grub-core/kern/emu/mm.c: Likewise.
23630 * include/grub/emu/misc.h: Likewise.
23631 * include/grub/libgcc.h: Likewise.
23632
23633 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23634
23635 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23636 constants usage.
23637 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23638 Fix GRUB_TERM_KEY_* constants usage.
23639 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23640
23641 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23642
23643 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23644 print pointer.
23645 * grub-core/bus/usb/uhci.c: Remove empty define.
23646 (grub_uhci_check_transfer): Add missing cast.
23647 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23648 print pointer.
23649 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23650 PRIuGRUB_SIZE.
23651 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23652
23653 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23654
23655 * grub-core/Makefile.core.def (legacycfg): Add
23656 lib/i386/pc/vesa_modes_table.c on emu.
23657
23658 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23659
23660 Reduce number of temporary files generated by build system.
23661
23662 * grub-core/gencmdlist.sh: Removed.
23663 * grub-core/genfslist.sh: Removed.
23664 * grub-core/genhandlerlist.sh: Removed.
23665 * grub-core/genmodsrc.sh: Removed.
23666 * grub-core/genpartmaplist.sh: Removed.
23667 * grub-core/genparttoollist.sh: Removed.
23668 * grub-core/gentermiinallist.sh: Removed.
23669 * grub-core/genvideolist.sh: Removed.
23670
23671 * grub-core/genmod.sh.in: New file.
23672 * grub-core/gensyminfo.sh.in: New file.
23673
23674 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23675 * conf/Makefile.extra-dist: Update with new files.
23676 * gentpl.py: Remove rules related to unnecessary temporary files.
23677 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23678 and und-* files.
23679 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23680 genmod.sh scripts.
23681 * grub-core/bus/usb/uhci.c: Remove empty #define.
23682 * grub-core/genmoddep.awk: Updated with new syminfo format.
23683 * util/bash-completion.d/Makefile.am: Add config.log to
23684 CLEANFILES.
23685
23686 2010-09-19 Yves Blusseau <blusseau@zetam.org>
23687
23688 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23689
23690 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23691
23692 * util/grub-mkconfig.in: Check the config script for syntax errors
23693 before saving.
23694
23695 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
23696 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23697
23698 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23699 platforms.
23700 * util/grub-install.in: Add EFI and IEEE1275 support.
23701 * util/i386/efi/grub-install.in: Removed.
23702 * util/ieee1275/grub-install.in: Likewise.
23703
23704 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23705
23706 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23707 (grub_cmd_cmosclean): Likewise.
23708 (GRUB_MOD_INIT): Register command cmosclean.
23709 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23710 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23711
23712 2010-09-18 Carles Pina i Estany <carles@pina.cat>
23713 2010-09-18 Aleš Nesrsta <starous@volny.cz>
23714 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23715
23716 Add keyboard layouts support.
23717
23718 * Makefile.util.def (grub-mklayout): New file.
23719 (grub-kbdcomp): New script.
23720 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23721 Add keyboard_layouts.h.
23722 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23723 commands/boot.c on yeeloong.
23724 (keylayouts): New module.
23725 * grub-core/bus/usb/ohci.c
23726 * grub-core/bus/usb/uhci.c
23727 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23728 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23729 (attach_root_port): Likewise.
23730 (poll_nonroot_hub): Likewise.
23731 (grub_usb_poll_devices): Likewise.
23732 (detach_device): Close transfer.
23733 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23734 function.
23735 (grub_usb_bulk_setup_readwrite): Likewise.
23736 (grub_usb_bulk_finish_readwrite): Likewise.
23737 * grub-core/commands/keylayouts.c: New file.
23738 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23739 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23740 aliases.
23741 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23742 support scancode 2.
23743 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23744 * include/grub/keyboard_layouts.h: New file.
23745 * util/grub-mklayout.c: New file.
23746 * util/grub-kbdcomp.in: Likewise.
23747
23748 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23749
23750 Unify memory types.
23751
23752 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23753 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23754 types.
23755 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23756 (grub_upper_mem): Likewise.
23757 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23758 * include/grub/memory.h (grub_memory_type_t): New enum.
23759 All users updated.
23760
23761 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23762
23763 * grub-core/Makefile.core.def (lsapm): New module.
23764 * grub-core/commands/i386/pc/lsapm.c: New file.
23765 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23766 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23767 Likewise.
23768 * include/grub/i386/pc/apm.h: New file.
23769 * include/multiboot.h (multiboot_apm_info): New struct.
23770
23771 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23772
23773 GRUB-legacy configuration file support.
23774
23775 * Makefile.util.def (grub-menulst2cfg): New util.
23776 * docs/man/grub-menulst2cfg.h2m: New file.
23777 * grub-core/Makefile.core.def (legacycfg): New module.
23778 * grub-core/commands/legacycfg.c: New file.
23779 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23780 (grub_normal_add_menu_entry): ... this.
23781 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23782 (grub_normal_set_password): ...this.
23783 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23784 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23785 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23786 * grub-core/lib/legacy_parse.c: New file.
23787 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23788 * include/grub/i386/pc/vesa_modes_table.h: New file.
23789 * include/grub/legacy_parse.h: Likewise.
23790 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23791 * util/grub-menulst2cfg.c: New file.
23792
23793 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23794
23795 * grub-core/kern/emu/hostdisk.c
23796 (convert_system_partition_to_system_disk): Initialise node.
23797
23798 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23799
23800 * grub-core/kern/emu/hostdisk.c
23801 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23802 leak.
23803 Reported and based on patch by: Modestas Vainius.
23804
23805 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23806
23807 Fix DM-RAID probing with recent versions of device-mapper udev
23808 rules.
23809
23810 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23811 canonicalise device paths under /dev/mapper/.
23812 (convert_system_partition_to_system_disk): Compare the
23813 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23814 path, since device nodes under /dev/mapper/ are often symlinks.
23815
23816 2010-09-17 Yves Blusseau <blusseau@zetam.org>
23817
23818 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23819
23820 2010-09-16 Yves Blusseau <blusseau@zetam.org>
23821
23822 * configure.ac: Avoid some annoying error messages if freetype-config
23823 program is not found.
23824
23825 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23826
23827 Support RAID on virtio devices, and others.
23828
23829 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23830 Rename to ...
23831 [__MINGW32__] (grub_find_device): ... this.
23832 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23833 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23834 reasonable default if dir is NULL.
23835 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23836 ...
23837 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23838 (grub_guess_root_device): Update callers.
23839 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23840
23841 * util/raid.c (grub_util_getdiskname): Remove.
23842 (grub_util_raid_getmembers): Use grub_find_device rather than
23843 grub_util_getdiskname.
23844
23845 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23846
23847 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23848 needing to be compiled with serial support.
23849 (ls): Indicate that multiple files are accepted.
23850 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23851 indicate that multiple files are accepted.
23852
23853 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23854
23855 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23856 libgrub_a_init.c, and util/bash-completion.d/grub.
23857
23858 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23859
23860 * util/grub-setup.c (setup): Fix incorrect container semantics.
23861
23862 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23863
23864 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23865 misusage.
23866 Reported by: J. Nick Terry
23867
23868 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23869
23870 Move embedding routines to partmap sources files.
23871
23872 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23873 [GRUB_UTIL]: New variable.
23874 (gpt_partition_map_iterate): Set part.parent.
23875 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23876 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23877 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23878 New function.
23879 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23880 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23881 (grub_partition_map) [GRUB_UTIL]: New field embed.
23882 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23883 (setup): Use ->embed.
23884
23885 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23886
23887 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23888 function.
23889 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23890 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23891
23892 2010-09-15 Yves Blusseau <blusseau@zetam.org>
23893
23894 Add function to get completions from usage.
23895
23896 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23897 completions from usage. Use LC_ALL=C to get options properly.
23898
23899 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23900
23901 * grub-core/gnulib/basename-lgpl.c: Imported.
23902 * grub-core/gnulib/basename.c: Likewise.
23903 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23904 * grub-core/gnulib/dirname.c: Likewise.
23905 * grub-core/gnulib/dirname.h: Likewise.
23906 * grub-core/gnulib/stripslash.c: Likewise.
23907
23908 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23909
23910 * grub-core/gnulib/error.c: Resynced.
23911 * grub-core/gnulib/getopt.c: Likewise.
23912 * grub-core/gnulib/getopt_int.h: Likewise.
23913 * grub-core/gnulib/regex.h: Likewise.
23914 * grub-core/gnulib/regex_internal.c: Likewise.
23915 * grub-core/gnulib/regex_internal.h: Likewise.
23916
23917 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23918
23919 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23920 CRC calculations and validity checks.
23921 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23922 calculations.
23923
23924 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23925
23926 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23927
23928 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23929
23930 Fix incorrect echo options handling.
23931 Reported by: Yves Blusseau.
23932
23933 * include/grub/command.h (grub_command_flags_t): New flags
23934 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23935 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23936 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23937
23938 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23939
23940 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23941 users updated.
23942 (GRUB_COMMAND_FLAG_MENU): Likewise.
23943 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23944 (GRUB_COMMAND_FLAG_TITLE): Removed.
23945 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23946 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23947 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23948 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23949 (grub_command_flags_t): New enum. All users updated.
23950
23951 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23952
23953 Fix solaris compilation.
23954
23955 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23956 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23957 (grub-emu-list): Likewise.
23958
23959 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23960
23961 Remove deprecated root command.
23962
23963 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23964 updated.
23965
23966 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23967
23968 * util/i386/pc/grub-setup.c: Merge this ...
23969 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23970 * util/grub-setup.c: ... into this.
23971 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23972 New struct.
23973
23974 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23975
23976 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23977 possible.
23978
23979 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23980
23981 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23982 allocate p.
23983
23984 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23985
23986 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23987 explicit root argument to set to prevent UUID to be interpreted as
23988 argument to set.
23989
23990 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23991
23992 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23993
23994 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23995
23996 Don't export grub_gate_a20.
23997
23998 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23999 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
24000 to ...
24001 (grub_gate_a20): ... this. All users updated.
24002 * include/grub/i386/pc/init.h: Removed. All users updated.
24003
24004 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
24005
24006 Create euro.pf2 which supports most European languages.
24007
24008 * Makefile.am (grubdata_DATA): Add euro.pf2.
24009 (euro.pf2): New target.
24010 (CLEANFILES): Add euro.pf2.
24011
24012 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 * configure.ac: Disable emu-usb by default to prevent inadvertent
24015 device takeover.
24016
24017 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24018
24019 Disable usbserial on grub-emu since our libusb code isn't good enough
24020 yet.
24021
24022 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
24023 (usbserial_pl2303): Likewise.
24024 (usbserial_ftdi): Likewise.
24025
24026 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24027
24028 * include/grub/disk.h (grub_disk): Remove has_partitions.
24029 All users updated.
24030 * disk/loopback.c (grub_loopback): Remove has_partitions.
24031 All users updated.
24032 (options): Remove partitions. All users updated.
24033 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
24034 * util/i386/pc/grub-setup.c (setup): copy partition table only when
24035 actual partition table is found.
24036
24037 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24038
24039 Remove readability checks (too many false negatives).
24040
24041 * util/grub-install.in: Remove readability checks.
24042 * util/grub-mkconfig.in: Likewise.
24043 * util/grub.d/10_hurd.in: Likewise.
24044 * util/grub.d/10_kfreebsd.in: Likewise.
24045 * util/grub.d/10_linux.in: Likewise.
24046 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
24047 way.
24048
24049 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24050
24051 Enable acpi shutdown on all ACPI platforms.
24052
24053 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
24054 on coreboo, multiboot and EFI.
24055 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
24056 (grub_acpi_halt): Likewise.
24057 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
24058 (grub_cmd_halt): Don't call grub_acpi_halt directly.
24059 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
24060 * grub-core/lib/i386/halt.c (grub_halt)
24061 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
24062
24063 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24064
24065 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
24066 context.
24067
24068 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24069
24070 * grub-core/video/efi_gop.c: Fix over-80-chars line.
24071 * grub-core/video/efi_uga.c: Likewise.
24072
24073 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24074
24075 Filter devaliases and never open same device twice.
24076
24077 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
24078 (last_ihandle): Likewise.
24079 (ofdisk_hash_ent): New member shortest.
24080 (ofdisk_hash_add): Add canonical path too.
24081 (scan): New function.
24082 (grub_ofdisk_iterate): Iterate over hashed entries.
24083 (compute_dev_path): Don't add :0.
24084 (grub_ofdisk_open): Don't really open the disk.
24085 (grub_ofdisk_close): Avoid closing unrelated disk.
24086 (grub_ofdisk_read): Implement reopen logic.
24087 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
24088 New function.
24089 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
24090 New proto.
24091
24092 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24093
24094 Fix sparc64.
24095
24096 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
24097 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
24098 right address. Add sparc64_ieee1275_ldflags.
24099 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
24100 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
24101 to grub_host_to_target_addr
24102 (load_image): Likewise.
24103
24104 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24105
24106 * grub-core/normal/completion.c (complete_file): Handle device
24107 containing slash.
24108 Fix based on patch by Doug Nazar.
24109
24110 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24111
24112 grub-mknetdir script.
24113
24114 * Makefile.util.def (grub-mknetdir): New module.
24115 * tests/util/grub-shell.in: Support boot=net
24116 * util/grub-mknetdir.in: New file.
24117
24118 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24119
24120 videoinfo on non-vbe.
24121
24122 * grub-core/Makefile.core.def (vbeinfo): Removed.
24123 (vbetest): Removed.
24124 (videoinfo): New module.
24125 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
24126 * grub-core/commands/i386/pc/vbetest.c: Removed.
24127 * grub-core/commands/videoinfo.c: New file.
24128 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
24129 specification.
24130 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
24131 as vbetest.
24132 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
24133 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
24134 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
24135 mode_number. New parameter mode. All users updated.
24136 (grub_video_gop_iterate): New function.
24137 (grub_video_efi_gop): New member iterate.
24138 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
24139 (grub_vbe_set_video_mode): Remove setting useless fields.
24140 (vbe2videoinfo): New function.
24141 (grub_video_vbe_iterate): Likewise.
24142 (grub_video_vbe_setup): Use vbe2videoinfo.
24143 (grub_video_vbe_print_adapter_specific_info): New function.
24144 (grub_video_vbe_adapter): New fields iterate and
24145 print_adapter_specific_info.
24146 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
24147 All users updated.
24148 (grub_video_mode_info): New field mode_number.
24149 (grub_video_adapter): New fields iterate and
24150 print_adapter_specific_info.
24151
24152 2010-09-13 Tristan Gingold <gingold@free.fr>
24153 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
24154 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24155
24156 * grub-core/commands/efi/lsefisystab.c: New file.
24157 * grub-core/commands/efi/lssal.c: Likewise.
24158 * grub-core/Makefile.core.def (lsacpi): New module.
24159 (lsefisystab): Likewise.
24160 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
24161 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
24162 (grub_efi_sal_system_table): New struct.
24163 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
24164 (grub_efi_sal_system_table_memory_descriptor): Likewise.
24165 (grub_efi_sal_system_table_platform_features): Likewise.
24166 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
24167 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
24168 (grub_efi_sal_system_table_ap_wakeup): Likewise.
24169 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
24170
24171 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24172
24173 Support explicit user claim that a device is BIOS-visible.
24174
24175 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
24176 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
24177 * grub-core/kern/emu/hostdisk.c
24178 (convert_system_partition_to_system_disk): Support mdX.
24179 (find_system_device): New parameter add. All users updated.
24180 (grub_util_biosdisk_is_present): New function.
24181 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
24182 proto.
24183
24184 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24185
24186 Search hints support.
24187
24188 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
24189 All users updated.
24190
24191 2010-09-13 Yves Blusseau <blusseau@zetam.org>
24192
24193 Bash completion script for util commands
24194
24195 * Makefile.am: Add util/bash-completion.d directory
24196 * configure.ac: Likewise.
24197 * util/bash-completion.d/Makefile.am: New file.
24198 * util/bash-completion.d/grub-completion.bash.in: Likewise.
24199
24200 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24201
24202 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
24203 (print_backlog): set backlog_ucs4 and backlog_glyphs.
24204 Reported by: Yves Blusseau.
24205
24206 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24207
24208 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
24209 partition size and offset.
24210
24211 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24212
24213 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
24214
24215 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24216
24217 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
24218
24219 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24220
24221 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
24222 (grub_xvasprintf): Likewise.
24223
24224 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24225
24226 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
24227
24228 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24229
24230 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
24231 args ending with NULL.
24232
24233 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24234
24235 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
24236 pointer.
24237
24238 2010-09-11 Szymon Janc <szymon@janc.net.pl>
24239
24240 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
24241
24242 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24243
24244 Shutdown using ACPI.
24245
24246 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
24247 * grub-core/commands/acpihalt.c: New file.
24248 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
24249 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
24250 (grub_acpi_halt): New proto.
24251 (GRUB_ACPI_SLP_EN): New const.
24252 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
24253 (GRUB_ACPI_OPCODE_*): New enum.
24254 (GRUB_ACPI_EXTOPCODE_*): Likewise.
24255
24256 2010-09-11 Tristan Gingold <gingold@free.fr>
24257 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
24258 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24259
24260 * commands/lsacpi.c: New file.
24261 * grub-core/Makefile.core.def (lsacpi): New module.
24262 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
24263 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
24264 (grub_acpi_madt_entry_header): New struct.
24265 (grub_acpi_madt): Likewise.
24266 (grub_acpi_madt_entry_interrupt_override): Likewise.
24267 (grub_acpi_madt_entry_sapic): Likewise.
24268 (grub_acpi_madt_entry_lsapic): Likewise.
24269 (grub_acpi_madt_entry_platform_int_source): Likewise.
24270 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
24271 (PRIuGRUB_UINT32_T): Likewise.
24272 (PRIxGRUB_UINT64_T): Likewise.
24273
24274 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24275
24276 Implement loading palette on ieee1275_fb.
24277
24278 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
24279 (have_setcolors): Likewise.
24280 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
24281 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
24282 (grub_video_ieee1275_set_palette): Implement.
24283
24284 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24285 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
24286
24287 * util/grub-install.in (grub_partition): New variable.
24288 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
24289 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
24290 Fixes a bug reported by Yves Blusseau.
24291
24292 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24293
24294 Fix emu on mipsel.
24295
24296 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
24297 =grub_cpu_flush_cache on all mips and not only yeeloong.
24298 * configure.ac (COND_mips): New conditional.
24299 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
24300 platforms.
24301 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
24302 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
24303 [GRUB_LINKER_HAVE_INIT]: New function.
24304 (grub_emu_post_init): Likewise.
24305 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
24306 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
24307 * include/grub/cache.h (_mips): Include mips/cache.h.
24308 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
24309 LVM and RAID prototypes.
24310 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
24311 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
24312 function.
24313
24314 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24315
24316 * util/grub-install.in: Don't try to verify core.img until after
24317 running grub-mkimage to create it.
24318
24319 2010-09-10 Robert Millan <rmh@gnu.org>
24320
24321 * util/grub.d/10_hurd.in: Add misc readability checks.
24322 * util/grub.d/10_kfreebsd.in: Likewise.
24323 * util/grub.d/10_linux.in: Likewise.
24324
24325 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24326
24327 * util/grub-install.in: ${imgext} won't be defined here until the
24328 install branch is merged. For the meantime, only verify core.img on
24329 i386-pc and sparc64-ieee1275 platforms.
24330
24331 2010-09-10 Robert Millan <rmh@gnu.org>
24332
24333 Solaris support in grub_find_zpool_from_dir(). Thanks
24334 Seth Goldberg for referring to getextmntent() facility.
24335
24336 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
24337 `sys/mkdev.h'.
24338 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
24339 `<sys/mnttab.h>'.
24340 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
24341 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
24342 method for finding zpool name.
24343
24344 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24345
24346 grub-fstest needs the host and hostfs modules while other utilities
24347 actively require those modules to be absent, so grub-fstest needs
24348 its own initialisation and finalisation code.
24349
24350 * Makefile.am (grub_fstest.pp): New target.
24351 (grub_fstest_init.lst): Likewise.
24352 (grub_fstest_init.c): Likewise.
24353 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
24354
24355 2010-09-10 Robert Millan <rmh@gnu.org>
24356
24357 * configure.ac: Check for `struct statfs.f_fstypename' and
24358 `struct statfs.f_mntfromname'.
24359
24360 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24361 kFreeBSD-specific code.
24362
24363 2010-09-10 Robert Millan <rmh@gnu.org>
24364
24365 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24366 on ZFS. Now non-main filesystems are supported as / too.
24367
24368 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
24369
24370 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24371 and grub-core/disk/host.c to ...
24372 (grub-fstest): ... here. Having the host disk implementation
24373 present confuses grub-probe and other utility programs.
24374
24375 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24376 when writing to a file, not when writing to stdout.
24377
24378 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24379
24380 * tests/partmap_test.in: New test for partitions.
24381 * Makefile.util.def: Rules for new test.
24382
24383 2010-09-09 Robert Millan <rmh@gnu.org>
24384
24385 * util/grub-probe.c (probe): Fix a pair of unhandled error
24386 conditions.
24387
24388 2010-09-09 Robert Millan <rmh@gnu.org>
24389
24390 Basic Btrfs support (detection and UUID).
24391
24392 * grub-core/fs/btrfs.c: New file.
24393 * Makefile.util.def (library): Register btrfs.c.
24394 * grub-core/Makefile.core.def: Likewise.
24395
24396 2010-09-08 Robert Millan <rmh@gnu.org>
24397
24398 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24399 with (optional) parameters to specify device and relative path.
24400 * util/grub-install.in: Use is_path_readable_by_grub() to
24401 verify readability of a few critical files.
24402 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24403 verify readability of grub.cfg.new.
24404
24405 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24406
24407 Split minix.mod into minix.mod and minix2.mod.
24408
24409 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24410 * grub-core/Makefile.core.def (minix2): New module.
24411 * grub-core/fs/minix.c: Use definitions instead of runtime version
24412 checking.
24413 * grub-core/fs/minix2.c: New file.
24414
24415 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24416
24417 Add new --boot-directory option to replace --root-directory
24418
24419 * util/grub-install.in: Add new --boot-directory option
24420 * util/grub-reboot.in: Likewise.
24421 * util/grub-set-default.in: Likewise.
24422
24423 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24424
24425 * util/grub-mkconfig.in: Use new variable.
24426
24427 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24428
24429 * configure.ac: Define some useful variables.
24430
24431 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24432
24433 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24434 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24435 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24436 Use terminfo and don't use cursor-on/cursor-off unless it's known
24437 to work.
24438 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24439 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24440
24441 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
24442
24443 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24444 starts with "(,", fill the drive containing the loaded image in
24445 between those two characters, but expect that a full partition
24446 specification including partition map names will follow.
24447
24448 2010-09-08 Robert Millan <rmh@gnu.org>
24449
24450 * configure.ac: Remove `--enable-grub-fstest' option.
24451 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24452
24453 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24454 `grub-fstest' instead of `grub-probe' for readability verification.
24455 * util/grub-probe.c (probe): Remove readability verification kludge.
24456
24457 2010-09-08 Robert Millan <rmh@gnu.org>
24458
24459 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24460 initializing `GRUB_FS'.
24461
24462 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24463
24464 Not command (!) support to GRUB script.
24465
24466 * tests/grub_script_not.in: New test.
24467 * Makefile.util.def: Rules for new test.
24468
24469 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24470 ! command as a special case.
24471 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24472
24473 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24474
24475 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24476 grub_free.
24477
24478 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24479
24480 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24481
24482 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24483
24484 * docs/grub.texi (Shell-like scripting): Documentation for break,
24485 continue, shift and return commands.
24486
24487 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24488
24489 Rename CD-ROM to cd on BIOS.
24490
24491 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24492 "cd".
24493 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24494
24495 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24496
24497 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24498 * util/grub-probe.c (main): Likewise.
24499 * util/i386/pc/grub-setup.c (main): Likewise.
24500 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24501 Reported and debugged by: alexxy
24502
24503 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24504
24505 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24506 diagnostic info.
24507
24508 2010-09-05 Jo Shields <directhex@apebox.org>
24509
24510 * util/grub.d/30_os-prober.in: Add missing classes.
24511
24512 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24513
24514 * docs/grub.texi (Theme file format): Document new position format.
24515
24516 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24517
24518 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24519 a table. Use @code instead of @verbatim.
24520
24521 2010-09-05 Colin D Bennett <colin@gibibit.com>
24522
24523 Gfxmenu documentation.
24524
24525 * docs/grub.texi (Theme file format): New chapter.
24526
24527 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24528
24529 * grub-core/Makefile.core.def (xzio): New module.
24530 * grub-core/io/xzio.c: New file.
24531 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24532 * grub-core/lib/xzembed/xz_config.h: Likewise.
24533 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24534 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24535 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24536 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24537 * grub-core/lib/xzembed/xz_private.h: Likewise.
24538 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24539 * include/grub/file.h (grub_file_filter_id): New compression filter
24540 GRUB_FILE_FILTER_XZIO.
24541
24542 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24543
24544 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24545 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24546 size.
24547
24548 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24549
24550 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24551 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24552
24553 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24554
24555 Uncompressed checksum support.
24556
24557 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24558 (check_list): New parameter uncompress.
24559 (grub_cmd_hashsum): Handle --uncompress.
24560
24561 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24562
24563 Reintroduce testload.
24564
24565 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24566 from here ...
24567 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24568 (GRUB_MOD_INIT): New function.
24569 (GRUB_MOD_FINI): Likewise.
24570 * grub-core/Makefile.core.def (testload): New module.
24571
24572 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24573
24574 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24575 (uint8_t): New type.
24576 (uint16_t): Likewise.
24577 (uint32_t): Likewise.
24578 (uint64_t): Likewise.
24579
24580 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24581
24582 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24583
24584 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24585
24586 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24587 Made static.
24588 (grub_gzfile_open): Removed. All users updated.
24589 (GRUB_MOD_INIT): New function.
24590 (GRUB_MOD_FINI): Likewise.
24591 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24592 (grub_file_filters_enabled): Likewise.
24593 (grub_file_open): Handle filters.
24594 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24595 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24596 * include/grub/file.h (grub_file_filter_id_t): New type.
24597 (grub_file_filter_t): Likewise.
24598 (grub_file_filters_all): New extern variable.
24599 (grub_file_filters_enabled): Likewise.
24600 (grub_file_filter_register): New inline function.
24601 (grub_file_filter_unregister): Likewise.
24602 (grub_file_filter_disable): Likewise.
24603 (grub_file_filter_disable_compression): Likewise.
24604 * include/grub/gzio.h: Removed.
24605
24606 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24607
24608 Filename expansion support for wildcards in GRUB script.
24609
24610 * tests/grub_script_expansion.in: New test.
24611 * Makefile.util.def: Rule for new test.
24612
24613 * grub-core/commands/wildcard.c: New file, implements filename
24614 expansion support for GRUB script.
24615 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24616 * grub-core/script/argv.c: Cosmetic changes.
24617 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24618 Refactored to perform wildcard expansion on arguments.
24619 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24620 struct.
24621
24622 * tests/util/grub-shell.in: Fix quoting for read input.
24623
24624 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24625
24626 Support for updating environment variables with matched substrings
24627 of regexp.
24628
24629 * tests/grub_cmd_regexp.in: New test.
24630 * Makefile.util.def: Rule for new test.
24631
24632 * grub-core/commands/regexp.c: New option -s to update environment
24633 variables with regexp matches.
24634
24635 2010-09-04 Szymon Janc <szymon@janc.net.pl>
24636
24637 * include/grub/file.h (grub_file): New member not_easly_seekable.
24638 (grub_file_seekable): New inline function.
24639 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24640 easily seekable.
24641 (grub_gzio_open): Set not_easly_seekable.
24642 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24643 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24644
24645 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24646
24647 Support for options to appear multiple times on cmdline.
24648
24649 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24650 * grub-core/commands/extcmd.c: Support for repeatable option.
24651 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24652 repeatable option support.
24653
24654 Refactor menuentry into a regular command.
24655
24656 * grub-core/commands/menuentry.c: New file, menuentry command
24657 implementation.
24658 * grub-core/Makefile.core.def: Rule update for normal.mod.
24659 * grub-core/normal/main.c: Moved menuentry creation to
24660 grub-core/commands/menuentry.c.
24661 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24662 (grub_menu_execute_entry_real): Removed.
24663 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24664 function.
24665 (grub_script_execute_menuentry): Removed.
24666 * grub-core/script/parser.y (menuentry): Removed.
24667 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24668 * grub-core/script/yylex.l (menuentry): Removed.
24669 * include/grub/menu.h (grub_menu_init): New prototype.
24670 (grub_menu_fini): New prototype.
24671 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24672 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24673 (grub_script_execute_sourcecode): New prototype.
24674
24675 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24676
24677 "return" command for GRUB script functions.
24678
24679 * tests/grub_script_return.in: New test.
24680 * Makefile.util.def: Rules for new test.
24681
24682 * grub-core/script/execute.c (grub_script_return): New function.
24683 * grub-core/script/main.c: Register/unregister return commaond.
24684 * include/grub/script_sh.h (grub_script_return): New prototype.
24685
24686 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24687
24688 "setparams" command to update positional parameters.
24689
24690 * tests/grub_script_setparams.in: New test.
24691 * Makefile.util.def: Rules for new test.
24692
24693 * grub-core/script/argv.c (grub_script_argv_make): New function.
24694 * grub-core/script/execute.c (replace_scope): New function.
24695 (grub_script_setparams): New function.
24696 * grub-core/script/lexer.c: Remove unused variables.
24697 * grub-core/script/main.c: Register/unregister setparams command.
24698 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24699 (grub_script_setparams): New prototype.
24700
24701 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24702
24703 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24704 grub_free order.
24705
24706 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24707
24708 Support for passing block of commands as an argument to extcmds.
24709
24710 * Makefile.util.def: Rules for new test.
24711 * tests/grub_script_blockarg.in: New test.
24712 * grub-core/tests/test_blockarg.c: New file, block argument
24713 command used in the test.
24714
24715 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24716 (grub_register_extcmd_prio): New function prototype.
24717 (grub_extcmd_dispatcher): New function prototype.
24718 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24719 type.
24720 * include/grub/script_sh.h (struct grub_script): New members
24721 `children', `next_siblings' and `refcnt' for block arguments and
24722 reference counting.
24723 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24724 (grub_script_arg): New member `script' for block argument.
24725 (grub_script_argv): New member `script' for block argument.
24726 (grub_parser_param): New member `scripts' for block argument.
24727 (grub_script_mem_free): New extern function prototype.
24728 (grub_script_ref): New function prototype.
24729 (grub_script_unref): New function prototype.
24730
24731 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24732 extcmd form to support block arguments.
24733 * grub-core/script/argv.c: Block arguments support.
24734 * grub-core/script/execute.c: Likewise.
24735 * grub-core/script/lexer.c: Likewise.
24736 * grub-core/script/main.c: Likewise.
24737 * grub-core/script/script.c: Likewise.
24738 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24739 non-terminals.
24740
24741 * grub-core/commands/acpi.c: Update extcmd implementations with
24742 grub_extcmd_context_t.
24743 * grub-core/commands/cat.c: Likewise.
24744 * grub-core/commands/echo.c: Likewise.
24745 * grub-core/commands/extcmd.c: Likewise.
24746 * grub-core/commands/hashsum.c: Likewise.
24747 * grub-core/commands/hdparm.c: Likewise.
24748 * grub-core/commands/help.c: Likewise.
24749 * grub-core/commands/hexdump.c: Likewise.
24750 * grub-core/commands/i386/cpuid.c: Likewise.
24751 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24752 * grub-core/commands/i386/pc/halt.c: Likewise.
24753 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24754 * grub-core/commands/iorw.c: Likewise.
24755 * grub-core/commands/keystatus.c: Likewise.
24756 * grub-core/commands/loadenv.c: Likewise.
24757 * grub-core/commands/ls.c: Likewise.
24758 * grub-core/commands/lspci.c: Likewise.
24759 * grub-core/commands/memrw.c: Likewise.
24760 * grub-core/commands/probe.c: Likewise.
24761 * grub-core/commands/search_wrap.c: Likewise.
24762 * grub-core/commands/setpci.c: Likewise.
24763 * grub-core/commands/sleep.c: Likewise.
24764 * grub-core/disk/loopback.c: Likewise.
24765 * grub-core/hello/hello.c: Likewise.
24766 * grub-core/loader/i386/bsd.c: Likewise.
24767 * grub-core/loader/xnu.c: Likewise.
24768 * grub-core/term/gfxterm.c: Likewise.
24769 * grub-core/term/serial.c: Likewise.
24770 * grub-core/tests/lib/functional_test.c: Likewise.
24771
24772 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24773
24774 Multi-line quoted strings support.
24775
24776 * grub-core/script/lexer.c (append_newline): Removed.
24777 (grub_script_lexer_yywrap): Refactored.
24778 (grub_script_lexer_init): Refactored.
24779 * grub-core/script/yylex.l (yywrap): New function.
24780 (grub_lexer_resplit): New function.
24781 (grub_lexer_unput): New function.
24782 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24783 and resplit.
24784 * tests/grub_script_echo1.in: Added few more testcases.
24785
24786 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24787
24788 * grub-core/kern/misc.c: Don't add abort alias in utils.
24789 Reported by: echoline.
24790
24791 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24792
24793 Add missing files into "make dist" tarball for other platforms.
24794
24795 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24796 * conf/Makefile.common (dist_noinst_DATA): New variable.
24797 * conf/Makefile.extra-dist: Added missing make dist files.
24798 * grub-core/Makefile.core.def: Likewise.
24799
24800 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24801
24802 Compress grub_prefix.
24803
24804 * grub-core/boot/i386/pc/lnxboot.S: Use
24805 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24806 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24807 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24808 GRUB_MACHINE_PREFIX_END. All users updated.
24809 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24810 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24811 + 0x40.
24812 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24813 * util/grub-mkimage.c (image_target_desc): Change data_end to
24814 prefix_end. All users updated.
24815
24816 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24817
24818 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24819 value.
24820 (grub_openbsd_boot): Likewise.
24821 (grub_netbsd_boot): Likewise.
24822 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24823 (grub_xnu_boot): Likewise.
24824
24825 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24826
24827 * configure.ac: Clean LIBS variable after tests.
24828
24829 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24830
24831 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24832
24833 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24834
24835 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24836 echo if libdevmapper will be used.
24837
24838 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24839
24840 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24841 constant for the same file.
24842
24843 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24844
24845 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24846
24847 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24848
24849 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24850 grub-core/*.pp.
24851
24852 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24853
24854 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24855 required by the boot protocol.
24856
24857 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24858 ebp and edi members.
24859 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24860 state.ebp and state.edi.
24861 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24862 %ebp and %edi according to grub_relocator32_ebp and
24863 grub_relocator32_edi respectively.
24864 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24865 and state.edi.
24866
24867 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24868
24869 Add i386-pc-pxe image target.
24870
24871 * util/grub-mkimage.c (image_target_desc): New enum value
24872 IMAGE_I386_PC_PXE.
24873 (image_targets): New target i386-pc-pxe.
24874 (generate_image): Handle i386-pc-pxe image.
24875
24876 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24877
24878 Fix grub_pxe_scan.
24879
24880 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24881 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24882 All users updated.
24883 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24884 (grub_pxe_pxenv): Correct type.
24885
24886 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24887
24888 * NEWS: Document most of the important changes since 1.98.
24889
24890 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24891
24892 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24893 generated manual page) a little.
24894
24895 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24896
24897 * docs/grub.texi: Add myself as an author.
24898
24899 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24900
24901 * Makefile.util.def (libgrub.a): Add missing sunpc.
24902 Reported by: Seth Goldberg.
24903
24904 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24905
24906 Interrupt wrapping and code simplifications.
24907
24908 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24909 x86_noieee1275 which are functionaly equivalent in this case.
24910 (grub-install): Make source on each platform explicit. Enable on
24911 all noemu.
24912 * gentpl.py (x86_efi_pc): Removed group.
24913 (x86_noefi): Likewise.
24914 (i386_noefi): Likewise.
24915 (x86_noieee1275): Likewise.
24916 (i386_noieee1275): Likewise.
24917 (i386_noefi_noieee1275): Likewise.
24918 (i386_pc_qemu_coreboot): Likewise.
24919 (i386_coreboot_multiboot): Likewise.
24920 (i386_pc_coreboot_multiboot_qemu): Likewise.
24921 (x86_noefi_mips): Likewise.
24922 (noieee1275): Likewise.
24923 (ieee1275_mips): Likewise.
24924 (noemu_noieee1275): Likewise.
24925 (cmos): New group.
24926 (usb): Likewise.
24927 (videoinkernel): Likewise.
24928 (videomodules): Likewise.
24929 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
24930 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24931 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24932 include/grub/loader.h, include/grub/msdos_partition.h,
24933 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24934 include/grub/machine/console.h, include/grub/machine/vga.h,
24935 include/grub/machine/vbe.h, include/grub/machine/init.h,
24936 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24937 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
24938 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
24939 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24940 * grub-core/Makefile.core.def (kernel): Explicit the source for
24941 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24942 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24943 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24944 Use videoinkernel tag.
24945 (usb): Enable on all usb.
24946 (usbserial_common): Likewise.
24947 (usbserial_pl2303): Likewise.
24948 (usbserial_ftdi): Likewise.
24949 (uhci): Enable on all x86.
24950 (ohci): Enable on all pci.
24951 (cmostest): Enable on all CMOS.
24952 (acpi): Include commands/acpi.c on all platforms.
24953 (halt): Add relevant lib/*/halt.c.
24954 (hdparm): Enable on all pci.
24955 (lspci): Likewise.
24956 (usbtest): Enable on all usb.
24957 (ata): Enable on all pci.
24958 (ata_pthru): Likewise.
24959 (usbms): Enable on all usb.
24960 (usb_keyboard): Likewise.
24961 (font): Use tag videomodules.
24962 (bufio): Likewise.
24963 (datetime): Use tag cmos. Enable on all noemu.
24964 (mmap): Use tags common and x86.
24965 (gfxterm): Use tag videomodules.
24966 (bitmap): Likewise.
24967 (bitmap_scale): Likewise.
24968 (video_fb): Likewise.
24969 (video): Likewise.
24970 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24971 adjust padding accordingly. All users updated.
24972 (grub_ohci_transaction): Fix bad format specification.
24973 (GRUB_MOD_INIT): Add asserts for struct size.
24974 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24975 (grub_alloc_td): Likewise.
24976 (grub_free_queue): Likewise.
24977 (grub_uhci_transfer): Likewise.
24978 (grub_uhci_transaction): Fix bad format specification.
24979 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24980 (grub_usb_bulk_readwrite): Likewise.
24981 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24982 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24983 Made static.
24984 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24985 Made static.
24986 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24987 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24988 Transformed into C.
24989 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24990 Moved from here ...
24991 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24992 ... here. Transformed into C. Made static.
24993 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24994 Moved from here ...
24995 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24996 ... here. Transformed into C. Made static.
24997 * grub-core/kern/i386/pc/startup.S
24998 (grub_biosdisk_check_int13_extensions): Moved from here ...
24999 * grub-core/disk/i386/pc/biosdisk.c
25000 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
25001 Made static.
25002 * grub-core/kern/i386/pc/startup.S
25003 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
25004 * grub-core/disk/i386/pc/biosdisk.c
25005 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
25006 Transformed into C. Made static.
25007 * grub-core/kern/i386/pc/startup.S
25008 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
25009 * grub-core/disk/i386/pc/biosdisk.c
25010 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
25011 Transformed into C. Made static.
25012 * grub-core/kern/i386/pc/startup.S
25013 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
25014 * grub-core/disk/i386/pc/biosdisk.c
25015 (grub_biosdisk_get_diskinfo_standard): ... here.
25016 Transformed into C. Made static.
25017 * grub-core/kern/i386/pc/startup.S
25018 (grub_biosdisk_get_num_floppies): Moved from here ...
25019 * grub-core/disk/i386/pc/biosdisk.c
25020 (grub_biosdisk_get_num_floppies): ... here.
25021 Transformed into C. Made static.
25022 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
25023 New function.
25024 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
25025 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
25026 Transformed into C. Made static.
25027 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
25028 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
25029 Transformed into C. Made static.
25030 * grub-core/kern/i386/ieee1275/init.c: Removed.
25031 * grub-core/kern/i386/misc.S: Likewise.
25032 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
25033 Splitted from here ...
25034 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
25035 Transformed into C. Made static. All users updated.
25036 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
25037 Transformed into C. Made static. All users updated.
25038 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
25039 Moved from here...
25040 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
25041 Transformed into C. Made static. All users updated.
25042 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
25043 Moved from here...
25044 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
25045 Transformed into C. Made static. All users updated.
25046 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
25047 Removed (replaced by C version).
25048 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
25049 Moved from here...
25050 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
25051 Transformed into C. Made static.
25052 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
25053 Moved from here...
25054 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
25055 ... here. Transformed into C.
25056 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
25057 Moved from here...
25058 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
25059 ... here. Transformed into C.
25060 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
25061 Moved from here...
25062 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
25063 ... here. Transformed into C. Made static.
25064 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
25065 Moved from here...
25066 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
25067 ... here. Transformed into C.
25068 * grub-core/kern/i386/pc/startup.S
25069 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
25070 * grub-core/video/i386/pc/vbe.c
25071 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
25072 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
25073 Moved from here...
25074 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
25075 ... here. Transformed into C.
25076 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
25077 Moved from here...
25078 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
25079 ... here. Transformed into C.
25080 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
25081 Moved from here...
25082 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
25083 ... here. Transformed into C.
25084 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
25085 Moved from here...
25086 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
25087 ... here. Transformed into C.
25088 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
25089 Moved from here...
25090 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
25091 ... here. Transformed into C. Made static.
25092 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
25093 Moved from here...
25094 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
25095 ... here. Transformed into C. Made static.
25096 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
25097 Moved from here...
25098 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
25099 ... here. Transformed into C. Made static.
25100 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
25101 pxe_rm_entry as third argument.
25102 (grub_bios_interrupt): New function.
25103 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
25104 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
25105 of calling grub_stop.
25106 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
25107 * grub-core/lib/efi/halt.c (grub_halt): ...here.
25108 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
25109 * grub-core/lib/emu/halt.c (grub_halt): ... here.
25110 * grub-core/lib/i386/halt.c: Moved from here ...
25111 * grub-core/lib/i386/halt.c: ... here.
25112 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
25113 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
25114 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
25115 grub_stop_floppy.
25116 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
25117 * include/grub/i386/coreboot/init.h: Removed.
25118 * include/grub/i386/multiboot/init.h: Likewise.
25119 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
25120 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
25121 * include/grub/i386/pc/int.h: New file.
25122 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
25123 (grub_pxe_scan): Removed.
25124 (grub_pxe_call): Update prototype.
25125 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
25126 prototypes.
25127 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
25128 * include/grub/i386/qemu/init.h: Removed.
25129 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
25130 noreturn.
25131 (grub_halt): Likewise.
25132 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
25133 (grub_reboot): Likewise.
25134 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
25135 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
25136 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
25137
25138 2010-08-30 Robert Millan <rmh@gnu.org>
25139
25140 * NEWS: Document addition of ZFS support in `grub-install' and
25141 `grub-mkconfig'.
25142
25143 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
25144
25145 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
25146 dprintf output.
25147
25148 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25149
25150 Remove leftover embedding of font objects.
25151
25152 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
25153 * util/grub-install.in (font): Removed.
25154 * util/grub-mkimage.c (generate_image): Remove font support. All users
25155 updated.
25156
25157 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25158
25159 Remove leftover embedding of font objects.
25160
25161 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
25162 * util/grub-install.in (font): Removed.
25163 * util/grub-mkimage.c (generate_image): Remove font support. All users
25164 updated.
25165
25166 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25167
25168 * docs/grub.texi (Network): Fix reference to pxe_blksize.
25169 Reported by: Ian Turner
25170
25171 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25172
25173 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
25174 timeout to avoid indefinite boot stalling.
25175
25176 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25177
25178 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
25179 (grub_env_write_color_highlight): Likewise.
25180
25181 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25182
25183 * grub-core/normal/term.c (print_more): Return to normal and not
25184 to standard state after printing "---MORE---".
25185
25186 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25187
25188 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
25189 Mask out the bit 0x80 since it has other meaning that specifiing color.
25190
25191 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25192
25193 New relocator. Allows for more kernel support and more straightforward
25194 loader writing.
25195
25196 * Makefile.am (BOOTTARGET): New variable.
25197 (QEMU32): Likewise.
25198 (linux.init.x86_64): New target.
25199 (linux.init.i386): Likewise.
25200 (multiboot.elf): Likewise.
25201 (kfreebsd.elf): Likewise.
25202 (kfreebsd.aout): Likewise.
25203 (pc-chainloader.elf): Likewise.
25204 (pc-chainloader.bin): Likewise.
25205 (ntldr.elf): Likewise.
25206 (ntldr.bin): Likewise.
25207 (multiboot2.elf): Likewise.
25208 (kfreebsd.init.x86_64): Likewise.
25209 (kfreebsd.init.i386): Likewise.
25210 (knetbsd.init.i386): Likewise.
25211 (kopenbsd.init.i386): Likewise.
25212 (knetbsd.init.x86_64): Likewise.
25213 (kopenbsd.init.x86_64): Likewise.
25214 (linux-initramfs.i386): Likewise.
25215 (linux-initramfs.x86_64): Likewise.
25216 (kfreebsd-mfsroot.i386.img): Likewise.
25217 (knetbsd.image.i386): Likewise.
25218 (kopenbsd.image.i386): Likewise.
25219 (kopenbsd.image.x86_64): Likewise.
25220 (knetbsd.miniroot-image.i386.img): Likewise.
25221 (kfreebsd-mfsroot.x86_64.img): Likewise.
25222 (knetbsd.image.x86_64): Likewise.
25223 (knetbsd.miniroot-image.x86_64.img): Likewise.
25224 (kfreebsd-mfsroot.i386.gz): Likewise.
25225 (bootcheck-kfreebsd-i386): Likewise.
25226 (kfreebsd-mfsroot.x86_64.gz): Likewise.
25227 (bootcheck-kfreebsd-x86_64): Likewise.
25228 (knetbsd.miniroot-image.i386.gz): Likewise.
25229 (bootcheck-knetbsd-i386): Likewise.
25230 (bootcheck-kopenbsd-i386): Likewise.
25231 (bootcheck-kopenbsd-x86_64): Likewise.
25232 (knetbsd.miniroot-image.x86_64.gz): Likewise.
25233 (bootcheck-knetbsd-x86_64): Likewise.
25234 (bootcheck-linux-i386): Likewise.
25235 (bootcheck-linux-x86_64): Likewise.
25236 (bootcheck-linux16-i386): Likewise.
25237 (bootcheck-linux16-x86_64): Likewise.
25238 (bootcheck-multiboot): Likewise.
25239 (bootcheck-multiboot2): Likewise.
25240 (bootcheck-kfreebsd-aout): Likewise.
25241 (bootcheck-pc-chainloader): Likewise.
25242 (bootcheck-ntldr): Likewise.
25243 (CLEANFILES): Add new targets.
25244 (BOOTCHECKS): New variable.
25245 (.PHONY): Add bootchecks.
25246 (SUCCESSFUL_BOOT_STRING): New variable.
25247 (BOOTCHECK_TIMEOUT): Likewise.
25248 (bootcheck): New target
25249 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
25250 * configure.ac: Correct efiemu excuse.
25251 * docs/grub.texi (Supported kernels): New chapter.
25252 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
25253 include/grub/mm_private.h. Simplify inclusion of
25254 include/grub/boot.h, include/grub/loader.h
25255 and include/grub/msdos_partition.h
25256 (KERNEL_HEADER_FILES) [i386_coreboot]:
25257 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
25258 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
25259 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
25260 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
25261 include/grub/machine/loader.h.
25262 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
25263 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
25264 extra_dist.
25265 (pci.mod): Enable on i386-multiboot.
25266 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
25267 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
25268 i386-qemu.
25269 (relocator.mod): Rewritten.
25270 (aout.mod): Enable on all x86.
25271 (bsd.mod): Likewise.
25272 (ntldr.mod): New module.
25273 (linux.mod): Use loader/i386/linux.c on all x86.
25274 (xnu.mod): Enable on all x86.
25275 (vga_text.mod): disable on EFI and QEMU.
25276 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
25277 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
25278 * grub-core/efiemu/loadcore.c: Likewise.
25279 * grub-core/efiemu/main.c: Likewise.
25280 (grub_efiemu_exit_boot_services): Removed.
25281 (grub_efiemu_finish_boot_services): Likewise.
25282 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
25283 function.
25284 * grub-core/efiemu/i386/nocfgtables.c: New file.
25285 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
25286 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
25287 (grub_efi_finish_boot_services): Moved from here ...
25288 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
25289 Fille finish memory map and related data.
25290 (finish_mmap_buf): New variable.
25291 (grub_efi_uintn_t finish_mmap_size): Likewise.
25292 (grub_efi_uintn_t finish_key): Likewise.
25293 (grub_efi_uintn_t finish_desc_size): Likewise.
25294 (grub_efi_uint32_t finish_desc_version): Likewise.
25295 (grub_efi_is_finished): Likewise.
25296 (grub_efi_get_memory_map): Use saved memory map if EFI is already
25297 finished.
25298 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
25299 (grub_elf64_phdr_iterate): Likewise.
25300 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
25301 (grub_os_area_size): Likewise.
25302 (grub_machine_init): Don't reserve os area.
25303 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
25304 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
25305 * grub-core/kern/i386/loader.S: Removed.
25306 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
25307 (grub_os_area_size): Likewise.
25308 (grub_machine_init): Don't reserve os area.
25309 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
25310 Don't call grub_dl_unload_all.
25311 Don't include loader.S.
25312 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
25313 Declare the memory after _end as available.
25314 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
25315 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
25316 (GRUB_MM_ALLOC_MAGIC): Moved from here...
25317 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
25318 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
25319 * include/grub/mm_private.h (grub_mm_header): ... here.
25320 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
25321 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
25322 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
25323 (grub_mm_region): ..here. Removed addr. Added pre_size.
25324 All users updated.
25325 * grub-core/kern/mm.c (base): Renamed to ...
25326 (grub_mm_base): ... this. Made global.
25327 (grub_real_malloc): Alloc from end of region.
25328 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
25329 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
25330 * grub-core/kern/powerpc/cache_flush.S: ... here.
25331 * grub-core/lib/efi/relocator.c: New file.
25332 * grub-core/lib/i386/relocator.c: Rewritten.
25333 * grub-core/lib/i386/relocator16.S: New file.
25334 * grub-core/lib/i386/relocator32.S: Likewise.
25335 * grub-core/lib/i386/relocator64.S: Likewise.
25336 * grub-core/lib/i386/relocator_asm.S: Rewritten.
25337 * grub-core/lib/i386/relocator_common.S: New file.
25338 * grub-core/lib/ieee1275/relocator.c: Likewise.
25339 * grub-core/lib/mips/relocator.c: Rewritten.
25340 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
25341 stylistic adjustments.
25342 * grub-core/lib/powerpc/relocator.c: New file.
25343 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
25344 * grub-core/lib/relocator.c: Rewritten.
25345 * grub-core/lib/x86_64/relocator_asm.S: New file.
25346 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
25347 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
25348 (bsd_tag): New struct.
25349 (tags): New variable.
25350 (tags_last): Likewise.
25351 (netbsd_module): New struct.
25352 (netbsd_mods): New variable.
25353 (netbsd_mods_last): Likewise.
25354 (openbsd_opts): New parameter "serial".
25355 (OPENBSD_SERIAL_ARG): New definition.
25356 (netbsd_opts): New parameter "serial".
25357 (NETBSD_SERIAL_ARG): New definition.
25358 (grub_freebsd_add_meta): Reorganised into ...
25359 (grub_bsd_add_meta): ...this. All users updated.
25360 (grub_freebsd_add_mmap): Reorganised into ...
25361 (generate_e820_mmap): ...this...
25362 (grub_bsd_add_mmap): ...and this. All users updated.
25363 (grub_freebsd_list_modules): Use tags.
25364 (grub_netbsd_add_meta_module): New function.
25365 (grub_netbsd_list_modules): Likewise.
25366 (grub_freebsd_boot): Use relocator and finish EFI.
25367 (grub_openbsd_boot): Likewise.
25368 (grub_netbsd_setup_video): New function.
25369 (grub_netbsd_add_modules): Likewise.
25370 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25371 and finish EFI.
25372 (grub_bsd_unload): Unload tags.
25373 (grub_bsd_load_aout): Use relocator.
25374 (grub_bsd_elf32_size_hook): New function.
25375 (grub_bsd_elf32_hook): Use relocator.
25376 (grub_bsd_elf64_size_hook): New function.
25377 (grub_bsd_elf64_hook): Use relocator.
25378 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25379 (grub_bsd_load): Zero-out openbsd_ramdisk.
25380 (grub_bsd_load): Use relocator.
25381 (grub_cmd_openbsd): Support serial.
25382 (grub_cmd_netbsd): Support modules.
25383 (grub_cmd_freebsd_module): Use relocator.
25384 (grub_netbsd_module_load): New function.
25385 (grub_cmd_netbsd_module): Likewise.
25386 (grub_cmd_openbsd_ramdisk): Likewise.
25387 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25388 kopenbsd_ramdisk.
25389 (GRUB_MOD_FINI): Unregister new commands.
25390 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25391 (grub_freebsd_load_elfmodule_obj): Use relocator.
25392 (grub_freebsd_load_elfmodule): Likewise.
25393 (grub_freebsd_load_elf_meta): Likewise.
25394 (grub_netbsd_load_elf_meta): New function.
25395 (grub_openbsd_find_ramdisk): Likewise.
25396 * grub-core/loader/i386/bsd_helper.S: Removed.
25397 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25398 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25399 * grub-core/loader/i386/efi/linux.c: Likewise.
25400 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25401 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25402 (DEFAULT_VIDEO_MODE): Likewise.
25403 (real_mode_target): New variable.
25404 (prot_mode_target): Likewise.
25405 (initrd_mem_target): Likewise.
25406 (relocator): Likewise.
25407 (efi_mmap_buf): Likewise.
25408 (efi_mmap_size): Likewise.
25409 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25410 (free_pages): Use relocator.
25411 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25412 (grub_linux_setup_video): Return error.
25413 (grub_linux_trampoline_start): Removed.
25414 (grub_linux_trampoline_end): Likewise.
25415 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25416 andd video parameters depending on firmware.
25417 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25418 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25419 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25420 (grub_cmd_initrd): Use relocator.
25421 * grub-core/loader/i386/linux_trampoline.S: Removed.
25422 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25423 (elf_sec_entsize): Likewise.
25424 (elf_sec_shstrndx): Likewise.
25425 (elf_sections): Likewise.
25426 (grub_multiboot_load): Use relocator.
25427 (grub_multiboot_get_mbi_size): Account for sections.
25428 (grub_multiboot_make_mbi): Use relocator and support sections.
25429 (grub_multiboot_add_elfsyms): New function.
25430 (grub_multiboot_free_mbi): Free sections.
25431 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25432 (grub_linux_real_target): Likewise.
25433 (grub_linux_real_chunk): Likewise.
25434 (grub_linux16_prot_size): Likewise.
25435 (grub_linux16_boot): Use relocator.
25436 (grub_linux_unload): Unload relocator.
25437 (grub_cmd_linux): Use relocator.
25438 (grub_cmd_initrd): Likewise.
25439 * grub-core/loader/i386/pc/ntldr.c: New file.
25440 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25441 Don't try to guess CPU frequency.
25442 (grub_xnu_set_video): Stretch bitmap.
25443 (grub_xnu_boot): Use relocator.
25444 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25445 (grub_linux_unload): Free relocator.
25446 (grub_linux_load32): Use relocator.
25447 (grub_linux_load64): Likewise.
25448 (grub_cmd_initrd): Likewise.
25449 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25450 (grub_multiboot_unload): Unload relocator.
25451 (grub_cmd_multiboot): Use relocator.
25452 (grub_cmd_module): Likewise.
25453 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25454 Use relocator and support sections.
25455 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25456 (elf_sec_entsize): Likewise.
25457 (elf_sec_shstrndx): Likewise.
25458 (elf_sections): Likewise.
25459 (grub_multiboot_load): Use relocator.
25460 (grub_multiboot_get_mbi_size): Account for sections.
25461 (grub_multiboot_make_mbi): Use relocator and support sections.
25462 (grub_multiboot_add_elfsyms): New function.
25463 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25464 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25465 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25466 Prototype changed. All users updated.
25467 (grub_xnu_align_heap): Simplified.
25468 (grub_xnu_writetree_toheap): Likewise.
25469 (grub_xnu_unload): Unload relocator.
25470 (grub_cmd_xnu_kernel): Use relocator.
25471 (grub_cmd_xnu_kernel64): Likewise.
25472 (grub_xnu_register_memory): Simplified.
25473 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
25474 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25475 EFI is finished.
25476 (grub_console_checkkey): Likewise.
25477 (grub_console_getkey): Likewise.
25478 (grub_console_getwh): Likewise.
25479 (grub_console_getxy): Likewise.
25480 (grub_console_gotoxy): Likewise.
25481 (grub_console_cls): Likewise.
25482 (grub_console_setcolorstate): Likewise.
25483 (grub_console_setcursor): Likewise.
25484 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25485 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25486 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25487 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25488 * grub-core/tests/boot/kernel-8086.S: Likewise.
25489 * grub-core/tests/boot/kernel-i386.S: Likewise.
25490 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25491 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25492 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25493 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25494 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25495 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25496 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25497 * grub-core/tests/boot/linux.cfg: Likewise.
25498 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25499 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25500 * grub-core/tests/boot/linux16.cfg: Likewise.
25501 * grub-core/tests/boot/multiboot.cfg: Likewise.
25502 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25503 * grub-core/tests/boot/ntldr.cfg: Likewise.
25504 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25505 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25506 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25507 New definition.
25508 * include/grub/dl.h (grub_dl_unload_all): Removed.
25509 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25510 (grub_efi_finish_boot_services): Change prototype.
25511 (grub_efi_is_finished): New variable.
25512 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25513 Changed prototype.
25514 (grub_efiemu_finish_boot_services): Removed.
25515 (grub_machine_efiemu_init_tables): New prototype.
25516 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25517 (grub_elf64_phdr_iterate): Likewise.
25518 * include/grub/i386/bsd.h: Include relocator.h.
25519 (freebsd_tag_header): New struct.
25520 (grub_openbsd_bios_mmap): Removed.
25521 (grub_unix_real_boot): Removed.
25522 (grub_freebsd_load_elfmodule32): Changed prototype.
25523 (grub_freebsd_load_elfmodule_obj64): Likewise.
25524 (grub_freebsd_load_elf_meta32): Likewise.
25525 (grub_freebsd_load_elf_meta64): Likewise.
25526 (grub_freebsd_add_meta): Removed.
25527 (grub_netbsd_load_elf_meta32): New prototype.
25528 (grub_netbsd_load_elf_meta64): Likewise.
25529 (grub_bsd_add_meta): Likewise.
25530 (grub_openbsd_ramdisk_descriptor): New struct.
25531 (grub_openbsd_find_ramdisk32): New prototype.
25532 (grub_openbsd_find_ramdisk64): Likewise.
25533 * include/grub/i386/coreboot/loader.h: Removed.
25534 * include/grub/i386/efi/loader.h: Likewise.
25535 * include/grub/i386/ieee1275/loader.h: Likewise.
25536 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25537 to grub_uint32_t.
25538 * include/grub/i386/loader.h: Removed.
25539 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25540 value.
25541 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25542 (grub_phys_addr_t): New type.
25543 (grub_vtop): New inline function.
25544 (grub_map_memory): Likewise.
25545 (grub_unmap_memory): Likewise.
25546 * include/grub/i386/multiboot/loader.h: Removed.
25547 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25548 (NETBSD_BTINFO_CONSOLE): New definition.
25549 (NETBSD_BTINFO_SYMTAB): Likewise.
25550 (NETBSD_BTINFO_MODULES): Likewise.
25551 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25552 (grub_netbsd_bootinfo): New struct.
25553 (grub_netbsd_btinfo_common): Use explicit bitsize.
25554 (grub_netbsd_btinfo_mmap_entry): Removed.
25555 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25556 (grub_netbsd_btinfo_bootdisk): New struct.
25557 (grub_netbsd_btinfo_symtab): Likewise.
25558 (grub_netbsd_btinfo_serial): Likewise.
25559 (grub_netbsd_btinfo_modules): Likewise.
25560 (grub_netbsd_btinfo_framebuf): Likewise.
25561 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25562 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25563 Likewise.
25564 (grub_openbsd_bootargs): Use explicit bitsize.
25565 (grub_openbsd_bootarg_console): New struct.
25566 (GRUB_OPENBSD_COM_MAJOR): New definition.
25567 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25568 * include/grub/i386/pc/efiemu.h: Removed.
25569 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25570 * include/grub/i386/qemu/loader.h: Removed.
25571 * include/grub/i386/relocator.h: Rewritten.
25572 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25573 * include/grub/mips/memory.h: New file.
25574 * include/grub/mips/multiboot.h: Rewritten.
25575 * include/grub/mips/relocator.h: Rewritten.
25576 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25577 (grub_vtop): New function.
25578 (grub_map_memory): Likewise.
25579 (grub_unmap_memory): Likewise.
25580 * include/grub/misc.h (ALIGN_DOWN): New definition.
25581 * include/grub/mm.h (grub_mm_check_real): New proto.
25582 (GRUB_MM_CHECK): New definition.
25583 * include/grub/mm_private.h: New file.
25584 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25585 (grub_multiboot_get_mbi_size): Removed.
25586 (grub_multiboot_make_mbi): Change prottype.
25587 (grub_multiboot_set_accepts_video): New proto.
25588 (grub_multiboot_add_elfsyms): Likewise.
25589 (grub_multiboot_payload_eip): New variable.
25590 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25591 New prototype.
25592 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25593 New definition.
25594 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25595 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25596 * include/grub/powerpc/ieee1275/loader.h: Removed.
25597 * include/grub/powerpc/memory.h: New file.
25598 * include/grub/powerpc/relocator.h: Likewise.
25599 * include/grub/relocator.h: Likewise.
25600 * include/grub/relocator_private.h: Likewise.
25601 * include/grub/sparc64/ieee1275/loader.h: Removed.
25602 * include/grub/x86_64/memory.h: New file.
25603 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25604 (grub_xnu_heap_malloc): Likewise.
25605 (grub_xnu_heap_real_start): Removed.
25606 (grub_xnu_heap_start): Likewise.
25607 (grub_xnu_relocator): New variable.
25608 (grub_xnu_heap_target_start): Likewise.
25609 * tests/util/grub-shell.in: Support non-pc.
25610 * util/grub-mkimage.c (image_targets): Fix multiboot target.
25611
25612 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25613
25614 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25615 on malloc error.
25616 (grub_bidi_logical_to_visual): Check that malloc succeded.
25617 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25618 puts.
25619 (grub_xputs_normal): Likewise.
25620
25621 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25622
25623 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25624 extra_dist.
25625
25626 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25627
25628 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25629
25630 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25631
25632 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25633
25634 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25635
25636 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25637 dprintf.
25638
25639 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25640
25641 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25642
25643 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 * grub-core/normal/term.c (print_more): Fix a memory leak.
25646 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25647 (grub_xputs_normal): Likewise.
25648
25649 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25650
25651 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25652 the begining of the string
25653
25654 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25655
25656 * grub-core/script/script.c (grub_script_parse): Free parsed on
25657 failure.
25658
25659 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25660
25661 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25662 on failure.
25663
25664 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25665
25666 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25667 return.
25668
25669 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25670
25671 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25672 (scroll_up): Fix a memory leak.
25673
25674 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25675
25676 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25677 errors.
25678
25679 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25680
25681 Handle USB pendrives exposed as floppies.
25682
25683 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25684 floppy.
25685 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25686 Check for partitions on all devices.
25687
25688 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25689
25690 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25691 (readkey): Likewise.
25692
25693 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25694
25695 Multiple variable names support to "export" command.
25696
25697 * normal/context.c (grub_cmd_export): "export" command supports
25698 multiple variable names.
25699
25700 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25701
25702 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25703 --target=drive output to Mach device name.
25704
25705 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25706
25707 New Automake based build system for GRUB.
25708
25709 * ABOUT-NLS: New file.
25710 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25711 in Makefile.util.def file.
25712 * Makefile.util.def: New file. Autogen build definitions file for
25713 GRUB host utils.
25714 * conf/Makefile.common: New file. Common variables for GRUB host
25715 utils and target modules.
25716 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25717 * docs/Makefile.am: New file. Automake file for docs.
25718 * gentpl.py: New file. Python script to generate Autogen
25719 template.
25720 * grub-core/Makefile.am: New file. GRUB target modules' rules
25721 that doesn't fit in Makefile.core.def file.
25722 * grub-core/Makefile.core.def: New file. Autogen build
25723 definitions file for GRUB target modules.
25724 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25725 specific setjmp.S file.
25726 * po/Makefile.am: New file.
25727
25728 * .bzrignore: New ignores.
25729 * INSTALL: New requirements, without Ruby.
25730 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25731 * autogen.sh: Updated to invoke autogen as necessary.
25732 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25733 and defines for Automake conditionals.
25734 * geninit.sh: Refactoring.
25735
25736 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25737 necessary.
25738 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25739 New prototype.
25740
25741 * include/grub/test.h: Fix functional test modules' naming.
25742 * grub-core/tests/example_functional_test.c: Fix test module name.
25743
25744 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25745 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25746 * util/grub-editenv.c: Likewise.
25747 * util/grub-fstest.c: Likewise.
25748 * util/grub-mkdevicemap.c: Likewise.
25749 * util/grub-mkfont.c: Likewise.
25750 * util/grub-mkimage.c: Likewise.
25751 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25752 * util/grub-probe.c: Likewise.
25753 * util/grub-script-check.c: Likewise.
25754 * util/i386/pc/grub-setup.c: Likewise.
25755 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25756
25757 * tests/util/grub-shell.in: Fix override directory path.
25758 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25759 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25760
25761 * util/lvm.c: Update #includes.
25762 * util/raid.c: Likewise.
25763 * util/resolve.c: Likewise.
25764 * grub-core/bus/emu/pci.c: Likewise.
25765 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25766 * grub-core/lib/posix_wrap/string.h: Likewise.
25767 * grub-core/kern/emu/main.c: Likewise.
25768
25769 * grub-core/gensymlist.sh: New file. Script for generating kernel
25770 symbols file.
25771 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25772
25773 * grub-core/gentrigtables.c: Fix unused variable warnings.
25774
25775 * Makefile.in: Removed.
25776 * conf/any-emu.rmk: Removed.
25777 * conf/common.rmk: Removed.
25778 * conf/i386-coreboot.rmk: Removed.
25779 * conf/i386-efi.rmk: Removed.
25780 * conf/i386-ieee1275.rmk: Removed.
25781 * conf/i386-multiboot.rmk: Removed.
25782 * conf/i386-pc.rmk: Removed.
25783 * conf/i386-qemu.rmk: Removed.
25784 * conf/i386.rmk: Removed.
25785 * conf/mips-yeeloong.rmk: Removed.
25786 * conf/mips.rmk: Removed.
25787 * conf/powerpc-ieee1275.rmk: Removed.
25788 * conf/sparc64-ieee1275.rmk: Removed.
25789 * conf/tests.rmk: Removed.
25790 * conf/x86-efi.rmk: Removed.
25791 * conf/x86_64-efi.rmk: Removed.
25792 * gendistlist.sh: Removed.
25793 * geninitheader.sh: Removed.
25794 * genkernsyms.sh.in: Removed.
25795 * genmk.rb: Removed.
25796 * gensymlist.sh.in: Removed.
25797 * mkinstalldirs: Removed.
25798 * boot: Moved ...
25799 * grub-core/boot: ... to here.
25800 * bus: Moved ...
25801 * grub-core/bus: ... to here.
25802 * commands: Moved ...
25803 * grub-core/commands: ... to here.
25804 * disk: Moved ...
25805 * grub-core/disk: ... to here.
25806 * efiemu: Moved ...
25807 * grub-core/efiemu: ... to here.
25808 * font: Moved ...
25809 * grub-core/font: ... to here.
25810 * fs: Moved ...
25811 * grub-core/fs: ... to here.
25812 * gencmdlist.sh: Moved ...
25813 * grub-core/gencmdlist.sh: ... to here.
25814 * genemuinit.sh: Moved ...
25815 * grub-core/genemuinit.sh: ... to here.
25816 * genemuinitheader.sh: Moved ...
25817 * grub-core/genemuinitheader.sh: ... to here.
25818 * genfslist.sh: Moved ...
25819 * grub-core/genfslist.sh: ... to here.
25820 * genhandlerlist.sh: Moved ...
25821 * grub-core/genhandlerlist.sh: ... to here.
25822 * genmoddep.awk: Moved ...
25823 * grub-core/genmoddep.awk: ... to here.
25824 * genmodsrc.sh: Moved ...
25825 * grub-core/genmodsrc.sh: ... to here.
25826 * genpartmaplist.sh: Moved ...
25827 * grub-core/genpartmaplist.sh: ... to here.
25828 * genparttoollist.sh: Moved ...
25829 * grub-core/genparttoollist.sh: ... to here.
25830 * genterminallist.sh: Moved ...
25831 * grub-core/genterminallist.sh: ... to here.
25832 * gentrigtables.c: Moved ...
25833 * grub-core/gentrigtables.c: ... to here.
25834 * genvideolist.sh: Moved ...
25835 * grub-core/genvideolist.sh: ... to here.
25836 * gettext: Moved ...
25837 * grub-core/gettext: ... to here.
25838 * gfxmenu: Moved ...
25839 * grub-core/gfxmenu: ... to here.
25840 * gnulib: Moved ...
25841 * grub-core/gnulib: ... to here.
25842 * hello: Moved ...
25843 * grub-core/hello: ... to here.
25844 * hook: Moved ...
25845 * grub-core/hook: ... to here.
25846 * io: Moved ...
25847 * grub-core/io: ... to here.
25848 * kern: Moved ...
25849 * grub-core/kern: ... to here.
25850 * lib: Moved ...
25851 * grub-core/lib: ... to here.
25852 * loader: Moved ...
25853 * grub-core/loader: ... to here.
25854 * mmap: Moved ...
25855 * grub-core/mmap: ... to here.
25856 * normal: Moved ...
25857 * grub-core/normal: ... to here.
25858 * partmap: Moved ...
25859 * grub-core/partmap: ... to here.
25860 * parttool: Moved ...
25861 * grub-core/parttool: ... to here.
25862 * script: Moved ...
25863 * grub-core/script: ... to here.
25864 * term: Moved ...
25865 * grub-core/term: ... to here
25866 * tests/example_functional_test.c: Moved ...
25867 * grub-core/tests/example_functional_test.c: ... to here.
25868 * tests/lib/functional_test.c: Moved ...
25869 * grub-core/tests/lib/functional_test.c: ... to here.
25870 * tests/lib/test.c: Moved ...
25871 * grub-core/tests/lib/test.c: ... to here.
25872 * video: Moved ...
25873 * grub-core/video: ... to here.
25874
25875 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25876
25877 Replace --enable-grub-emu-modules with grub-emu-lite.
25878
25879 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25880 cache.S.
25881
25882 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25883 * kern/emu/full.c: New file. For grub-emu specific initialization.
25884 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25885 * kern/emu/main.c: Call initialization function grub_emu_init.
25886
25887 * Makefile.in: Include grub-emu-lite in install.
25888 * commands/parttool.c: Use grub_no_autoload to differentiate
25889 between grub-emu and grub-emu-lite.
25890 * include/grub/misc.h: New variable grub_no_autoload.
25891
25892 * conf/any-emu.rmk: New rules for grub-emu-lite.
25893 * configure.ac: Remove --enable-grub-emu-modules.
25894 * genmk.rb: Cleanup unnecessary rules.
25895 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25896
25897 * normal/main.c: Don't load list files on grub-emu-lite.
25898 * util/misc.c (grub_arch_sync_caches): Removed.
25899
25900 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
25901
25902 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25903 grub-mkimage rather than grub-mkelfimage.
25904 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25905
25906 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25907
25908 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25909 a key after CapsLock or NumLock. It's just a qemu bug.
25910
25911 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25912
25913 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25914 needed by libusb wrapper.
25915
25916 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25917
25918 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25919
25920 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25921
25922 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25923 --nounzip is passed.
25924
25925 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25926
25927 USB hotunplugging and USB serial support.
25928
25929 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25930 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25931 (grub_uhci_transfer): Respect timeout and set *actual.
25932 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25933 non-standard length.
25934 (grub_usb_device_attach): Autoload modules.
25935 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25936 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25937 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25938 users updated.
25939 (grub_usb_add_hub): Fill nports and children.
25940 (attach_root_port): Receive hub instead of controller.
25941 All users updated. Fill hub->devices.
25942 (grub_usb_root_hub): Allocate hub->devices.
25943 (detach_device): New function.
25944 (poll_nonroot_hub): Fill children and detach devices.
25945 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25946 actual arguments. All users updated.
25947 (grub_usb_bulk_read_extended): New function.
25948 * bus/usb/serial/common.c: New file.
25949 * bus/usb/serial/ftdi.c: Likewise.
25950 * bus/usb/serial/pl2303.c: Likewise.
25951 * commands/terminal.c (handle_command): Support wildcard.
25952 * commands/usbtest.c: Output "Unknown" instead of empty string.
25953 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25954 (usbserial_common_mod_SOURCES): New variable.
25955 (usbserial_common_mod_CFLAGS): Likewise.
25956 (usbserial_common_mod_LDFLAGS): Likewise.
25957 (pkglib_MODULES): Add usbserial_pl2303.mod.
25958 (usbserial_pl2303_mod_SOURCES): New variable.
25959 (usbserial_pl2303_mod_CFLAGS): Likewise.
25960 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25961 (pkglib_MODULES): Add usbserial_ftdi.mod.
25962 (usbserial_ftdi_mod_SOURCES): New variable.
25963 (usbserial_ftdi_mod_CFLAGS): Likewise.
25964 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25965 (pkglib_MODULES): Add serial.mod.
25966 (serial_mod_SOURCES): New variable.
25967 (serial_mod_CFLAGS): Likewise.
25968 (serial_mod_LDFLAGS): Likewise.
25969 * conf/i386-pc.rmk: Likewise.
25970 * conf/mips-yeeloong.rmk: Likewise.
25971 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25972 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25973 * disk/usbms.c (first_available_slot): New variable.
25974 (grub_usbms_attach): Don't reuse free slots due to potential cache
25975 problems.
25976 * include/grub/serial.h: Moved to ..
25977 * include/grub/ns8250.h: ...this.
25978 * include/grub/serial.h: New file.
25979 * include/grub/term.h (grub_term_poll_usb): New variable.
25980 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25981 readkey. All users updated.
25982 (grub_terminfo_output_state): Pass term to put.
25983 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25984 (grub_usb_controller_dev): Add timeout and actual arguments to
25985 transfer. All users updated.
25986 (grub_usb_interface): New field detach_data.
25987 (grub_usb_device): New fields children and nports.
25988 (grub_usb_ep_type_t): New type.
25989 (grub_usb_get_ep_type): New function.
25990 (grub_usb_bulk_read_extended): Likewise.
25991 * include/grub/usbdesc.h (grub_usb_desc): New type.
25992 * include/grub/usbserial.h: New file.
25993 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25994 * kern/term.c (grub_term_poll_usb): New variable.
25995 (grub_getkey): Call grub_term_poll_usb if set.
25996 (grub_checkkey): Likewise.
25997 (grub_getkeystatus): Likewise.
25998 * term/serial.c: Moved controller-specific parts to ...
25999 * term/ns8250.c: ... here.
26000 * term/serial.c: Mostly rewritten.
26001 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
26002 according to spec.
26003
26004 2010-08-20 Robert Millan <rmh@gnu.org>
26005
26006 Make kFreeBSD code more generic to support ext2fs as root, ufs as
26007 a separate module and maybe other interesting combinations.
26008
26009 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
26010 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
26011 (kfreebsd_entry): Add generic filesystem module load routine.
26012 Map GRUB `ext2' to kFreeBSD `ext2fs'.
26013
26014 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
26015
26016 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
26017 "numcenter" (I misunderstood the purpose of this entry).
26018 * docs/grub.texi (sendkey): Likewise.
26019
26020 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
26021
26022 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
26023 status flag options; simply omitting the option is equivalent and
26024 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
26025 (keysym_table): Rename "num5numlock" to "numlock".
26026 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
26027 can uniformly say that only the last of multiple `sendkey'
26028 invocations has any effect.
26029 * docs/grub.texi (sendkey): New section.
26030
26031 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
26032
26033 * commands/i386/pc/sendkey.c (options): Fix three typos.
26034
26035 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
26036
26037 Implement sendkey support.
26038
26039 * commands/i386/pc/sendkey.c: New file.
26040 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
26041 (sendkey_mod_SOURCES): New variable.
26042 (sendkey_mod_CFLAGS): Likewise.
26043 (sendkey_mod_LDFLAGS): Likewise.
26044
26045 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
26046
26047 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
26048 fix warnings from Autoconf.
26049
26050 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
26051
26052 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
26053 to avoid false positives with some assemblers that output things
26054 like "someprefix_func" as part of their output.
26055
26056 2010-08-15 Robert Millan <rmh@gnu.org>
26057
26058 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
26059 errors.
26060 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
26061 grub_get_libzfs_handle() errors.
26062
26063 2010-08-14 Robert Millan <rmh@gnu.org>
26064
26065 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
26066 filesystem is not ZFS.
26067
26068 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26069
26070 Fix for misspelled color names defaulting to black/black (bug
26071 reported by Doug Nazar)
26072
26073 * include/grub/normal.h (grub_parse_color_name_pair): Add return
26074 status to prototype.
26075 * normal/color.c (grub_parse_color_name_pair): Return failure
26076 status.
26077 (grub_env_write_color_normal): Ignore bad color names.
26078 (grub_env_write_color_highlight): Likewise.
26079 * normal/main.c (GRUB_MOD_INIT): Set default color names.
26080
26081 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26082
26083 "shift" command support to GRUB script.
26084
26085 * include/grub/script_sh.h (grub_script_shift): New prototype.
26086 * script/execute.c (grub_script_shift): New function.
26087 * script/main.c (grub_script_init): Register shift command.
26088 (grub_script_fini): Unregister shift command.
26089 * util/grub-script-check.c (grub_script_cmd_shift): New function.
26090
26091 * tests/grub_script_shift.in: New testcase.
26092 * conf/tests.rmk: Rules for new testcase.
26093
26094 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26095
26096 "continue" command support to GRUB script.
26097
26098 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
26099 (grub_script_break): Continue support.
26100 * script/main.c (grub_script_init): Register continue command.
26101 (grub_script_fini): Unregister continue command.
26102
26103 * tests/grub_script_continue.in: New testcase.
26104 * conf/tests.rmk: Rules for new testcase.
26105
26106 2010-08-12 BVK Chaitanya <bvk@dbook>
26107
26108 "break" command support to GRUB script.
26109
26110 * conf/common.rmk: Rule updates to grub-script-check.
26111 * include/grub/misc.h (grub_min): New function.
26112 * include/grub/script_sh.h (grub_script_init): New prototype.
26113 (grub_script_fini): New prototype.
26114 (grub_script_break): New prototype.
26115 * script/main.c (grub_script_init): New function.
26116 (grub_script_fini): New function.
26117 * script/execute.c (grub_script_break): New function.
26118 * normal/main.c: Calls to grub_script_{init,fini}.
26119 * util/grub-script-check.c (grub_script_break): New function.
26120
26121 * tests/grub_script_break.in: New testcase.
26122 * conf/tests.rmk: Rules for new test case.
26123
26124 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26125
26126 Function parameters support to GRUB script.
26127
26128 * script/yylex.l (VARIABLE): Regular expression update.
26129 * script/function.c (grub_script_function_call): Moved ...
26130 * script/execute.c (grub_script_function_call): ... to here.
26131 (grub_script_execute_arglist_to_argv): Removed.
26132 (grub_script_arglist_to_argv): New function.
26133 * script/argv.c: New file.
26134 (grub_script_argv_free): New function.
26135 (grub_script_argv_next): Likewise.
26136 (grub_script_argv_append): Likewise.
26137 (grub_script_argv_split_append): Likewise.
26138 * include/grub/script_sh.h (grub_script_argv): New struct.
26139 (grub_script_argv_free): New function.
26140 (grub_script_argv_next): Likewise.
26141 (grub_script_argv_append): Likewise.
26142 (grub_script_argv_split_append): Likewise.
26143
26144 * conf/common.rmk (normal.mod): New source script/argv.c.
26145
26146 * tests/grub_script_echo1.in: More tests.
26147 * tests/grub_script_vars1.in: Likewise.
26148 * tests/grub_script_functions.in: New test case.
26149 * conf/tests.rmk: Rules for new testcase.
26150
26151 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26152
26153 Remove grub_script_cmdblock struct.
26154
26155 * include/grub/script_sh.h: Remove grub_script_cmdblock.
26156 * script/parser.y: Likewise.
26157 * script/execute.c: Rename cmdblock suffix to cmdlist.
26158 * script/script.c: Likewise.
26159 * util/grub-script-check.c: Likewise.
26160
26161 2010-08-11 Yves Blusseau <blusseau@zetam.org>
26162
26163 * .bzrignore: add grub-macho2img
26164
26165 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
26166
26167 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
26168
26169 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
26170
26171 Remove the dump of sm712 initialisation sequence.
26172
26173 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
26174 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
26175 (GRUB_VGA_IO_MISC_WRITE): Likewise.
26176 (GRUB_VGA_CR_*): Added many registers.
26177 (GRUB_VGA_SR_*): Likewise.
26178 (GRUB_VGA_GR_*): Likewise.
26179 (grub_vga_write_arx): New function.
26180 (grub_video_hw_config): New struct.
26181 (grub_vga_set_geometry): New function.
26182 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
26183 GRUB_PCI_CLASS_SUBCLASS_VGA.
26184 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
26185 * video/sm712.c (grub_sm712_write_reg): New function
26186 (grub_sm712_read_reg): Likewise.
26187 (grub_sm712_sr_write): Likewise.
26188 (grub_sm712_gr_write): Likewise.
26189 (grub_sm712_cr_write): Likewise.
26190 (grub_sm712_write_arx): Likewise.
26191 (grub_sm712_cr_shadow_write): Likewise.
26192 (grub_sm712_write_dda_lookup): Likewise.
26193 (grub_video_sm712_setup): Initialise the video rather then
26194 blindly replay the dump.
26195 (main) [TEST]: Add a routine to be able to compile as standalone for
26196 tests.
26197 * video/sm712_init.c (sm712_init): Removed.
26198 (sm712_sr_seq1): New array.
26199 (sm712_sr_seq2): Likewise.
26200
26201 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
26202
26203 * include/grub/vga.h: Add missing grub/pci.h include.
26204
26205 2010-08-10 Yves Blusseau <blusseau@zetam.org>
26206
26207 * util/grub-macho2img.c (main): fix typo
26208
26209 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
26210
26211 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
26212 (grub_vga_gr_read): Likewise.
26213 (grub_vga_cr_write): Likewise.
26214 (grub_vga_cr_read): Likewise.
26215 (grub_vga_sr_write): Likewise.
26216 (grub_vga_sr_read): Likewise.
26217 (grub_vga_palette_read): Likewise.
26218 (grub_vga_palette_write): Likewise.
26219 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
26220 (grub_sm712_sr_read): New function.
26221 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
26222 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
26223
26224 2010-08-09 Robert Millan <rmh@gnu.org>
26225
26226 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
26227 out unused variables on non-ZFS build.
26228
26229 2010-08-08 Robert Millan <rmh@gnu.org>
26230
26231 Fix path generation for sub-filesystems in ZFS.
26232
26233 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
26234 missing slash.
26235
26236 2010-08-08 Robert Millan <rmh@gnu.org>
26237
26238 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
26239
26240 2010-08-08 Robert Millan <rmh@gnu.org>
26241
26242 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
26243 exist, issue a proper error message (rely on `ls' for translated
26244 strings).
26245
26246 2010-08-08 Robert Millan <rmh@gnu.org>
26247
26248 Fix grub-probe invocation.
26249
26250 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
26251
26252 2010-08-04 Robert Millan <rmh@gnu.org>
26253
26254 * configure.ac: Remove checks for getfsstat() and getmntany().
26255 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
26256 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
26257 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
26258 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
26259 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
26260 function.
26261 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
26262 via find_mount_point_from_dir() and getfsstat() / getmntany().
26263
26264 2010-08-04 Robert Millan <rmh@gnu.org>
26265
26266 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26267 (grub_find_zpool_from_mount_point): Merge into ...
26268 (grub_find_zpool_from_dir): ... this.
26269 * kern/emu/misc.c: Likewise.
26270
26271 * kern/emu/misc.c
26272 (grub_make_system_path_relative_to_its_root): Replace
26273 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
26274 with grub_find_zpool_from_dir().
26275 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
26276
26277 2010-08-04 Robert Millan <rmh@gnu.org>
26278
26279 Support OpenSolaris in ZFS device resolution.
26280
26281 * configure.ac: Check for getmntany().
26282 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
26283 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
26284 support.
26285
26286 2010-08-03 Robert Millan <rmh@gnu.org>
26287
26288 Fix grub-emu build.
26289
26290 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
26291 * include/grub/emu/misc.h: ... here.
26292
26293 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
26294 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
26295
26296 * util/misc.c: Remove `<grub/util/libzfs.h>'.
26297 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
26298 (grub_get_libzfs_handle): Move to ...
26299 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
26300 (grub_get_libzfs_handle): ... here.
26301
26302 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
26303
26304 * script/execute.c (grub_script_execute_cmdline): Check for NULL
26305 as command name case.
26306
26307 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
26308
26309 * disk/raid.c (insert_array): Select unique numbers for named arrays
26310 as well, for use as keys in the disk cache.
26311
26312 2010-08-01 Robert Millan <rmh@gnu.org>
26313
26314 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
26315 kFreeBSD device name, except on ZFS where the filesystem label is
26316 used.
26317 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
26318 `/boot/zfs/zpool.cache'.
26319 Set mountfrom kernel variable using ${kfreebsd_device}.
26320
26321 2010-08-01 Robert Millan <rmh@gnu.org>
26322
26323 Make it even harder to use uninitialized `libzfs_handle' (and
26324 make the interface a bit simpler).
26325
26326 * include/grub/util/misc.h (grub_util_init_libzfs)
26327 (libzfs_handle): Remove.
26328 (grub_get_libzfs_handle): New prototype.
26329
26330 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
26331 attribute.
26332 (grub_util_init_libzfs): Remove.
26333 (grub_get_libzfs_handle): New function.
26334
26335 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
26336 grub_get_libzfs_handle() to obtain a libzfs handle instead of
26337 accessing `libzfs_handle' directly.
26338
26339 2010-08-01 Robert Millan <rmh@gnu.org>
26340
26341 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26342 (grub_find_zpool_from_mount_point): New function prototypes.
26343
26344 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26345 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26346
26347 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26348 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26349 `static' attribute.
26350
26351 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26352 finding zpool from mount point into ...
26353 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26354
26355 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26356 requested path is part of a ZFS pool, use
26357 grub_find_zpool_from_mount_point() to detect its filesystem name,
26358 and generate a path with `/fsname@path' syntax.
26359
26360 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26361
26362 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26363 (void) rather than () so that this is a proper prototype.
26364
26365 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26366
26367 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26368
26369 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26370
26371 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26372 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26373
26374 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26375
26376 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26377
26378 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26379
26380 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26381
26382 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26383
26384 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26385 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26386 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26387 disable gfxpayload.
26388 (Shell-like scripting): Add real content.
26389 (Serial terminal): Suggest `terminal_input serial; terminal_output
26390 serial' rather than putting the two commands on separate lines,
26391 since console input will be inoperative after the first command.
26392 (menuentry): Document --class, --users, and --hotkey options.
26393 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26394 Vladimir Serbinenko).
26395
26396 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26397 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26398
26399 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26400
26401 2010-08-01 Robert Millan <rmh@gnu.org>
26402
26403 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26404 (grub_find_zpool_from_mount_point): New function prototypes.
26405
26406 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26407 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26408
26409 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26410 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26411 `static' attribute.
26412
26413 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26414 finding zpool from mount point into ...
26415 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26416
26417 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26418 requested path is part of a ZFS pool, use
26419 grub_find_zpool_from_mount_point() to detect its filesystem name,
26420 and generate a path with `/fsname@path' syntax.
26421
26422 2010-08-01 Robert Millan <rmh@gnu.org>
26423
26424 Prevent accidental use of uninitialized libzfs_handle.
26425
26426 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26427 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26428 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26429
26430 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26431
26432 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26433 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26434
26435 2010-08-01 Robert Millan <rmh@gnu.org>
26436
26437 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
26438
26439 2010-07-31 Robert Millan <rmh@gnu.org>
26440
26441 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26442
26443 2010-07-31 Robert Millan <rmh@gnu.org>
26444
26445 * kern/emu/misc.c: Add missing license header.
26446
26447 2010-07-31 Robert Millan <rmh@gnu.org>
26448
26449 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26450
26451 * include/grub/util/libnvpair.h: Include `<config.h>'.
26452 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26453 declaring libnvpair prototypes ourselves.
26454 * include/grub/util/libzfs.h: Include `<config.h>'.
26455 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26456 declaring libzfs prototypes ourselves.
26457
26458 (libzfs_handle): Moved to ...
26459 * include/grub/util/misc.h (libzfs_handle): ... here.
26460 Include `<grub/util/libzfs.h>'.
26461
26462 2010-07-30 Robert Millan <rmh@gnu.org>
26463
26464 * include/grub/emu/misc.h: Add missing license header.
26465
26466 2010-07-30 Robert Millan <rmh@gnu.org>
26467
26468 Enable `grub-probe -t device' resolution on ZFS.
26469
26470 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26471 * include/grub/util/libnvpair.h: New file.
26472 * include/grub/util/libzfs.h: New file.
26473
26474 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26475 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26476 `<grub/util/libnvpair.h>'.
26477 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26478
26479 (find_mount_point_from_dir): New static function.
26480 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26481 function.
26482 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26483 find_root_device_from_libzfs() before ressorting to find_root_device().
26484
26485 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26486 prototype.
26487 * util/misc.c: Include `<grub/util/libzfs.h>'.
26488 (grub_util_init_libzfs): New function.
26489 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26490 [HAVE_LIBZFS] (fini_libzfs): New static function.
26491 (grub_util_init_libzfs): New function.
26492 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26493
26494 2010-07-30 Robert Millan <rmh@gnu.org>
26495
26496 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26497 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26498 `warn_unused_result' attribute.
26499 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26500 (grub_xasprintf, grub_xvasprintf): Likewise.
26501 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26502
26503 2010-07-29 Robert Millan <rmh@gnu.org>
26504
26505 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26506 (probe): Handle `PRINT_FS_LABEL'.
26507 (main): Handle `-t fs_label'.
26508
26509 2010-07-29 Robert Millan <rmh@gnu.org>
26510
26511 * configure.ac: Remove grub-mkisofs checks.
26512
26513 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26514
26515 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26516 Reported by: Lennart Sorensen.
26517
26518 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26519
26520 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26521 prior to terminal_input/terminal_output separation. It's been over 1.5
26522 years and those versions weren't widely deployed.
26523
26524 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
26525
26526 * disk/raid.c (insert_array): Don't count named arrays when looking
26527 for unused array numbers.
26528 Reported and tested by: Michael Guntsche.
26529
26530 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26531
26532 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26533 implementation of this so that grub-emu links again, with a note
26534 that this should support hotplugging in the future.
26535
26536 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26537
26538 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26539
26540 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26541
26542 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26543 handle on failure.
26544 (grub_loopback_close): Remove empty function.
26545 (grub_loopback_dev): Remove close method.
26546
26547 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26548
26549 Disable EFI cursor when the EFI console becomes inactive.
26550
26551 * term/efi/console.c (grub_efi_console_init): New function.
26552 (grub_efi_console_fini): New function.
26553 (grub_console_term_output): Register init and fini methods.
26554
26555 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26556
26557 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26558 sh script.
26559
26560 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26561
26562 * disk/loopback.c (grub_loopback): Replace filename with file.
26563 (delete_loopback): Handle new semantics.
26564 (grub_cmd_loopback): Likewise.
26565 (grub_loopback_iterate): Likewise.
26566 (grub_loopback_close): Likewise.
26567
26568 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26571 with -p "".
26572 Reported by: Tito Keitel.
26573
26574 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26575
26576 * docs/grub.texi (Naming convention): Document new naming convention.
26577
26578 2010-07-20 Vadim Solomin <vadic052@gmail.com>
26579 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26580
26581 Generate device.map in something closer to the old ordering.
26582
26583 * util/deviceiter.c (struct device): New declaration.
26584 (compare_file_names): Rename to ...
26585 (compare_devices): ... this. Sort by kernel name in preference to
26586 the stable by-id name, but keep the latter as a fallback comparison.
26587 Update header comment.
26588 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26589 of `struct device' rather than of plain file names.
26590
26591 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26592
26593 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26594 on i386.
26595
26596 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26599 hardcoding size.
26600 (setv1table): Likewise.
26601
26602 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26603
26604 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26605 removing the homehost if present.
26606 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26607 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26608 removing the homehost if present.
26609 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26610 if possible.
26611 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26612
26613 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26614 parameter. Set its pointer target to 0.
26615 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26616 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26617 `data_offset' value from the superblock for 1.x metadata.
26618 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26619 data on the device.
26620 (insert_array): Record the start sector of data on the device.
26621 (grub_raid_register): Pass start_sector parameters to
26622 grub_raid_list->detect and insert_array.
26623 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26624 member.
26625 (struct grub_raid): Add start_sector parameter to `detect'.
26626
26627 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26628 __attribute__ ((packed)), leaving a comment.
26629 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26630 (grub_mdraid_detect_09): ... here and ...
26631 (grub_mdraid_detect_1x): ... here.
26632
26633 2010-07-20 Peter Henn <peter.henn@web.de>
26634
26635 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26636 chunk size and disk size, which are already given as sector counts
26637 as distinct from the 0.90 units. Fetch the correct device number
26638 from the role table instead of using the table index.
26639
26640 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
26641
26642 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26643 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26644 (WriteMostly1): New macro.
26645 Set array->name to NULL for metadata format 0.90. Add support for
26646 metadata 1.x. Fix some comments.
26647 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26648 few comments.
26649 * util/getroot.c (grub_util_get_grub_dev): Add support for
26650 /dev/md/name style devices.
26651
26652 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26653
26654 * .bzrignore: Ignore 20_linux_xen.
26655
26656 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
26657
26658 * util/import_unicode.py: Remove unnecessary imports.
26659
26660 2010-07-17 Aleš Nesrsta <starous@volny.cz>
26661
26662 Hotplugging and USB hub support.
26663
26664 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26665 (grub_ohci): Likewise.
26666 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26667 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26668 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26669 (GRUB_OHCI_CTRL_EDS): Likewise.
26670 (GRUB_OHCI_BULK_EDS): Likewise.
26671 (GRUB_OHCI_TDS): Likewise.
26672 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26673 (grub_ohci_ed_phys2virt): New function.
26674 (grub_ohci_virt_to_phys): Likewise.
26675 (grub_ohci_td_phys2virt): Likewise.
26676 (grub_ohci_td_virt2phys): Likewise.
26677 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26678 attachment.
26679 (grub_ohci_find_ed): New function.
26680 (grub_ohci_alloc_td): Likewise.
26681 (grub_ohci_free_td): Likewise.
26682 (grub_ohci_free_tds): Likewise.
26683 (grub_ohci_transfer): Use previously allocated memory.
26684 (grub_ohci_portstatus): Reset status changed bit.
26685 (grub_ohci_detect_dev): Supply status changed.
26686 (grub_ohci_fini_hw): Free memory.
26687 (grub_ohci_restore_hw): Reallocate memory.
26688 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26689 Reset status change.
26690 (grub_uhci_detect_dev): Supply status_change.
26691 * bus/usb/usb.c (attach_hooks): New var.
26692 (grub_usb_device_attach): New function.
26693 (grub_usb_register_attach_hook_class): Likewise.
26694 (grub_usb_unregister_attach_hook_class): Likewise.
26695 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26696 (grub_usb_add_hub): Reset connection changed bit.
26697 (attach_root_port): New function.
26698 (grub_usb_root_hub): Likewise.
26699 (poll_nonroot_hub): Likewise.
26700 (grub_usb_poll_devices): Likewise.
26701 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26702 * disk/usbms.c (grub_usbms_open): Use device hooks.
26703 (grub_usbms_iterate) :Poll devices.
26704 (grub_usbms_finddevs): Split into ...
26705 (grub_usbms_attach): ... this ...
26706 (grub_usbms_attach): ... and this.
26707 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26708 in detect_dev.
26709 (grub_usb_interface): New fields attached and detach_hook.
26710 (grub_usb_attach_hook_class): New type.
26711 (grub_usb_attach_desc): New struct.
26712 (grub_usb_register_attach_hook_class): New function.
26713 (grub_usb_unregister_attach_hook_class): Likewise.
26714 (grub_usb_poll_devices): Likewise.
26715 (grub_usb_device_attach): Likewise.
26716 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26717 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26718
26719 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26720
26721 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26722 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26723 delta determination style. Works with most NetBSD partitions too.
26724
26725 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26726
26727 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26728 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26729
26730 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26731
26732 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26733
26734 2010-07-14 Anton Blanchard <anton@samba.org>
26735
26736 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26737 ET_DYN files.
26738
26739 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26740
26741 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26742
26743 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26744
26745 * kern/partition.c (grub_partition_check_containment): New function to
26746 check that a partition is physically contained in a parent. Since
26747 offsets are relative (and non-negative), this reduces to checking that
26748 the partition ends before its parent.
26749 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26750 (grub_partition_iterate): Likewise.
26751 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26752 comments.
26753 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26754 partitions that start before their parent, and add debug printfs.
26755
26756 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26757
26758 * Makefile.in (.SUFFIX): Spell correctly, as ...
26759 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26760 bare module name without `.mod', e.g. `test') tried to invoke a
26761 Modula-2 compiler.
26762
26763 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26764
26765 * README: Point to the Info manual.
26766
26767 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
26768
26769 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26770 2nd superblock position from partition size.
26771
26772 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
26773
26774 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26775 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26776 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26777 outputs.
26778
26779 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26780
26781 Restructure SCSI .id handling.
26782 Reported and tested by: Aleš Nesrsta.
26783
26784 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26785 (grub_atapi_dev): Changed .name to "ata". New field .id.
26786 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26787 (grub_usbms_dev): New field .id.
26788 * disk/scsi.c (grub_scsi_iterate): Generate name.
26789 (grub_scsi_open): Parse name.
26790 * include/grub/scsi.h (grub_make_scsi_id): New function.
26791 (grub_scsi_dev): Change iterate and open to number instead of naming
26792 busses. All users updated.
26793 (grub_scsi): Remove name. Add .bus.
26794
26795 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26796
26797 * commands/help.c (grub_cmd_help): Fix a typo.
26798
26799 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26800
26801 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26802 Reported and tested by: Colin Watson.
26803
26804 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26805
26806 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26807 in this context.
26808
26809 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26810
26811 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26812
26813 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
26814
26815 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26816 indentation.
26817
26818 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26819
26820 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26821 and disk/raid6_recover.c.
26822 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26823 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26824
26825 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26826
26827 * term/gfxterm.c (repaint_schedulded): Rename to ...
26828 (repaint_scheduled): ... this. Update all callers.
26829 (repaint_was_schedulded): Rename to ...
26830 (repaint_was_scheduled): ... this. Update all callers.
26831
26832 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26833
26834 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26835 which we expect to be handled by upper layers.
26836
26837 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26838
26839 * bus/usb/usbhub.c: #include time.h header.
26840
26841 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26842
26843 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26844 entry_name also for entries without stat blocks (e.g. ".."); fixes
26845 corruption of the first entry in a directory.
26846
26847 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26848
26849 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26850 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26851 doesn't work otherwise.
26852
26853 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26854
26855 * docs/grub.texi (Features): Update list of supported file systems.
26856 (GNU/Linux): Update for GRUB 2.
26857 (Serial terminal): Remove mention of --disable-serial, which was a
26858 GRUB Legacy configure option. Update instructions to use
26859 `terminal_input' and `terminal_output' rather than `terminal'.
26860 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26861 configuration' and `Installing GRUB using grub-install'.
26862 (Menu entry editor): Update for GRUB 2.
26863 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26864 Document new -a, -u, and -v options.
26865 (initrd): New section.
26866 (initrd16): New section.
26867 (linux): New section.
26868 (linux16): New section.
26869 (search): The `var' argument to `--set' is optional.
26870 (GRUB only offers a rescue shell): Go into a little more detail on
26871 drive ordering.
26872
26873 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26874
26875 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26876
26877 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26878
26879 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26880 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26881
26882 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26883
26884 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26885 install_prefix, in line with install_dos_part and install_bsd_part.
26886 Add new prefix variable, which is copied to install_prefix after
26887 comparing core.img in memory with the one read from disk in the
26888 no-embedding case, and use that rather than overwriting
26889 install_prefix immediately when installing to a partition.
26890 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26891 Bicakci.
26892
26893 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26894
26895 * configure.ac: Avoid == in test command, it's not portable.
26896 * util/grub.d/30_os-prober.in: Likewise.
26897
26898 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
26899
26900 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26901
26902 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26903
26904 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26905 multiple (top-level) partmaps.
26906
26907 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26908
26909 * util/i386/efi/grub-install.in: Don't use empty grub_device.
26910 Reported by: Tino Keitel.
26911
26912 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26913
26914 Bidi and diacritics support.
26915
26916 * Makefile.in (widthspec.bin): New target.
26917 (widthspec.h): Likewise.
26918 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26919 * autogen.sh: Generate unidata.c.
26920 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26921 * commands/ls.c (grub_ls_list_devices): Likewise.
26922 (grub_ls_list_files): Likewise.
26923 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26924 (grub_mini_cmd_lsmod): Likewise.
26925 * commands/read.c: Likewise.
26926 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26927 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26928 * lib/arg.c (grub_arg_show_help): Likewise.
26929 * lib/crypto.c (grub_password_get): Likewise.
26930 * normal/auth.c (grub_username_get): Likewise.
26931 * normal/misc.c (grub_normal_print_device_info): Likewise.
26932 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26933 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26934 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26935 (normal/charset.c_DEPENDENCIES): New variable.
26936 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26937 (pkglib_MODULES): Remove charset.mod.
26938 (charset_mod_SOURCES): Removed.
26939 (charset_mod_CFLAGS): Likewise.
26940 (charset_mod_LDFLAGS): Likewise.
26941 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26942 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26943 and term/tparm.c.
26944 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26945 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26946 (kernel_img_HEADERS): Add terminfo.h.
26947 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26948 Fill ->font. Reverse ascii bitmaps.
26949 (grub_font_get_xheight): New function.
26950 * font/font.c (grub_font_get_string_width): Moved from here ...
26951 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26952 * font/font.c (grub_font_draw_string): Moved from here ...
26953 * gfxmenu/font.c (grub_font_draw_string): ... here.
26954 * font/font.c (grub_font_dup_glyph): New function.
26955 (grub_font_blit_glyph): Likewise.
26956 (grub_font_blit_glyph_mirror): Likewise.
26957 (blit_comb): Likewise.
26958 (grub_font_construct_dry_run): Likewise.
26959 (grub_font_get_constructed_device_width): Likewise.
26960 (grub_font_construct_glyph): Likewise.
26961 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26962 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26963 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26964 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26965 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26966 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26967 (grub_font_get_xheight): New proto.
26968 (grub_font_get_constructed_device_width): Likewise.
26969 (grub_font_construct_glyph): Likewise.
26970 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26971 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26972 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26973 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26974 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26975 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26976 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26977 (grub_console_getcharwidth): Likewise.
26978 * include/grub/misc.h (grub_xputs): New proto.
26979 (grub_puts): Inlined.
26980 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26981 (grub_normal_get_line_counter): Removed.
26982 (grub_install_newline_hook): Likewise.
26983 (grub_normal_get_char_counter): New proto.
26984 (grub_normal_reset_more): Likewise.
26985 (grub_xputs_normal): Likewise.
26986 * include/grub/powerpc/ieee1275/console.h: Removed.
26987 * include/grub/sparc64/ieee1275/console.h: Likewise.
26988 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26989 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26990 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26991 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26992 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26993 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26994 (grub_term_input): Pass reference to self. All users updated.
26995 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26996 Pass reference to self. New fields normal_color, highlight_color and
26997 data. All users updated.
26998 (grub_putchar): Removed.
26999 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
27000 (grub_unicode_estimate_width): New function.
27001 (grub_term_getcharwidth): Add defaults.
27002 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
27003 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
27004 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
27005 (grub_cls): Remove EXPORT_FUNC.
27006 (grub_setcolorstate): Inline.
27007 (grub_newline_hook): Removed.
27008 * include/grub/terminfo.h: Rewritten. All users updated.
27009 * include/grub/unicode.h: New file.
27010 * include/grub/video.h (grub_video_signed_rect): New type.
27011 * kern/emu/console.c (grub_console_highlight_color): Removed.
27012 (grub_console_normal_color): Likewise.
27013 (grub_console_standard_color): Made static.
27014 (grub_ncurses_putchar): Remove mapping.
27015 (grub_ncurses_getcharwidth): Removed.
27016 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
27017 (grub_ncurses_setcolor): Removed.
27018 (grub_ncurses_getcolor): Likewise.
27019 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
27020 (grub_console_putchar): ... this.
27021 (grub_console_putchar): Handle argument difference.
27022 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
27023 console_init_early and console_init_lately.
27024 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
27025 * kern/misc.c (grub_puts): Removed.
27026 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
27027 (grub_vsnprintf_real): Remove str = NULL support.
27028 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
27029 * normal/charset.c (grub_utf8_to_ucs4): ... here.
27030 * kern/term.c (grub_putcode): Renamed to ...
27031 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
27032 (grub_putchar): Removed.
27033 (grub_xputs_dumb): New function.
27034 (grub_xputs): New variable.
27035 * lib/charset.c: Move from here ...
27036 * normal/charset.c: ... to here.
27037 (grub_ucs4_to_utf8): New function.
27038 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
27039 (join_types): New variable.
27040 (unpack_join): New function.
27041 (bidi_types): New variable.
27042 (unpack_bidi): New function.
27043 (get_bidi_type): Likewise.
27044 (get_join_type): Likewise.
27045 (is_mirrored): Likewise.
27046 (grub_unicode_get_comb_type): Likewise.
27047 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
27048 (is_type_after): Likewise.
27049 (grub_unicode_aglomerate_comb): Likewise.
27050 (bidi_line_wrap): Likewise.
27051 (grub_bidi_line_logical_to_visual): Likewise.
27052 (grub_bidi_logical_to_visual): Likewise.
27053 (grub_unicode_mirror_code): Likewise.
27054 (grub_unicode_shape_code): Likewise.
27055 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
27056 Don't use grub_putchar.
27057 * normal/main.c (grub_normal_init_page): Use grub_putcode.
27058 (grub_normal_reader_init): Likewise.
27059 (grub_xputs_saved): New variable.
27060 (GRUB_MOD_INIT): Set grub_xputs.
27061 (GRUB_MOD_FINI): Restore grub_xputs.
27062 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
27063 (menu_init): Avoid printing gfxmenu error.
27064 (show_menu): Use grub_normal_get_char_counter.
27065 * normal/menu_entry.c (update_screen): Fix out-of-array.
27066 (complete): Avoid NULL dereferencing.
27067 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
27068 * normal/menu_text.c (print_spaces): Removed.
27069 (grub_print_ucs4): Likewise.
27070 (grub_print_message_indented): Use grub_print_ucs4.
27071 (print_message): Use grub_putcode.
27072 (print_entry): Hanlde diacritics.
27073 * normal/term.c (term_state): New type.
27074 (grub_more_lines): Removed.
27075 (term_states): New variable.
27076 (grub_normal_line_counter): Renamed to ..
27077 (grub_normal_char_counter): ...this. All users updated.
27078 (grub_normal_get_line_counter): Renamed to ...
27079 (grub_normal_get_char_counter): ... this.
27080 (grub_normal_reset_more): New function.
27081 (process_newline): Removed.
27082 (print_more): New function.
27083 (grub_install_newline_hook): Removed.
27084 (map_code): New function.
27085 (grub_puts_terminal): Use grub_print_ucs4.
27086 (putglyph): New function.
27087 (putcode_real): Likewise.
27088 (grub_putcode): Use putcode_real.
27089 (get_maxwidth): New function.
27090 (get_startwidth): Likewise.
27091 (print_ucs4_terminal): Likewise.
27092 (find_term_state): Likewise.
27093 (put_glyphs_terminal): Likewise.
27094 (print_backlog): Likewise.
27095 (print_ucs4_real): Likewise.
27096 (grub_print_ucs4): Likewise.
27097 (grub_xputs_normal): Likewise.
27098 * term/efi/console.c (grub_console_putchar): Output diacritics.
27099 (grub_console_getcharwidth): Removed.
27100 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
27101 * term/gfxterm.c (clear_char): Free chars.
27102 (scroll_up): Avoid leaking memory.
27103 (grub_gfxterm_putchar): Support diacritics.
27104 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
27105 * term/i386/pc/console.c (grub_console_term_output): Declare as
27106 GRUB_TERM_CODE_TYPE_VGA.
27107 * term/i386/pc/vga.c (grub_vga_term): Declare as
27108 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
27109 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
27110 GRUB_TERM_CODE_TYPE_VGA.
27111 * term/i386/vga_common.c (map_char): Removed.
27112 (grub_console_putchar): Likewise.
27113 (grub_console_getcharwidth): Likewise.
27114 * term/ieee1275/ofconsole.c: Simplify using terminfo.
27115 (colors): Reordered to match terminfo.
27116 (grub_ofconsole_normal_color): Removed.
27117 (grub_ofconsole_writeesc): Likewise.
27118 (grub_ofconsole_highlight_color): Likewise.
27119 (grub_ofconsole_getcharwidth): Likewise.
27120 (grub_ofconsole_setcolorstate): Likewise.
27121 (grub_ofconsole_setcolor): Likewise.
27122 (grub_ofconsole_getcolor): Likewise.
27123 (grub_ofconsole_readkey): Renamed to ...
27124 (readkey): ... this. Remove escape sequence handling. Return -1 on no
27125 key.
27126 (grub_ofconsole_checkkey): Removed.
27127 (grub_ofconsole_getkey): Likewise.
27128 (grub_ofconsole_getxy): Likewise.
27129 (grub_ofconsole_gotoxy): Likewise.
27130 (grub_ofconsole_cls): Likewise.
27131 (grub_ofconsole_refresh): Likewise.
27132 (grub_ofconsole_terminfo_input): New struct.
27133 (grub_ofconsole_terminfo_output): Likewise.
27134 (grub_ofconsole_term_input): Use terminfo.
27135 (grub_ofconsole_term_output): Likewise.
27136 (grub_console_init): Split into ...
27137 (grub_console_init_early): ...this and ...
27138 (grub_console_init_lately): ...this. Use terminfo.
27139 (grub_ofconsole_putchar): Renamed to ...
27140 (put): ... this. Remove mapping.
27141 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
27142 * term/serial.c: Simplify using terminfo.
27143 (xpos): Removed.
27144 (ypos): Likewise.
27145 (keep_track): Likewise.
27146 (registered): Likewise.
27147 (input_buf): Likewise.
27148 (npending): Likewise.
27149 (serial_translate_key_sequence): Likewise.
27150 (fill_input_buf): Likewise.
27151 (grub_serial_checkkey): Likewise.
27152 (grub_serial_getkey): Likewise.
27153 (grub_serial_getxy): Likewise.
27154 (grub_serial_gotoxy): Likewise.
27155 (grub_serial_putchar): Likewise.
27156 (grub_serial_cls): Likewise.
27157 (grub_serial_setcolorstate): Likewise.
27158 (grub_serial_setcursor): Likewise.
27159 (serial_hw_init): Use serial_hw_fetch.
27160 (grub_serial_terminfo_input): New variable.
27161 (grub_serial_terminfo_output): Likewise.
27162 (grub_serial_term_input): Use terminfo.
27163 (grub_serial_term_output): Likewise.
27164 * term/terminfo.c (putstr): Use put.
27165 (grub_terminfo_all_free): New function
27166 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
27167 (grub_terminfo_output_register): New function.
27168 (grub_terminfo_output_unregister): Likewise.
27169 (grub_terminfo_getxy): Likewise.
27170 (grub_terminfo_readkey): Likewise.
27171 (grub_terminfo_checkkey): Likewise.
27172 (grub_terminfo_getkey): Likewise.
27173 (grub_terminfo_input_init): Likewise.
27174 (print_terminfo): Likewise.
27175 (grub_cmd_terminfo): Handle encoding.
27176 (grub_terminfo_gotoxy): Track position.
27177 (grub_terminfo_cls): Likewise.
27178 (grub_terminfo_putchar): Likewise.
27179 (grub_terminfo_setcolorstate): Handle colors
27180 (grub_terminfo_cursor_on): This ...
27181 (grub_terminfo_cursor_off): ... and this merged into ...
27182 (grub_terminfo_setcursor): ... this.
27183 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
27184 * unicode/ArabicShaping.txt: New file (imported from Unicode).
27185 * unicode/BidiMirroring.txt: Likewise.
27186 * unicode/UnicodeData.txt: Likewise.
27187 * unicode/COPYING: Likewise.
27188 * util/grub-editenv.c (grub_putchar): Removed.
27189 (grub_xputs_real): New function.
27190 (grub_xputs): New variable.
27191 * util/grub-fstest.c (grub_putchar): Removed.
27192 (grub_xputs_real): New function.
27193 (grub_xputs): New variable.
27194 * util/grub-mkdevicemap.c (grub_putchar): Removed.
27195 (grub_xputs_real): New function.
27196 (grub_xputs): New variable.
27197 * util/grub-probe.c (grub_putchar): Removed.
27198 (grub_xputs_real): New function.
27199 (grub_xputs): New variable.
27200 * util/grub-script-check.c (grub_putchar): Removed.
27201 (grub_xputs_real): New function.
27202 (grub_xputs): New variable.
27203 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
27204 (grub_xputs_real): New function.
27205 (grub_xputs): New variable.
27206 * util/import_unicode.py: New file.
27207 * util/grub-mkfont.c (ft_errmsgs): New array.
27208 (grub_glyph_info): Make bitmap a pointer.
27209 (file_formats): New type WIDTH_SPEC.
27210 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
27211 (options): Add width-spec.
27212 (help): Likewise.
27213 (add_char): Renamed to ...
27214 (add_glyph): ... this.
27215 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
27216 (glyph_replace): New type.
27217 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
27218 (add_char): New function.
27219 (add_subst): Likewise.
27220 (process_cursive): Likewise.
27221 (add_font): Handle GSUB.
27222 (write_font_width_spec): New function.
27223 (main): Sort glyphs.
27224 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
27225 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
27226 * kern/term.c (grub_cls): Moved from here...
27227 * normal/term.c (grub_cls): ... here.
27228
27229 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27230
27231 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
27232 suitable for using within the format argument of printf when
27233 converting grub_size_t.
27234 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
27235 "x" to convert grub_size_t arguments.
27236
27237 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27238
27239 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
27240 too long captions.
27241 (list_get_minimal_size): Take selection box into account.
27242
27243 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27244
27245 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
27246 NULL font.
27247
27248 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27249
27250 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
27251 devices when iterating over /dev/disk/by-id; they will be handled
27252 later if appropriate, which they aren't always (e.g. LVM).
27253
27254 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27255
27256 * include/grub/misc.h (grub_reboot): Declare as noreturn.
27257 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
27258 fails.
27259 (grub_halt): Likewise.
27260 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
27261 reset-all fails.
27262 (grub_halt): Don't return, even if all of shut-down, power-off, and
27263 poweroff fail.
27264
27265 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27266
27267 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
27268 arguments, not three.
27269
27270 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27271
27272 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
27273 * util/grub.d/10_linux.in: Use it to check for LVM, so that
27274 LVM-on-RAID is handled correctly.
27275
27276 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27277
27278 * docs/grub.texi (Changes from GRUB Legacy): New section.
27279 (Future): Fix typo.
27280
27281 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27282
27283 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
27284 grub.d/README accidentally ends up executable for one reason or
27285 another. Ignore it.
27286
27287 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27288
27289 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
27290 (gpt_partition_map_iterate): Support non-512B sectors.
27291
27292 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27293
27294 * kern/efi/init.c (grub_efi_init): Disable watchdog.
27295 Tested by: Seth Goldberg.
27296
27297 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27298
27299 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
27300 Properly align mbi.
27301 Reported by: Seth Goldberg.
27302
27303 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27304
27305 * util/grub-mkrescue.in: Avoid module duplication.
27306
27307 2010-07-01 Sean Finney <seanius@seanius.net>
27308
27309 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
27310
27311 2010-07-01 Sean Finney <seanius@seanius.net>
27312
27313 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
27314
27315 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27316
27317 * disk/lvm.c (grub_lvm_checkvalue): New function.
27318 (grub_lvm_check_flag): Likewise.
27319
27320 2010-07-01 Robert Millan <rmh@gnu.org>
27321
27322 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
27323 Support 'p' as partition separator on kernel of FreeBSD (used
27324 with GPT labels).
27325 (grub_util_biosdisk_get_grub_dev): Likewise.
27326
27327 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27328
27329 Yeeloong firmware port.
27330
27331 * boot/mips/yeeloong/fwstart.S: New file.
27332 * bus/cs5536.c (gpiodump): New const.
27333 (set_io_space): New function.
27334 (set_iod): Likewise.
27335 (set_p2d): Likewise.
27336 (grub_cs5536_init_geode): Likewise.
27337 * commands/mips/yeeloong/lsspd.c: New file.
27338 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
27339 (serial_mod_SOURCES): New variable.
27340 (serial_mod_CFLAGS): Likewise.
27341 (serial_mod_LDFLAGS): Likewise.
27342 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
27343 term/terminfo.c and term/tparm.c.
27344 (pkglib_IMAGES): Add fwstart.img.
27345 (fwstart_img_SOURCES): New variable.
27346 (fwstart_img_CFLAGS): Likewise.
27347 (fwstart_img_ASFLAGS): Likewise.
27348 (fwstart_img_LDFLAGS): Likewise.
27349 (fwstart_img_FORMAT): Likewise.
27350 (pkglib_MODULES): Add lsspd.mod.
27351 (lsspd_mod_SOURCES): New variable.
27352 (lsspd_mod_CFLAGS): Likewise.
27353 (lsspd_mod_LDFLAGS): Likewise.
27354 (pkglib_MODULES): Add halt.mod.
27355 (halt_mod_SOURCES): New variable.
27356 (halt_mod_CFLAGS): Likewise.
27357 (halt_mod_LDFLAGS): Likewise.
27358 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27359 (serial_mod_SOURCES): Removed.
27360 (serial_mod_CFLAGS): Likewise.
27361 (serial_mod_LDFLAGS): Likewise.
27362 * disk/ata.c (check_device): New function.
27363 (grub_ata_device_initialize): Use check_device.
27364 (grub_ata_iterate): Recheck devices.
27365 (grub_ata_open): Likewise.
27366 (grub_atapi_iterate): Likewise.
27367 (grub_atapi_open): Likewise.
27368 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27369 (GRUB_ATA_CH1_PORT1): Likewise.
27370 (GRUB_ATA_CH0_PORT2): Likewise.
27371 (GRUB_ATA_CH1_PORT2): Likewise.
27372 * include/grub/mips/loongson.h: New file.
27373 * include/grub/mips/yeeloong/ec.h: Likewise.
27374 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27375 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27376 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27377 * include/grub/misc.h (grub_halt): Declare as noreturn.
27378 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27379 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27380 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27381 (UART_ENABLE_DTRRTS): Likewise.
27382 (UART_ENABLE_MODEM): Removed.
27383 (UART_ENABLE_OUT2): New const.
27384 * include/grub/term.h (grub_term_register_input_active): New function.
27385 (grub_term_register_output_active): Likewise.
27386 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27387 argument.
27388 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27389 (init_pci): New function.
27390 (grub_machine_init): Execute platform init when firmware. Init serial.
27391 (grub_halt): Implement.
27392 (grub_exit): Likewise.
27393 (grub_reboot): Likewise.
27394 * term/serial.c (serial_hw_init): Update macros.
27395 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27396 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27397 (image_targets): New target mipsel-yeeloong-flash.
27398 (generate_image): Support IMAGE_YEELOONG_FLASH.
27399 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27400 (grub_video_sm712_setup): Init card.
27401 (grub_video_sm712_set_palette): Removed.
27402 * video/sm712_init.c: New file.
27403
27404 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
27405
27406 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27407 PATH when running help2man and then run it on the unadorned
27408 executable names, rather than passing $(builddir)/* paths to
27409 help2man. This avoids the build directory ending up in generated
27410 manual pages.
27411
27412 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27413
27414 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27415 to avoid accidents when debugging with 'sh -x'.
27416 * util/grub-mkrescue.in: Likewise.
27417 * util/grub.d/00_header.in: Likewise.
27418 * util/grub.d/10_hurd.in: Likewise.
27419 * util/grub.d/10_kfreebsd.in: Likewise.
27420 * util/grub.d/10_linux.in: Likewise.
27421 * util/grub.d/10_netbsd.in: Likewise.
27422 * util/grub.d/10_windows.in: Likewise.
27423 * util/grub.d/20_linux_xen.in: Likewise.
27424 * util/grub.d/30_os-prober.in: Likewise.
27425 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27426
27427 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27428
27429 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27430 last character in the buffer.
27431 Reported by: Vladimir Serbinenko.
27432
27433 2010-06-29 Robert Millan <rmh@gnu.org>
27434
27435 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27436 (Command-line and menu entry commands): Document `badram' command.
27437
27438 2010-06-28 Robert Millan <rmh@gnu.org>
27439
27440 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27441 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27442 command using ${GRUB_BADRAM} as parameter.
27443
27444 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27445
27446 * docs/grub.texi (Device map): New section.
27447 (Themes): New section (stub).
27448 * Makefile.in (docs/grub.info): The info documentation now builds
27449 without errors. Make sure it stays that way.
27450
27451 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27452
27453 Use normal parser for menu entries.
27454 Reported by: Thomas Frauendorfer
27455
27456 * include/grub/parser.h (grub_parser_execute): Don't export.
27457 * normal/menu.c (grub_menu_execute_entry_real): New function.
27458 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27459
27460 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27461
27462 * docs/grub.texi (Embedded configuration): New section (replacing
27463 old "Preset Menu" stub).
27464 (Images): New section.
27465 (configfile): Note that any menu entries defined in `file' are shown
27466 immediately.
27467
27468 2010-06-28 Josh Triplett <josh@joshtriplett.org>
27469
27470 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27471
27472 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27473
27474 * util/grub-install.in: Add --debug-image= option.
27475
27476 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27477
27478 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27479 possible on Linux.
27480
27481 * util/deviceiter.c (check_device): Rename to ...
27482 (check_device_readable_unique): ... this. Update all callers.
27483 Maintain and check a list of which devices (by canonicalized name)
27484 have already been seen.
27485 (clear_seen_devices): New function.
27486 (compare_file_names) [__linux__]: New function.
27487 (grub_util_iterate_devices): Clear the list of seen devices on exit
27488 and (just in case) on entry.
27489 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27490 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27491 seen-devices list, superseded by general code in check_device.
27492
27493 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27494
27495 * commands/cat.c (options): New variable.
27496 (grub_cmd_cat): Parse options. If the --dos option is given, print
27497 DOS-style "\r\n" line endings as simple newlines (Debian bug
27498 #586358).
27499 (GRUB_MOD_INIT): Use extcmd.
27500 (GRUB_MOD_FINI): Likewise.
27501 * docs/grub.texi (cat): Document --dos.
27502
27503 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27504
27505 XEN with Linux grub-mkconfig support.
27506
27507 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27508 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27509 GRUB_CMDLINE_XEN_DEFAULT.
27510 * util/grub.d/20_linux_xen.in: New file.
27511
27512 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27513
27514 Initialise VGA video on qemu ourselves.
27515
27516 * boot/i386/qemu/boot.S: Don't call 0xc000.
27517 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27518 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27519 (kernel_img_HEADERS): Add pci.h.
27520 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27521 * configure.ac: Force unifont on qemu and yeeloong.
27522 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27523 (grub_vga_palette_write): Use correct register.
27524 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27525 Call grub_qemu_init_cirrus.
27526 * kern/i386/qemu/init.c: New file.
27527 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27528
27529 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27530
27531 2010-06-26 Pavel Roskin <proski@gnu.org>
27532
27533 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27534 13.
27535
27536 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27537
27538 * docs/grub.texi (Simple configuration): Explain that
27539 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27540 set to `true' to disable their respective recovery entries, not
27541 merely set.
27542
27543 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27544
27545 Make the `source' command slightly faster.
27546
27547 * normal/main.c (grub_normal_execute): Don't re-read list files when
27548 nested.
27549
27550 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27551
27552 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27553 field position and mask size to red fields from mode_info, not
27554 green.
27555 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27556 Remove redundant tag->common.framebuffer_type assignment.
27557 Reported by: Seth Goldberg.
27558
27559 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27560
27561 Sync up other versions of the Linux loader with Robert Millan's
27562 change of 2010-01-09, "Make loader output a bit more user-friendly".
27563
27564 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27565 grub_dprintf().
27566 (grub_cmd_linux): Likewise.
27567 (grub_cmd_initrd): Likewise.
27568 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27569 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27570
27571 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
27572
27573 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27574 larger than MEMORY_MAP_SIZE.
27575
27576 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27577
27578 Fix parallel build.
27579
27580 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27581 dependency.
27582 * script/parser.y: #include grub_script.tab.h header.
27583
27584 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27585
27586 Support >3GiB and <16MiB RAM in i386-qemu.
27587
27588 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27589 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27590 (grub_lower_mem): Removed.
27591 (grub_upper_mem): Likewise.
27592 (mem_size): Made static.
27593 (above_4g): New variable.
27594 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27595 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27596 support.
27597
27598 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27599
27600 Cirrus 5446 and Bochs video cards support.
27601
27602 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27603 video_bochs.mod
27604 (video_cirrus_mod_SOURCES): New variable.
27605 (video_cirrus_mod_CFLAGS): Likewise.
27606 (video_cirrus_mod_LDFLAGS): Likewise.
27607 (video_bochs_mod_SOURCES): Likewise.
27608 (video_bochs_mod_CFLAGS): Likewise.
27609 (video_bochs_mod_LDFLAGS): Likewise.
27610 * include/grub/vga.h: New file.
27611 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27612 (grub_video_fb_set_page_t): New type.
27613 (grub_video_fb_setup): New prototype.
27614 (grub_video_fb_swap_buffers): Likewise.
27615 (grub_video_fb_get_info_and_fini): Likewise.
27616 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27617 (CRTC_DATA_PORT): Likewise.
27618 (CRTC_CURSOR): Likewise.
27619 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27620 (CRTC_CURSOR_ADDR_LOW): Likewise.
27621 (CRTC_CURSOR_DISABLE): Likewise.
27622 (update_cursor): Use grub_vga_cr_write.
27623 (grub_vga_text_setcursor): Likewise.
27624 * video/bochs.c: New file.
27625 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27626 (palette): Likewise.
27627 (palette_size): Likewise.
27628 (framebuffer): New variable.
27629 (grub_video_fb_init): Use 'framebuffer'.
27630 (grub_video_fb_fini): Likewise.
27631 (grub_video_fb_get_info): Likewise.
27632 (grub_video_fb_get_palette): Likewise.
27633 (grub_video_fb_set_palette): Likewise.
27634 (grub_video_fb_set_viewport): Likewise.
27635 (grub_video_fb_get_viewport): Likewise.
27636 (grub_video_fb_map_color): Likewise.
27637 (grub_video_fb_map_rgb): Likewise.
27638 (grub_video_fb_map_rgba): Likewise.
27639 (grub_video_fb_unmap_color): Likewise.
27640 (grub_video_fb_unmap_color_int): Likewise.
27641 (grub_video_fb_fill_rect): Likewise.
27642 (grub_video_fb_blit_bitmap): Likewise.
27643 (grub_video_fb_blit_render_target): Likewise.
27644 (grub_video_fb_scroll): Likewise.
27645 (grub_video_fb_create_render_target): Likewise.
27646 (grub_video_fb_doublebuf_blit_init): Likewise.
27647 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27648 (doublebuf_pageflipping_update_screen): New function.
27649 (doublebuf_pageflipping_init): Likewise.
27650 (grub_video_fb_setup): Likewise.
27651 (grub_video_fb_swap_buffers): Likewise.
27652 (grub_video_fb_get_info_and_fini): Likewise.
27653 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27654 All users updated.
27655 (doublebuf_pageflipping_commit): Restructured into ...
27656 (doublebuf_pageflipping_set_page): ... this.
27657 (doublebuf_pageflipping_update_screen): Removed.
27658 (doublebuf_pageflipping_init): Likewise.
27659 (double_buffering_init): Likewise.
27660 (grub_video_vbe_setup): Use grub_video_fb_setup.
27661 (grub_video_vbe_swap_buffers): Removed.
27662 (grub_video_vbe_set_active_render_target): Likewise.
27663 (grub_video_vbe_get_active_render_target): Likewise.
27664 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27665 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27666 grub_video_fb_set_active_render_target and
27667 grub_video_fb_get_active_render_target.
27668 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27669 (SEQUENCER_DATA_PORT): Likewise.
27670 (MAP_MASK_REGISTER): Likewise.
27671 (CRTC_ADDR_PORT): Likewise.
27672 (CRTC_DATA_PORT): Likewise.
27673 (START_ADDR_HIGH_REGISTER): Likewise.
27674 (START_ADDR_LOW_REGISTER): Likewise.
27675 (GRAPHICS_ADDR_PORT): Likewise.
27676 (GRAPHICS_DATA_PORT): Likewise.
27677 (READ_MAP_REGISTER): Likewise.
27678 (INPUT_STATUS1_REGISTER): Likewise.
27679 (INPUT_STATUS1_VERTR_BIT): Likewise.
27680 (get_map_mask): Use grub_vga_sr_read.
27681 (set_map_mask): Use grub_vga_sr_write.
27682 (set_read_map): Use grub_vga_gr_write.
27683 (set_start_address): Use grub_vga_cr_write.
27684 * video/sm712.c (framebuffer): Remove leftover fields.
27685
27686 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
27687
27688 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27689 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27690 instead. Replace the gfxterm backend check with a check that
27691 ${GRUB_PREFIX}/video.lst is non-empty.
27692 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27693 again.
27694 (load_video): New generated function. Call it before loading
27695 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27696 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27697 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27698 * docs/grub.texi (Simple configuration): Document
27699 GRUB_VIDEO_BACKEND.
27700
27701 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27702
27703 Use video functions in linux and xnu loaders.
27704
27705 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27706 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27707 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27708 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27709 loader/i386/pc/linux.c.
27710 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27711 (find_line_len): Removed.
27712 (find_framebuf): Likewise.
27713 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27714 * loader/i386/efi/xnu.c: Removed.
27715 * loader/i386/pc/xnu.c: Moved from here...
27716 * loader/i386/xnu.c: ...here.
27717
27718 Enable priorities in video drivers.
27719
27720 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27721 (grub_video_adapter): New field prio.
27722 (grub_video_register): Respect prio when inserting.
27723 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27724 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27725 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27726 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27727 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27728 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27729 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27730
27731 Fix SDL driver ID.
27732
27733 * include/grub/video.h (grub_video_driver_id_t): New value
27734 GRUB_VIDEO_DRIVER_SDL.
27735 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27736
27737 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27738
27739 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27740 argument to printf.
27741 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27742
27743 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27744
27745 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27746 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27747
27748 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27749
27750 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27751 directly, and recommend grub-install instead.
27752 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27753
27754 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27755
27756 Fix i386-pc prefix handling with nested partitions (Debian bug
27757 #585068). Note that the case where the core image is booted using
27758 multiboot and relocated from its original location still requires
27759 more work.
27760
27761 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27762 with "(,", fill the boot drive in between those two characters, but
27763 expect that a full partition specification including partition map
27764 names will follow.
27765 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27766 specified, write a prefix without the drive name but including a
27767 full partition specification.
27768
27769 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
27770
27771 * util/grub-mkconfig.in: Ignore non-option arguments, for
27772 compatibility with older versions (before 2010-06-12) which did the
27773 same. In particular, this makes it easier to ship an update-grub
27774 wrapper which is compatible with that used with GRUB Legacy (Debian
27775 bug #586056).
27776
27777 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27778
27779 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27780 for manual page generation.
27781
27782 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27783
27784 * po/POTFILES: Remove leftover commands/handler.c.
27785
27786 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27787
27788 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27789 left this script non-functional.
27790
27791 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27792
27793 * docs/man/grub-emu.h2m: New file.
27794
27795 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
27796
27797 * docs/grub.texi (Commands): Document reduced command set in rescue
27798 mode.
27799 (cpuid): New section.
27800
27801 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27802
27803 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27804 new partition naming style.
27805 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27806
27807 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27808
27809 Add "-o grub.iso" like cmdline options support.
27810
27811 * util/grub-install.in: Improve cmdline option parsing.
27812 * util/grub-mkconfig.in: Likewise.
27813 * util/grub-mkrescue.in: Likewise.
27814 * util/grub-reboot.in: Likewise.
27815 * util/grub-set-default.in: Likewise.
27816 * util/i386/efi/grub-install.in: Likewise.
27817 * util/ieee1275/grub-install.in: Likewise.
27818 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27819
27820 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27821
27822 * .bzrignore: Ignore 41_custom.
27823
27824 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27825
27826 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27827
27828 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27829
27830 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27831 prototype declarations.
27832
27833 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27834 generating fs, partmap, and video lists.
27835 * include/grub/fs.h (grub_fs_register): Omit prototype if
27836 GRUB_LST_GENERATOR is defined.
27837 * include/grub/partition.h (grub_partition_map_register): Likewise.
27838 * include/grub/video.h (grub_video_register): Likewise.
27839
27840 2010-06-12 Javier Martín <lordhabbit@gmail.com>
27841
27842 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27843
27844 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27845
27846 * util/grub-mkrescue.in: Support --xorriso argument.
27847
27848 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27849
27850 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27851 Suggested by: Thomas Schmitt.
27852
27853 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27854
27855 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27856 Suggested by: Thomas Schmitt.
27857
27858 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27859
27860 custom.cfg support.
27861
27862 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27863 * util/grub.d/41_custom.in: New file.
27864
27865 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27866
27867 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27868 been merged back into normal.
27869
27870 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27871
27872 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27873 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27874
27875 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27876
27877 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27878 when generating manual pages.
27879 * docs/man/grub-bin2h.h2m: New file.
27880 * docs/man/grub-editenv.h2m: New file.
27881 * docs/man/grub-fstest.h2m: New file.
27882 * docs/man/grub-install.h2m: New file.
27883 * docs/man/grub-macho2img.h2m: New file.
27884 * docs/man/grub-mkconfig.h2m: New file.
27885 * docs/man/grub-mkdevicemap.h2m: New file.
27886 * docs/man/grub-mkfont.h2m: New file.
27887 * docs/man/grub-mkimage.h2m: New file.
27888 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27889 * docs/man/grub-mkrelpath.h2m: New file.
27890 * docs/man/grub-mkrescue.h2m: New file.
27891 * docs/man/grub-ofpathname.h2m: New file.
27892 * docs/man/grub-pe2elf.h2m: New file.
27893 * docs/man/grub-probe.h2m: New file.
27894 * docs/man/grub-reboot.h2m: New file.
27895 * docs/man/grub-script-check.h2m: New file.
27896 * docs/man/grub-set-default.h2m: New file.
27897 * docs/man/grub-setup.h2m: New file.
27898
27899 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27900
27901 Use FOR_* macros instead of *_iterate whenever possible.
27902
27903 * commands/handler.c: Removed.
27904 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27905 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27906 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27907 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27908 (grub_probe_SOURCES): Remove kern/parser.c.
27909 (util/grub-script-check.c_DEPENDENCIES): Removed.
27910 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27911 and grub_script_check_init.c.
27912 (grub_script_check_init.lst): Removed.
27913 (grub_script_check_init.h): Likewise.
27914 (grub_script_check_init.c): Likewise.
27915 (pkglib_MODULES): Remove handler.mod and sh.mod.
27916 (handler_mod_SOURCES): Removed.
27917 (handler_mod_CFLAGS): Likewise.
27918 (handler_mod_LDFLAGS): Likewise.
27919 (normal_mod_SOURCES): Remove normal/handler.c.
27920 Add script/main.c, script/script.c, script/execute.c,
27921 script/function.c, script/lexer.c, grub_script.tab.c
27922 and grub_script.yy.c.
27923 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27924 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27925 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27926 (grub_setup_SOURCES): Remove kern/parser.c.
27927 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27928 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27929 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27930 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27931 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27932 (grub_setup_SOURCES): Remove kern/parser.c.
27933 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27934 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27935 * include/grub/command.h (grub_command_iterate): Removed.
27936 (FOR_COMMANDS): New macro.
27937 * include/grub/dl.h (grub_dl): New member next.
27938 (grub_dl_iterate): Removed.
27939 (grub_dl_head): New variable declaration.
27940 (FOR_DL_MODULES): New macro.
27941 * include/grub/fs.h: Include list.h.
27942 (grub_fs): Make next first element.
27943 (grub_fs_list): New variable declaration.
27944 (grub_fs_register): Make inline.
27945 (grub_fs_unregister): Likewise.
27946 (grub_fs_iterate): Removed.
27947 (FOR_FILESYSTEMS): New macro.
27948 * include/grub/handler.h: Removed.
27949 * include/grub/list.h (grub_list_hook_t): Removed.
27950 (grub_list_test_t): Likewise.
27951 (grub_list_pop): Likewise.
27952 (grub_list_iterate): Likewise.
27953 (grub_list_insert): Likewise.
27954 (FOR_LIST_ELEMENTS): New macro.
27955 * include/grub/parser.h (grub_parser_class): Removed.
27956 (grub_parser_register): Likewise.
27957 (grub_parser_unregister): Likewise.
27958 (grub_parser_get_current): Likewise.
27959 (grub_parser_set_current): Likewise.
27960 (grub_register_rescue_parser): Likewise.
27961 (grub_rescue_parse_line): New function.
27962 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27963 * include/grub/script_sh.h (grub_script_function_list): New variable
27964 declaration.
27965 (FOR_SCRIPT_FUNCTIONS): New macro.
27966 (grub_script_function_iterate): Removed.
27967 (grub_normal_parse_line): New prototype.
27968 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27969 (FOR_DISABLED_TERM_INPUTS): Likewise.
27970 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27971 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27972 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27973 element.
27974 (grub_video_register): Inline.
27975 (grub_video_unregister): Likewise.
27976 (grub_video_adapter_list): New variable declaration.
27977 (grub_video_iterate): Removed.
27978 (FOR_VIDEO_ADAPTERS): New macro.
27979 * kern/dl.c (grub_dl_list): Removed. All users updated.
27980 (grub_dl_iterate): Removed.
27981 * kern/fs.c (grub_fs_list): Make global.
27982 (grub_fs_register): Removed.
27983 (grub_fs_unregister): Likewise.
27984 (grub_fs_iterate): Likewise.
27985 * kern/handler.c: Removed.
27986 * kern/list.c (grub_list_pop): Removed.
27987 (grub_list_iterate): Likewise.
27988 (grub_list_insert): Likewise.
27989 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27990 (grub_prio_list_insert): Don't use grub_list_insert.
27991 * kern/main.c (grub_register_rescue_parser): Don't call
27992 grub_register_rescue_parser.
27993 * kern/parser.c (grub_parser_class): Removed.
27994 (grub_parser_execute): Use grub_rescue_parse_line.
27995 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27996 (grub_rescue_parser): Removed.
27997 (grub_register_rescue_parser): Likewise.
27998 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27999 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
28000 (grub_auth_check_authentication): Likewise.
28001 * normal/completion.c (iterate_command): Removed.
28002 (grub_normal_do_completion): Use FOR_COMMANDS.
28003 * normal/handler.c: Removed.
28004 * normal/main.c (read_config_file): Remove parser changing.
28005 (grub_normal_execute): Don't call read_handler_list.
28006 (grub_normal_read_line_real): Statically allocate prompt.
28007 (grub_cmdline_run): Use grub_normal_parse_line.
28008 (GRUB_MOD_FINI): Don't call free_handler_list.
28009 * normal/menu_entry.c (run): Likewise.
28010 * script/function.c (grub_script_function_list): Make global.
28011 (grub_script_function_iterate): Removed.
28012 * script/main.c (grub_normal_parse_line): Make global.
28013 (grub_sh_parser): Removed.
28014 (GRUB_MOD_INIT): Likewise.
28015 (GRUB_MOD_FINI): Likewise.
28016 * tests/lib/functional_test.c (grub_functional_test): Use
28017 FOR_LIST_ELEMENTS.
28018 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
28019 (grub_test_run): Use FOR_LIST_ELEMENTS.
28020 * tests/lib/unit_test.c (main): Likewise.
28021 * util/deviceiter.c (grub_util_iterate_devices): Don't use
28022 grub_list_pop.
28023 * util/grub-fstest.c (grub_term_input_class): Removed.
28024 (grub_term_output_class): Likewise.
28025 * util/grub-probe.c: Likewise.
28026 * util/i386/pc/grub-setup.c: Likewise.
28027 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28028 * util/grub-script-check.c (main): Don't call grub_init_all and
28029 grub_fini_all.
28030 * video/video.c (grub_video_adapter_list): Make global.
28031 (grub_video_register): Removed.
28032 (grub_video_unregister): Likewise.
28033 (grub_video_iterate): Likewise.
28034
28035 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
28036
28037 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
28038 reported by Henrique Ferreiro.
28039
28040 2010-06-09 Robert Millan <rmh@gnu.org>
28041
28042 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
28043 ones, when both are available.
28044
28045 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
28046
28047 Make --version uniform and avoid hard-coded program name.
28048
28049 * util/grub-mkimage.c (main): Use `program_name' instead of
28050 hard-coded string.
28051 * util/i386/pc/grub-setup.c (main): Likewise.
28052 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
28053 * util/grub-install.in: Save the basename of $0 in $self, and use the
28054 latter in informational messages. Use the same format for --version
28055 as the binary programs.
28056 * util/grub-mkconfig.in: Likewise.
28057 * util/grub-mkrescue.in: Likewise.
28058 * util/grub-reboot.in: Likewise.
28059 * util/grub-set-default.in: Likewise.
28060 * util/i386/efi/grub-install.in: Likewise.
28061 * util/ieee1275/grub-install.in: Likewise.
28062 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
28063
28064 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
28065
28066 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
28067 embedding area. Use <= instead of == when checking for non-emptiness.
28068
28069 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
28070
28071 * configure.ac: Add `.' to the directories searched for unifont.
28072
28073 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
28074
28075 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
28076 grub_script.yy.h.
28077
28078 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
28079
28080 * docs/grub.texi (History): Expand to cover GRUB 2.
28081 (Serial terminal): Refer to `terminal_input' and `terminal_output'
28082 commands, not `terminal'.
28083 (serial): Likewise.
28084 (terminal_input): New section.
28085 (terminal_output): New section.
28086 (uppermem): New section (stub).
28087 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
28088
28089 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
28090
28091 * docs/grub.texi (Security): Menu entries are unrestricted by
28092 default, not restricted to superusers as I had previously thought.
28093 Reword to account for this.
28094
28095 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28096
28097 * kern/emu/misc.c (device_mapper_null_log): New function.
28098 (grub_device_mapper_supported): New function.
28099 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
28100 prototype.
28101 * kern/emu/hostdisk.c (find_partition_start): Check whether
28102 device-mapper is supported before trying to use it.
28103 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
28104
28105 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28106
28107 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
28108 (File name syntax): Likewise.
28109 (help): --all is no longer supported in GRUB 2. Be more precise
28110 about pattern matching.
28111
28112 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28113
28114 * normal/completion.c (grub_normal_do_completion): When completing
28115 arguments to "set" and the current word contains an equals sign,
28116 skip to after the equals sign before starting completion.
28117
28118 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28119
28120 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
28121
28122 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28123
28124 * docs/grub.texi (Network): New section.
28125 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
28126 `(nd)' as in GRUB Legacy.
28127 (pxe_unload): New section.
28128
28129 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28130
28131 * docs/grub.texi (Troubleshooting): `echo' is not usually available
28132 in the rescue shell, so recommend using `set' instead. Thanks,
28133 Jordan Uggla.
28134
28135 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28136
28137 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
28138 (password): New section.
28139 (password_pbkdf2): New section.
28140 (search): New section.
28141 (Security): New section.
28142 (Troubleshooting): New section, currently very incomplete.
28143 (Invoking grub-mkpasswd-pbkdf2): New section.
28144 (Internals): New section, currently very incomplete.
28145
28146 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28147
28148 * util/grub.d/00_header.in: Add some more quoting (of
28149 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
28150 work again.
28151 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
28152
28153 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28154
28155 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
28156 to `count', fixing variable shadowing that broke the -c option.
28157
28158 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
28159
28160 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
28161 in case they contain spaces.
28162
28163 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
28164
28165 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
28166 "part_" to partmap module names, in line with grub-install.
28167 Reported by: Jindřich Makovička (Debian bug #584426).
28168
28169 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
28170
28171 * util/grub-mkimage.c: Make target-related error messages slightly
28172 more helpful; -O talks about "format". Explicitly point to the use
28173 of -O if no target is specified.
28174 Reported by: Didier Raboud (Debian bug #584415).
28175
28176 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
28177
28178 * INSTALL: Document several build requirements for optional features
28179 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
28180
28181 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
28182
28183 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
28184 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
28185 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
28186
28187 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28188
28189 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
28190 Thanks to Jordan Uggla for spotting this.
28191
28192 2010-06-02 Aleš Nesrsta <starous@volny.cz>
28193
28194 Finally make USB usable.
28195
28196 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
28197 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
28198 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
28199 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
28200 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
28201 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
28202 (GRUB_OHCI_FSMPS): Likewise.
28203 (GRUB_OHCI_PERIODIC_START): Likewise.
28204 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
28205 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
28206 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
28207 (GRUB_OHCI_SET_PORT_RESET): Likewise.
28208 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
28209 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
28210 (grub_ohci_transaction): Likewise.
28211 (grub_ohci_transfer): Improve condition detection algorithms.
28212 Handle toggle property. Program the transactions correctly.
28213 Improve error handling. Various important fixups.
28214 (grub_ohci_portstatus): Put register writes in right order.
28215 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
28216 (grub_uhci_transfer): Don't show "failed" message on success.
28217 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
28218 array.
28219 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
28220 determine its size.
28221 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
28222 before initialization is completed. Use IN direction for empty
28223 transfers. Use last_trans and compute toggle.
28224 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
28225 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
28226 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
28227 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
28228 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
28229 (grub_usb_device): Increase toggle to 256.
28230 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
28231 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
28232 GRUB_USBMS_SUBCLASS_SFF8070.
28233 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
28234 (grub_scsi_inquiry): New member page and alloc_length.
28235 (grub_scsi_request_sense): New structure.
28236 (grub_scsi_request_sense_data): Likewise.
28237 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
28238 control.
28239 * disk/scsi.c (grub_scsi_request_sense): New function.
28240 (grub_scsi_test_unit_ready): Likewise.
28241 (grub_scsi_inquiry): Fill new fields.
28242 (grub_scsi_read_capacity): Likewise.
28243 (grub_scsi_read10): Add request sense at the end.
28244 (grub_scsi_read12): Likewise.
28245 (grub_scsi_write10): Likewise.
28246 (grub_scsi_write12): Likewise.
28247 (grub_scsi_open): Add Test Unit Ready.
28248 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
28249 Support additional subclasses. Con't clear halt yet. Activate the
28250 proper config. Calculate LUNs correctly.
28251 (grub_usbms_transfer): Various important fixups.
28252
28253 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28254
28255 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
28256 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
28257 (grub_ohci_fini_hw): New function.
28258 (grub_ohci_restore_hw): Likewise.
28259 (GRUB_MOD_INIT(ohci)): Register preboot hook.
28260 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
28261 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
28262
28263 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28264
28265 Dedicated DMA allocations.
28266
28267 * bus/pci.c (grub_memalign_dma32): New function
28268 (grub_dma_free): Likewise.
28269 (grub_dma_get_virt): Likewise.
28270 (grub_dma_get_phys): Likewise.
28271 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
28272 (grub_ohci_pci_iter): Use dma32_alloc.
28273 (grub_ohci_transfer): Likewise.
28274 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
28275 (grub_usb_bulk_readwrite): Likewise.
28276 * include/grub/pci.h: Add declarations.
28277
28278 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28279
28280 CS5536 support.
28281
28282 * bus/cs5536.c: New file.
28283 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
28284 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
28285 (cs5536_mod_SOURCES): New variable.
28286 (cs5536_mod_CFLAGS): Likewise.
28287 (cs5536_mod_LDFLAGS): Likewise.
28288 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
28289 machine/pci.h.
28290 (kernel_img_SOURCES): Add bus/cs5536.c.
28291 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
28292 usb_keyboard.mod.
28293 (usb_mod_SOURCES): New variable.
28294 (usb_mod_CFLAGS): New variable.
28295 (usb_mod_LDFLAGS): New variable.
28296 (usbtest_mod_SOURCES): New variable.
28297 (usbtest_mod_CFLAGS): New variable.
28298 (usbtest_mod_LDFLAGS): New variable.
28299 (ohci_mod_SOURCES): New variable.
28300 (ohci_mod_CFLAGS): New variable.
28301 (ohci_mod_LDFLAGS): New variable.
28302 (usbms_mod_SOURCES): New variable.
28303 (usbms_mod_CFLAGS): New variable.
28304 (usbms_mod_LDFLAGS): New variable.
28305 (usb_keyboard_mod_SOURCES): New variable.
28306 (usb_keyboard_mod_CFLAGS): New variable.
28307 (usb_keyboard_mod_LDFLAGS): New variable.
28308 * include/grub/smbus.h: New file.
28309 * include/grub/cs5536.h: New file.
28310
28311 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28312
28313 * util/grub.d/00_header.in: Add safety check to make sure that
28314 ${locale_dir} exists before trying to probe it.
28315
28316 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28317
28318 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
28319 per the GNU Coding Standards; this is now too obscure to be worth
28320 documenting.
28321 (QNX): Likewise.
28322 (chainloader): Remove cross-reference to `SCO UnixWare'.
28323
28324 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28325
28326 * docs/grub.texi (Chain-loading): New section.
28327 (DOS/Windows): New section, borrowed from GRUB Legacy with details
28328 adjusted for GRUB 2.
28329 (SCO UnixWare): Likewise.
28330 (QNX): Likewise.
28331 (chainloader): Add reference to `Block list syntax'.
28332 (drivemap): New section.
28333 (parttool): New section.
28334
28335 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28336
28337 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
28338 the grub shell'.
28339 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
28340 (Installing GRUB using grub-install): Remove reference to the grub
28341 shell; mention `grub-mkimage' and `grub-setup' instead.
28342 (Invoking grub-install): Likewise.
28343 (Interface): Add reference to `Menu entry editor'.
28344 (serial): Remove `--device' option.
28345
28346 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28347
28348 * docs/grub.texi (Configuration): New section, documenting
28349 configuration file generation using grub-mkconfig. I've left a slot
28350 for documenting the full shell scripting format but have not yet
28351 started on writing that up.
28352 (Invoking grub-mkconfig): New section.
28353
28354 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28355
28356 * docs/grub.texi (direntry): Remove grub-terminfo reference.
28357 (GNU GRUB manual): Likewise.
28358 (General commands): Update description of `terminfo' for GRUB 2.
28359
28360 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28361
28362 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28363 (GRUB_MOD_INIT): Fix capitalisation.
28364 * docs/grub.texi (Command-line and menu entry commands): Document
28365 gettext and gptsync commands.
28366
28367 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28368
28369 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28370 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28371
28372 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
28373
28374 Add btrfs probing support, currently only in the single-device case.
28375
28376 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28377 function.
28378 (grub_guess_root_device): Call find_root_device_from_mountinfo
28379 before looking in /dev.
28380
28381 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28382
28383 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28384 GRUB_DISK_SIZE_UNKNOWN.
28385 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28386
28387 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
28388
28389 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28390 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28391 corrupted or not synced properly.
28392
28393 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28394
28395 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28396 Reported by: Seth Goldberg.
28397
28398 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28399
28400 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28401 addition of dest.
28402 Reported by: Seth Goldberg.
28403
28404 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28405
28406 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28407 Reported by: Seth Goldberg.
28408
28409 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28410
28411 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28412 64-bit address as signed on MIPS.
28413
28414 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28415
28416 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28417 to the empty string.
28418
28419 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28420
28421 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28422
28423 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28424 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28425 * kern/misc.c (__enable_execute_stack): Disable on
28426 GRUB_MACHINE_EMU.
28427
28428 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28429
28430 Make grub-probe work with symbolic links under /dev/mapper as well
28431 as with real block devices. The Linux world seems to be (at best)
28432 in transition here, and GRUB shouldn't get caught in the middle.
28433
28434 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28435 /dev/mapper.
28436
28437 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28438
28439 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28440 input files (in which case exit zero).
28441
28442 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28443
28444 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28445 return NULL for various reasons even if it has a maximum-length
28446 buffer: for example, there might be a symlink loop, or the path
28447 might exceed PATH_MAX. If this happens, return NULL.
28448
28449 2010-05-27 Robert Millan <rmh@gnu.org>
28450
28451 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28452 partmap module to handle cross-partmap setups.
28453 Reported by Orestes Mas. Gràcies!
28454
28455 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28456
28457 * util/grub-mkrescue.in: Initialise override_dir rather than
28458 assuming that it's unset or empty in the environment.
28459
28460 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28461
28462 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28463 variable index into p_index to suppress a warning with -Wshadow.
28464
28465 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28466
28467 * INSTALL: Added flex >= 2.5.35 requirement.
28468
28469 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28470
28471 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28472
28473 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28474
28475 cmostest support.
28476
28477 * commands/i386/cmostest.c: New file.
28478 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28479 (cmostest_mod_SOURCES): New variable.
28480 (cmostest_mod_CFLAGS): Likewise.
28481 (cmostest_mod_LDFLAGS): Likewise.
28482 * conf/i386-pc.rmk: Likewise.
28483 * docs/grub.texi (Vendor power-on keys): New section.
28484 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28485 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28486 and GRUB_BUTTON_CMOS_ADDRESS.
28487 * util/grub.d/00_header.in: Handle powering-on by separate button.
28488
28489 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28490
28491 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28492 Removed drawing_scrollbar argument. All users updated
28493 Fixes #29792.
28494 Reported by Jo Shields
28495
28496 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28497
28498 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28499 buffer since gfxterm handles double repaint.
28500
28501 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28502
28503 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28504 * term/gfxterm.c (real_scroll): Likewise.
28505
28506 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28507
28508 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28509 before calling BIOS.
28510
28511 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28512
28513 * include/grub/i18n.h: Always enable grub_gettext.
28514
28515 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28516
28517 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28518 partition naming style.
28519
28520 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
28521
28522 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28523 not the first option.
28524
28525 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28526
28527 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28528
28529 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28530
28531 * util/misc.c: Move inclusion of <limits.h> to ...
28532 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28533
28534 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28535
28536 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28537 Fix merge error in NetBSD code.
28538 (find_partition_start) [__NetBSD__]: Likewise.
28539
28540 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28541
28542 Fix grub-mkrescue usage unit testing.
28543
28544 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28545
28546 2010-05-18 Christian Franke <franke@computer.org>
28547
28548 * util/grub.d/10_windows.in: Use path names instead of
28549 drive letters to prevent warning from Cygwin 1.7.
28550 Add drivemap command to menuentry if needed.
28551
28552 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28553
28554 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28555 gnumach and gnumach.gz.
28556
28557 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28558
28559 * include/grub/i18n.h (gettext): Inline instead of using #define.
28560 (grub_gettext): Likewise.
28561 (_): Likewise.
28562
28563 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28564
28565 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28566 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28567 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28568 (main): Add a slash after pkglibdirroot.
28569
28570 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28571
28572 * util/grub-install.in: Add missing "in" keyword.
28573
28574 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28575
28576 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28577 Reported by: Seth Goldberg.
28578
28579 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28580
28581 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28582
28583 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28584
28585 * configure.ac: Check for Linux device-mapper support.
28586
28587 * util/hostdisk.c (device_is_mapped): New function.
28588 (find_partition_start): New function, partly broken out from
28589 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28590 device-mapper support added.
28591 (linux_find_partition): Use find_partition_start.
28592 (convert_system_partition_to_system_disk): Add `st' argument.
28593 Support Linux /dev/mapper/* devices if device-mapper support is
28594 available; only DM-RAID devices are understood at present.
28595 (find_system_device): Add `st' argument. Pass it to
28596 convert_system_partition_to_system_disk.
28597 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28598 find_system_device and convert_system_partition_to_system_disk. Use
28599 find_partition_start.
28600
28601 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28602 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28603 * util/deviceiter.c [__linux__]: Define MINOR.
28604 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28605 * util/mkdevicemap.c (grub_putchar): New function.
28606 (grub_getkey): New function.
28607 (grub_refresh): New function.
28608 (main): Set debug=all if -v -v is used.
28609
28610 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28611
28612 Fix build with non-GNU libcs.
28613
28614 * util/misc.c (canonicalize_file_name): Move to ...
28615 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28616 grub_make_system_path_relative_to_its_root.
28617
28618 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28619
28620 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28621 we handle finding grub-mkimage. Default to finding grub-mkimage in
28622 ${bindir} with program_transform_name applied, and provide a
28623 --grub-mkimage option to override this.
28624
28625 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28626
28627 Remove grub-mkisofs.
28628
28629 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28630 (grub_mkisofs_SOURCES): Removed.
28631 (grub_mkisofs_CFLAGS): Removed.
28632 * util/mkisofs/defaults.h: Removed.
28633 * util/mkisofs/eltorito.c: Likewise.
28634 * util/mkisofs/exclude.h: Likewise.
28635 * util/mkisofs/hash.c: Likewise.
28636 * util/mkisofs/include/: Likewise.
28637 * util/mkisofs/include/fctldefs.h: Likewise.
28638 * util/mkisofs/include/mconfig.h: Likewise.
28639 * util/mkisofs/include/prototyp.h: Likewise.
28640 * util/mkisofs/include/statdefs.h: Likewise.
28641 * util/mkisofs/iso9660.h: Likewise.
28642 * util/mkisofs/joliet.c: Likewise.
28643 * util/mkisofs/match.c: Likewise.
28644 * util/mkisofs/match.h: Likewise.
28645 * util/mkisofs/mkisofs.c: Likewise.
28646 * util/mkisofs/mkisofs.h: Likewise.
28647 * util/mkisofs/msdos_partition.h: Likewise.
28648 * util/mkisofs/multi.c: Likewise.
28649 * util/mkisofs/name.c: Likewise.
28650 * util/mkisofs/rock.c: Likewise.
28651 * util/mkisofs/tree.c: Likewise.
28652 * util/mkisofs/write.c: Likewise.
28653
28654 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28655
28656 Unify grub-mkimage accross platforms.
28657
28658 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28659 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28660 (grub_mkelfimage_SOURCES): Removed.
28661 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28662 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28663 (bin_UTILITIES): Add grub-mkimage.
28664 (grub_mkimage_SOURCES): New variable.
28665 (kernel_img_HEADERS): Remove machine/kernel.h.
28666 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28667 (pkglib_PROGRAMS): Add kernel.img.
28668 (kernel_img_HEADERS): Add machine/kernel.h.
28669 (kernel_img_FORMAT): Removed.
28670 (bin_UTILITIES): Remove grub-mkimage.
28671 (grub_mkimage_SOURCES): Removed.
28672 (grub_mkimage_CFLAGS): Likewise.
28673 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28674 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28675 (pkglib_PROGRAMS): Add kernel.img.
28676 (bin_UTILITIES): Remove grub-mkimage.
28677 (grub_mkimage_SOURCES): Removed.
28678 (grub_mkimage_CFLAGS): Likewise.
28679 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28680 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28681 (pkglib_PROGRAMS): Add kernel.img.
28682 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28683 (pkglib_PROGRAMS): Add kernel.img.
28684 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28685 (grub_mkimage_SOURCES): Removed.
28686 (grub_mkimage_CFLAGS): Likewise.
28687 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28688 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28689 (pkglib_PROGRAMS): Add kernel.img.
28690 (bin_UTILITIES): Remove grub-mkimage.
28691 (grub_mkimage_SOURCES): Removed.
28692 (grub_mkimage_CFLAGS): Likewise.
28693 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28694 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28695 (grub_mkimage_SOURCES): Removed.
28696 (grub_mkimage_CFLAGS): Likewise.
28697 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28698 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28699 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28700 (grub_pe32_optional_header): ... this.
28701 (grub_pe64_optional_header): ... and this. All users updated.
28702 (GRUB_PE32_PE32_MAGIC): Split into ..
28703 (GRUB_PE32_PE32_MAGIC): .. this.
28704 (GRUB_PE32_PE64_MAGIC): .. and this.
28705 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28706 * include/grub/elf.h (PT_GNU_STACK): New definition.
28707 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28708 * include/grub/i386/efi/kernel.h: Likewise.
28709 * include/grub/i386/kernel.h: Likewise.
28710 * include/grub/i386/pc/kernel.h: Likewise.
28711 * include/grub/i386/qemu/boot.h: Likewise.
28712 * include/grub/mips/kernel.h: Likewise.
28713 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28714 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28715 * include/grub/powerpc/kernel.h: Likewise.
28716 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28717 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28718 * include/grub/sparc64/kernel.h: Likewise.
28719 * include/grub/x86_64/efi/kernel.h: Likewise.
28720 * include/grub/x86_64/kernel.h: Likewise.
28721 * include/grub/offsets.h: New file.
28722 * include/grub/kernel.h (grub_module_info): Split into ...
28723 (grub_module_info32): ... this.
28724 (grub_module_info64): ... and this.
28725 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28726 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28727 (grub_boot_blocklist): Moved from here ...
28728 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28729 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28730 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28731 * include/grub/types.h (grub_target_to_host16): Removed.
28732 (grub_target_to_host32): Likewise.
28733 (grub_target_to_host64): Likewise.
28734 (grub_host_to_target16): Likewise.
28735 (grub_host_to_target32): Likewise.
28736 (grub_host_to_target64): Likewise.
28737 (grub_host_to_target_addr): Likewise.
28738
28739 Support grub-mkrescue for efi, coreboot and qemu.
28740
28741 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28742 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28743 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28744 * util/grub-mkrawimage.c: Moved from here ...
28745 * util/grub-mkimage.c: ... here. All users updated.
28746 (ALIGN_ADDR): Use image_target.
28747 (TARGET_NO_FIELD): New const.
28748 (image_target_desc): New type.
28749 (image_targets): New array.
28750 (grub_target_to_host64): Use image_target.
28751 (grub_target_to_host32): Likewise.
28752 (grub_target_to_host16): Likewise.
28753 (grub_host_to_target64): Likewise.
28754 (grub_host_to_target32): Likewise.
28755 (grub_host_to_target16): Likewise.
28756 (grub_host_to_target_addr): Likewise.
28757 (generate_image): Handle multiimage.
28758 (main): Require -O parameter. All users updated.
28759 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28760 util/efi/grub-mkimage.c
28761 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28762 New option --rom-directory.
28763 Use xorriso.
28764 * util/i386/efi/grub-mkimage.c: Removed.
28765 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28766 (grub_target_to_host32): Likewise.
28767 (grub_target_to_host64): Likewise.
28768 (grub_host_to_target16): Likewise.
28769 (grub_host_to_target32): Likewise.
28770 (grub_host_to_target64): Likewise.
28771 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28772 (grub_target_to_host32): Likewise.
28773 (grub_target_to_host64): Likewise.
28774 (grub_host_to_target16): Likewise.
28775 (grub_host_to_target32): Likewise.
28776 (grub_host_to_target64): Likewise.
28777
28778 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28779
28780 Source tree is reorganized for emu build.
28781
28782 * include/grub/util/console.h: Move from here...
28783 * include/grub/emu/console.h: ...to here.
28784 * include/grub/util/getroot.h: Move from here...
28785 * include/grub/emu/getroot.h: ...to here.
28786 * include/grub/util/hostdisk.h: Move from here...
28787 * include/grub/emu/hostdisk.h: ...to here.
28788 * util/console.c: Move from here...
28789 * kern/emu/console.c: ...to here.
28790 * util/getroot.c: Move from here...
28791 * kern/emu/getroot.c: ...to here.
28792 * util/grub-emu.c: Move from here...
28793 * kern/emu/main.c: ...to here.
28794 * util/hostdisk.c: Move from here...
28795 * kern/emu/hostdisk.c: ...to here.
28796 * util/hostfs.c: Move from here...
28797 * kern/emu/hostfs.c: ...to here.
28798 * util/mm.c: Move from here...
28799 * kern/emu/mm.c: ...to here.
28800 * util/pci.c: Move from here...
28801 * bus/emu/pci.c: ...to here.
28802 * util/sdl.c: Move from here...
28803 * video/emu/sdl.c: ...to here.
28804 * util/time.c: Move from here...
28805 * kern/emu/time.c: ...to here.
28806 * util/usb.c: Move from here...
28807 * bus/usb/emu/usb.c: ...to here.
28808
28809 * include/grub/emu/misc.h: New header for grub-emu functions.
28810 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28811
28812 * conf/any-emu.rmk: Rule updates for above renames.
28813 * conf/common.rmk: Likewise.
28814 * conf/i386-pc.rmk: Likewise.
28815 * conf/i386-qemu.rmk: Likewise.
28816 * conf/mips.rmk: Likewise.
28817 * conf/sparc64-ieee1275.rmk: Likewise.
28818 * conf/x86-efi.rmk: Likewise.
28819
28820 * disk/lvm.h: #include updates for above renames.
28821 * util/grub-mkrelpath.c: Likewise.
28822 * util/grub-probe.c: Likewise.
28823 * util/i386/pc/grub-setup.c: Likewise.
28824 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28825 * kern/emu/console.c: Likewise.
28826 * kern/emu/getroot.c: Likewise.
28827 * kern/emu/hostdisk.c: Likewise.
28828 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28829
28830 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28831 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28832 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28833 * util/misc.c: Remove grub-emu functions.
28834
28835 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28836
28837 Fix gfxmenu crash.
28838 Reported by: Thorsten Grützmacher.
28839
28840 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28841 timeout hook.
28842 (circprog_set_property): Register and unregister timeout hook.
28843 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28844 (label_destroy): Free template. and unregister hook.
28845 (label_set_state): New function.
28846 (label_set_property): Handle templates and hooks.
28847 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28848 timeout hook.
28849 (progress_bar_set_property): Register and unregister timeout hook.
28850 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28851 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28852 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28853 (update_timeout_visit): Removed.
28854 (update_timeouts): New function.
28855 (redraw_timeouts): Likewise.
28856 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28857 (grub_gfxmenu_clear_timeout): Likewise.
28858 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28859 (grub_gfxmenu_timeout_notify): Likewise.
28860 (grub_gfxmenu_timeout_notifications): New external variable.
28861 (grub_gfxmenu_timeout_register): New function.
28862 (grub_gfxmenu_timeout_unregister): Likewise.
28863
28864 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28865
28866 Transform (broken) vga terminal into (working) vga video driver.
28867
28868 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28869 video/i386/pc/vga.c.
28870 * include/grub/video.h (grub_video_driver_id):
28871 Add GRUB_VIDEO_DRIVER_VGA.
28872 * term/i386/pc/vga.c: Renamed to ...
28873 * video/i386/pc/vga.c: ...this
28874 (DEBUG_VGA): Removed.
28875 (CHAR_WIDTH): Likewise.
28876 (CHAR_HEIGHT): Likewise.
28877 (TEXT_WIDTH): Likewise.
28878 (TEXT_HEIGHT): Likewise.
28879 (DEFAULT_FG_COLOR): Likewise.
28880 (DEFAULT_BG_COLOR): Likewise.
28881 (colored_char): Likewise.
28882 (xpos): Likewise.
28883 (ypos): Likewise.
28884 (cursor_state): Likewise.
28885 (fg_color): Likewise.
28886 (bg_color): Likewise.
28887 (text_buf): Likewise.
28888 (page): Likewise.
28889 (font): Likewise.
28890 (framebuffer): New variable.
28891 (set_read_map): Disabled.
28892 (setup): New variable.
28893 (is_target): Likewise.
28894 (grub_vga_mod_init): Likewise.
28895 (grub_vga_mod_fini): Likewise.
28896 (check_vga_mem): Likewise.
28897 (write_char): Likewise.
28898 (write_cursor): Likewise.
28899 (scroll_up): Likewise.
28900 (grub_vga_putchar): Likewise.
28901 (grub_vga_getcharwidth): Likewise.
28902 (grub_vga_getwh): Likewise.
28903 (grub_vga_getxy): Likewise.
28904 (grub_vga_gotoxy): Likewise.
28905 (grub_vga_cls): Likewise.
28906 (grub_vga_setcolorstate): Likewise.
28907 (grub_vga_setcursor): Likewise.
28908 (grub_video_vga_init): New function.
28909 (grub_video_vga_setup): Likewise.
28910 (grub_video_vga_fini): Likewise.
28911 (update_target): Likewise.
28912 (grub_video_vga_blit_bitmap): Likewise.
28913 (grub_video_vga_blit_render_target): Likewise.
28914 (grub_video_vga_set_active_render_target): Likewise.
28915 (grub_video_vga_get_active_render_target): Likewise.
28916 (grub_video_vga_swap_buffers): Likewise.
28917 (grub_video_vga_set_palette): Likewise.
28918 (grub_video_vga_get_info_and_fini): Likewise.
28919 (grub_vga_term): Removed.
28920 (grub_video_vga_adapter): New variable.
28921 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28922 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28923
28924 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28925
28926 * video/readers/jpeg.c: Indented.
28927
28928 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28929
28930 Various jpeg cleanups.
28931
28932 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28933 (grub_jpeg_decode_quan_table): Use sizeof.
28934 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28935
28936 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
28937
28938 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28939 tables. Ignore non-last ac bit.
28940 (grub_jpeg_decode_quan_table): Likewise.
28941
28942 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28943
28944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28945 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28946 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28947 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28948 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28949 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28950
28951 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28952
28953 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28954 error.
28955
28956 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28957
28958 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28959
28960 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28961
28962 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28963 condition.
28964
28965 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28966
28967 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28968 part.
28969
28970 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28971
28972 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28973 pointers.
28974
28975 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28976
28977 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28978
28979 2010-05-01 Christian Franke <franke@computer.org>
28980
28981 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28982 Remove broken Cygwin path conversion.
28983 * util/misc.c: [__CYGWIN__] Add include and define.
28984 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28985 for Cygwin 1.7.
28986 (make_system_path_relative_to_its_root): Simplify loop, replace early
28987 return by break.
28988 [__CYGWIN__] Add conversion to win32 path.
28989 Include "/" case in trailing slash removal.
28990
28991 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28992
28993 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28994 Reported by: Seth Goldberg
28995
28996 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28997
28998 * commands/help.c (grub_cmd_help): Fix a typo.
28999 Reported by: Seth Goldberg
29000
29001 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29002
29003 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
29004 name and add N_.
29005 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
29006 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
29007 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
29008 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
29009 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
29010 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
29011 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
29012 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
29013 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
29014 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29015 * normal/context.c (GRUB_MOD_INIT): Likewise.
29016 * normal/main.c (GRUB_MOD_INIT): Likewise.
29017 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
29018 * term/serial.c (GRUB_MOD_INIT): Likewise.
29019 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
29020
29021 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29022
29023 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
29024 extra == 0.
29025
29026 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29027
29028 * commands/iorw.c: New file.
29029 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
29030 (iorw_mod_SOURCES): New variable.
29031 (iorw_mod_CFLAGS): Likewise.
29032 (iorw_mod_LDFLAGS): Likewise.
29033
29034 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29035
29036 Hotkey support
29037
29038 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
29039 * normal/main.c (hotkey_aliases): New variable.
29040 (grub_normal_add_menu_entry): Parse "--hotkey".
29041 * normal/menu_text.c (run_menu): Handle hotkeys.
29042
29043 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29044
29045 * kern/i386/coreboot/init.c (grub_machine_init): Call
29046 grub_machine_mmap_init on qemu.
29047
29048 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29049
29050 * boot/i386/qemu/boot.S: Add a missing .code16.
29051
29052 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29053
29054 Use LBIO on coreboot.
29055
29056 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
29057 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
29058 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
29059 New declaration.
29060 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
29061 grub_machine_mmap_init on coreboot.
29062 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
29063 GRUB_LINUXBIOS_MEMBER_LINK.
29064 (grub_machine_mmap_iterate): Fix declaration.
29065 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
29066
29067 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29068
29069 Split coreboot and multiboot ports.
29070
29071 * conf/i386-multiboot.rmk: New file.
29072 * configure.ac: Add multiboot port.
29073 * include/grub/i386/multiboot/boot.h: New file.
29074 * include/grub/i386/multiboot/console.h: Likewise.
29075 * include/grub/i386/multiboot/init.h: Likewise.
29076 * include/grub/i386/multiboot/kernel.h: Likewise.
29077 * include/grub/i386/multiboot/loader.h: Likewise.
29078 * include/grub/i386/multiboot/memory.h: Likewise.
29079 * include/grub/i386/multiboot/serial.h: Likewise.
29080 * include/grub/i386/multiboot/time.h: Likewise.
29081 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
29082 * loader/multiboot.c: Likewise.
29083 * loader/multiboot_mbi2.c: Likewise.
29084 * util/grub-mkrescue.in: Generate multiboot rescue.
29085
29086 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29087
29088 * kern/parser.c (grub_parser_execute): Cope with read-only config.
29089
29090 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29091
29092 Merge handling of input and output terminals. Fix a hang.
29093
29094 * commands/terminal.c (abstract_terminal): New struct.
29095 (handle_command): New function. Based on grub_cmd_terminal_input.
29096 (grub_cmd_terminal_input): Use handle_command.
29097 (grub_cmd_terminal_output): Use handle_command.
29098
29099 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
29100
29101 Fix comment handling.
29102
29103 * tests/grub_script_comments.in: New testcase.
29104 * conf/tests.rmk: Rules for new testcase.
29105 * script/yylex.l: Updated flex rules.
29106
29107 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
29108
29109 * docs/grub.texi (play): Document that zero pitches produce rests.
29110 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
29111 if argc is 1.
29112
29113 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29114
29115 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
29116 autogen issues.
29117
29118 2010-04-26 Christian Franke <franke@computer.org>
29119
29120 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
29121 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
29122 (grub_get_prefix): Remove function.
29123 * util/grub-emu.c (main): Replace grub_get_prefix () call by
29124 make_system_path_relative_to_its_root ().
29125 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
29126
29127 2010-04-24 Christian Franke <franke@computer.org>
29128
29129 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
29130 (kernel_img_LDFLAGS): Remove -static-libgcc.
29131
29132 2010-04-24 Christian Franke <franke@computer.org>
29133
29134 * configure.ac: Do not CHECK_BSS_START_SYMBOL
29135 and CHECK_END_SYMBOL if grub-emu is built.
29136 Unset TARGET_OBJ2ELF if grub-emu is built
29137 without module support.
29138
29139 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
29140
29141 Nilfs2 support.
29142
29143 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
29144 (grub_fstest_SOURCES): Likewise.
29145 (pkglib_MODULES): Add nilfs2.mod.
29146 (nilfs2_mod_SOURCES): New variable.
29147 (nilfs2_mod_CFLAGS): Likewise.
29148 (nilfs2_mod_LDFLAGS): Likewise.
29149 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
29150 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
29151 * fs/nilfs2.c: New file.
29152
29153 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
29154
29155 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
29156 is not supported.
29157
29158 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
29159
29160 Add grub-mkconfig support for NetBSD.
29161
29162 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
29163 * util/grub-mkconfig.in: export new NetBSD specific variables.
29164 * po/POTFILES-shell: added 10_netbsd.in.
29165 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
29166
29167 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
29168
29169 Fix emu build with grub-emu-pci and grub-emu-modules.
29170
29171 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
29172 functions.
29173 * include/grub/libpciaccess.h: New file.
29174 * conf/any-emu.rmk: Update kernel headers for emu build.
29175
29176 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
29177
29178 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
29179
29180 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
29181
29182 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
29183
29184 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29185
29186 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
29187 Retrieve chosen/bootpath if bootpath isn't hardcoded.
29188 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
29189 util/ieee1275/ofpath.c.
29190 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
29191 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
29192 * include/grub/sparc64/ieee1275/boot.h
29193 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
29194 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
29195 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
29196 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
29197 const char *.
29198 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
29199 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
29200 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
29201 install.
29202
29203 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
29204
29205 * util/grub-mkconfig.in: Corrected two == equality tests.
29206 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
29207 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
29208 expect a number appended to it.
29209 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
29210 expects a number appended to it.
29211
29212 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29213
29214 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
29215
29216 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29217
29218 * util/hostdisk.c (make_device_name): Change to new partition naming.
29219
29220 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
29221
29222 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
29223
29224 2010-04-17 Christian Franke <franke@computer.org>
29225
29226 * Makefile.in: Add missing localedir setting.
29227
29228 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
29229
29230 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
29231 mistake in r2156. Noticed by Anthony Fok.
29232
29233 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
29234 @localedir@.
29235 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29236
29237 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
29238
29239 Fix a spurious, uninitialized variable warning.
29240
29241 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
29242 Initialize variable, shdr.
29243 (grub_freebsd_load_elfmodule): Likewise.
29244 (grub_freebsd_load_elf_meta): Likewise.
29245
29246 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
29247
29248 Fix for escaped dollar in double quoted strings.
29249
29250 * script/yylex.l: Updated flex rules.
29251 * conf/tests.rmk: Rule for new testcase.
29252 * tests/grub_script_dollar.in: New testcase.
29253
29254 2010-04-13 Carles Pina i Estany <carles@pina.cat>
29255 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
29256
29257 Enclose all translated strings in grub.cfg in single quotes, and
29258 escape them appropriately (Ubuntu bug #552921).
29259
29260 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
29261 * util/grub.d/10_hurd.in: Use it.
29262 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29263 * util/grub.d/10_linux.in (linux_entry): Likewise.
29264
29265 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29266
29267 Fix cygwin compilation.
29268
29269 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
29270 * include/grub/misc.h (__register_frame_info)
29271 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
29272 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29273 * kern/misc.c (__register_frame_info)
29274 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
29275 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29276
29277 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29278
29279 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
29280
29281 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29282
29283 Unify libgcc processing.
29284
29285 * Makefile.in (kernel_img_LDFLAGS): New variable.
29286 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
29287 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
29288 overwriting.
29289 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
29290 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
29291 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
29292 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
29293 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
29294 overwriting. Remove -lgcc and -static-libgcc
29295 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
29296 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29297 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29298 (kernel_img_LDFLAGS): Append instead of overwriting.
29299 Remove -lgcc and -static-libgcc
29300 * conf/sparc64-ieee1275.rmk: Likewise.
29301 * include/grub/powerpc/libgcc.h: Move to ...
29302 * include/grub/libgcc.h: .. this.
29303 * include/grub/libgcc.h: Don't export most of the function on x86.
29304 (__bswapsi2): New export.
29305 (__bswapdi2): Likewise.
29306 * include/grub/mips/libgcc.h: Removed.
29307 * include/grub/sparc64/libgcc.h: Likewise.
29308
29309 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29310
29311 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
29312 disk_info_msg (conflicts with gettexting into languages with cases).
29313
29314 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
29315
29316 Add grub-probe support for NetBSD.
29317
29318 * util/getroot.c (find_root_device): Convert block device to
29319 character device on NetBSD.
29320 * util/probe.c (probe): Require character device on NetBSD.
29321 * util/hostdisk.c: NetBSD specific headers.
29322 (configure_device_driver): new function to tune device driver
29323 parameters (currently only for NetBSD floppy driver).
29324 (grub_util_biosdisk_open): NetBSD specific code (get disk size
29325 via disklabel ioctl).
29326 (open_device): call configure_device_driver on NetBSD.
29327 (convert_system_partition_to_system_disk): NetBSD specific code.
29328 (device_is_wholedisk): Likewise.
29329 (grub_util_biosdisk_get_grub_dev): Likewise.
29330 (make_device_name): Fixed a typo in bsd_part_str.
29331 * configure.ac: check for opendisk() and getrawpartition() on
29332 NetBSD and set LIBUTIL.
29333 * Makefile.in: add LIBUTIL to LIBS.
29334
29335 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29336
29337 Documentation fix.
29338
29339 * util/grub-script-check.c: Better help message.
29340
29341 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29342
29343 Fix FreeBSD build.
29344
29345 * configure.ac: Flex version check.
29346 * conf/common.rmk: Add -Wno-error to sh.mod.
29347 * script/yylex.l: Remove all #pragma.
29348
29349 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29350
29351 * include/grub/util/misc.h (canonicalise_file_name): Add missing
29352 prototype.
29353 Reported by: Seth Goldberg.
29354
29355 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29356
29357 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29358 Rename "module" to "module2".
29359 Reported by: Seth Goldberg.
29360
29361 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29362
29363 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29364 EXPORT_FUNC.
29365 Reported by: Seth Goldberg.
29366
29367 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29368
29369 * lib/posix_wrap/locale.h: Add missing file.
29370 Reported by: Seth Goldberg.
29371
29372 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29373
29374 grub-emu module load support.
29375
29376 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29377 NO_DYNAMIC_MODULES switched to this.
29378 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29379 (CFLAGS): Likewise.
29380 * conf/any-emu.rmk: Generate symlist.
29381 (kernel_img_HEADERS): Add util/datetime.h.
29382 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29383 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29384 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29385 kern/$(target_cpu)/cache.S.
29386 * configure.ac (grub-emu-modules): New option.
29387 * genmk.rb: Handle multiple source lists.
29388 * include/grub/sdl.h: New file.
29389 * include/grub/libusb.h: Likewise.
29390 * util/grub-emu.c (main): Hanle (host) root.
29391 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29392 GRUB_ERR_UNKNOWN_DEVICE.
29393 * util/misc.c: Move mm functions to ...
29394 * util/mm.c: ... here. All users updated.
29395
29396 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29397
29398 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29399 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29400 missing files.
29401 (maintainer-clean): Remove libgcrypt-grub.
29402
29403 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29404
29405 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29406
29407 2010-04-09 EFI Coder <eficoder@hotmail.com>
29408
29409 * normal/menu_text.c (print_message): Clean up the message and show
29410 the Fn information when on EFI
29411 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29412
29413 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29414
29415 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29416 All users updated.
29417 * normal/crypto.c (read_crypto_list): Likewise.
29418 * normal/dyncmd.c (read_command_list): Likewise.
29419 * normal/term.c (read_terminal_list): Likewise.
29420 * normal/main.c (read_lists): Use explicit prefix.
29421 (read_lists_hook): Use read_lists.
29422 (grub_normal_execute): Likewise.
29423
29424 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29425
29426 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29427 Reported by: Thomas Schmitt.
29428 Add -no-emul-boot to grub-mkisofs parameters.
29429
29430 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29431
29432 * font/font.c: Indented.
29433
29434 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29435
29436 Elif support to GRUB script (by Deepak Vankadaru).
29437
29438 * tests/grub_script_if.in: New testcase.
29439 * conf/tests.rmk: Rule for new testcase.
29440 * script/parser.y: Grammar rules for elif.
29441
29442 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29443
29444 While and until loops support to GRUB script.
29445
29446 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29447 (grub_script_create_cmdwhile): New function prototype.
29448 (grub_script_execute_cmdwhile): New function prototype.
29449 * script/execute.c (grub_script_execute_cmdwhile): New function.
29450 * script/parser.y (command): New commands.
29451 (whilecmd): New grammar rule.
29452 (untilcmd): New grammar rule.
29453 * script/script.c (grub_script_create_cmdwhile): New function.
29454 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29455 function.
29456
29457 * tests/grub_script_while1.in: New testcase.
29458 * conf/tests.rmk: Rule for new testcase.
29459
29460 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29461
29462 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29463 as *.jpg.
29464
29465 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
29466
29467 GRUB_BACKGROUND support.
29468
29469 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29470 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29471
29472 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29473
29474 Load fonts and modules for gfxmenu in grub-mkconfig.
29475 Idea by: Mario Vazquez
29476
29477 * util/grub.d/00_header.in: Load pf2 and image modules.
29478
29479 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29480
29481 grub-mkconfig multiple terminal support.
29482
29483 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29484 * util/grub.d/00_header.in: Likewise.
29485
29486 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29487
29488 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29489 we use cd $(srcdir).
29490
29491 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
29492
29493 * util/grub.d/10_linux.in: Only use the first word of
29494 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29495 spaces in GRUB_DISTRIBUTOR.
29496 * util/grub.d/10_kfreebsd.in: Likewise.
29497 * util/grub.d/10_hurd.in: Likewise.
29498
29499 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29500
29501 Fix unit testing framework for Qemu 0.12.
29502
29503 * tests/util/grub-shell.in: Remove -serial stdio option.
29504
29505 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29506
29507 POSIX header file wrappers.
29508
29509 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29510 equivalents.
29511 * lib/posix_wrap/ctype.h: Likewise.
29512 * lib/posix_wrap/errno.h: Likewise.
29513 * lib/posix_wrap/langinfo.h: Likewise.
29514 * lib/posix_wrap/limits.h: Likewise.
29515 * lib/posix_wrap/localcharset.h: Likewise.
29516 * lib/posix_wrap/stdint.h: Likewise.
29517 * lib/posix_wrap/stdio.h: Likewise.
29518 * lib/posix_wrap/stdlib.h: Likewise.
29519 * lib/posix_wrap/string.h: Likewise.
29520 * lib/posix_wrap/sys/types.h: Likewise.
29521 * lib/posix_wrap/unistd.h: Likewise.
29522 * lib/posix_wrap/wchar.h: Likewise.
29523 * lib/posix_wrap/wctype.h: Likewise.
29524 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29525 (grub_script.yy.h): Likewise.
29526 * script/yylex.l: Remove POSIX emulation #defines.
29527 * Makefile.in (POSIX_CFLAGS): New variable.
29528 (GNULIB_UTIL_CFLAGS): Likewise.
29529
29530 Regexp support.
29531
29532 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29533 (regexp_mod_SOURCES): New variable.
29534 (regexp_mod_CFLAGS): Likewise.
29535 (regexp_mod_LDFLAGS): Likewise.
29536 * commands/regexp.c: New file.
29537 * gnulib/regcomp.c: New file. Imported from gnulib.
29538 * gnulib/regex.c: Likewise.
29539 * gnulib/regex_internal.c: Likewise.
29540 * gnulib/regex_internal.h: Likewise.
29541 * gnulib/regexec.c: Likewise.
29542 * gnulib/regex.h: Likewise.
29543
29544 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29545
29546 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29547 unsupported video mode types.
29548
29549 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29550
29551 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29552
29553 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29554
29555 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29556 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29557
29558 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29559
29560 Remove unused grub_vga_get_font.
29561
29562 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29563 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29564
29565 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29566
29567 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29568 * include/grub/misc.h: Likewise.
29569
29570 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29571
29572 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29573 for which failure is fatal.
29574
29575 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29576
29577 * util/grub-install.in: Use mkdir -p to create grub directory.
29578 * util/i386/efi/grub-install.in: Likewise.
29579 * util/ieee1275/grub-install.in: Likewise.
29580
29581 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29582
29583 * Makefile.in (LEX): new variable.
29584
29585 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29586
29587 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29588 `=' and added double quotes on operands of this equality test.
29589
29590 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29591
29592 * Makefile.in (uninstall): Remove a leftover debug echo.
29593 Reported by: Grégoire Sutre
29594
29595 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29596
29597 MIPS multiboot2 support.
29598
29599 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29600 (multiboot2_mod_SOURCES): New variable.
29601 (multiboot2_mod_CFLAGS): Likewise.
29602 (multiboot2_mod_LDFLAGS): Likewise.
29603 (multiboot2_mod_ASFLAGS): Likewise.
29604 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29605 definition.
29606 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29607 (MULTIBOOT_MBI_REGISTER): Likewise.
29608 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29609 (MULTIBOOT_ELF32_MACHINE): Likewise.
29610 (MULTIBOOT_ELF64_MACHINE): Likewise.
29611 * include/grub/mips/multiboot.h: New file.
29612 * include/grub/video.h (grub_video_driver_id): New type
29613 GRUB_VIDEO_DRIVER_SM712.
29614 (grub_video_get_info_and_fini): Export.
29615 (grub_video_get_palette): Likewise.
29616 (grub_video_get_driver_id): Likewise.
29617 * include/multiboot2.h: Resynced with spec.
29618 * loader/i386/multiboot.c: Moved from here ...
29619 * loader/multiboot.c: ... here. All users updated.
29620 (grub_multiboot_boot): Use platform-specific macros.
29621 * loader/i386/multiboot_elfxx.c: Moved from here ...
29622 * loader/multiboot_elfxx.c: ... here. All users updated.
29623 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29624 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29625 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29626
29627 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29628
29629 Import gnulib argp module.
29630
29631 * gnulib/argp-ba.c: New file.
29632 * gnulib/argp-eexst.c: Likewise.
29633 * gnulib/argp-fmtstream.c: Likewise.
29634 * gnulib/argp-fmtstream.h: Likewise.
29635 * gnulib/argp-fs-xinl.c: Likewise.
29636 * gnulib/argp-help.c: Likewise.
29637 * gnulib/argp-namefrob.h: Likewise.
29638 * gnulib/argp-parse.c: Likewise.
29639 * gnulib/argp-pin.c: Likewise.
29640 * gnulib/argp-pv.c: Likewise.
29641 * gnulib/argp-pvh.c: Likewise.
29642 * gnulib/argp-version-etc.c: Likewise.
29643 * gnulib/argp-version-etc.h: Likewise.
29644 * gnulib/argp-xinl.c: Likewise.
29645 * gnulib/argp.h: Likewise.
29646
29647 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29648
29649 * kern/device.c (grub_device_iterate): Clear errors after failed
29650 opening device.
29651
29652 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29653
29654 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29655 returned by firmware.
29656
29657 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29658
29659 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29660 compilation on coreboot and qemu
29661
29662 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29663
29664 * include/multiboot2.h: Resync with spec.
29665
29666 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29667
29668 Multiboot2 tag support
29669
29670 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29671 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29672 Remove loader/multiboot_loader.c.
29673 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29674 (grub_multiboot2_real_boot): Likewise.
29675 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29676 (grub_get_multiboot_mmap_count): New proto.
29677 (grub_fill_multiboot_mmap): Likewise.
29678 (grub_multiboot_set_video_mode): Likewise.
29679 (grub_multiboot_set_console): Likewise.
29680 (grub_multiboot_load): Likewise.
29681 (grub_multiboot_load_elf): Likewise.
29682 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29683 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29684 * include/multiboot.h: Resynced with specification.
29685 * include/multiboot2.h: Resynced with specification.
29686 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29687 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29688 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29689 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29690 users updated.
29691 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29692 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29693 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29694 Removed.
29695 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29696 Moved from here...
29697 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29698 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29699 Moved from here...
29700 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29701 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29702 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29703 All users updated.
29704 * loader/i386/multiboot_mbi2.c: New file.
29705
29706 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29707
29708 Resync with gnulib.
29709
29710 * Makefile.in (GNULIB_CFLAGS): New variable.
29711 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29712 (grub_script_check_CFLAGS): New variable.
29713 * gnulib/alloca.h: Resync with gnulib.
29714 * gnulib/error.c: Likewise.
29715 * gnulib/error.h: Likewise.
29716 * gnulib/fnmatch.c: Likewise.
29717 * gnulib/fnmatch_loop.c: Likewise.
29718 * gnulib/getdelim.c: Likewise.
29719 * gnulib/getline.c: Likewise.
29720 * gnulib/getopt.c: Likewise.
29721 * gnulib/getopt1.c: Likewise.
29722 * gnulib/getopt_int.h: Likewise.
29723 * gnulib/gettext.h: Likewise.
29724 * gnulib/progname.c: Likewise.
29725 * gnulib/progname.h: Likewise.
29726
29727 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29728
29729 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29730 which is the case with --disabled-nls.
29731
29732 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29733 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29734 * util/misc.c: Likewise.
29735 * util/mkisofs/mkisofs.c: Likewise.
29736 * util/mkisofs/mkisofs.h: Likewise.
29737
29738 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29739
29740 Simplify Apple CC support.
29741
29742 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29743 Add 0 byte at the end not to have a symbol with empty target.
29744 * mmap/i386/pc/mmap_helper.S: Likewise.
29745 * genmk.rb: Ignore errors 2030 and 2050.
29746 * kern/i386/pc/startup.S: Use LOCAL when possible.
29747
29748 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29749
29750 Testcase and the fix for final semicolon on cmdline.
29751
29752 * tests/grub_script_final_semicolon.in: New testcase.
29753 * conf/tests.rmk: Rules for the new testcase.
29754 * script/parser.y: Grammar fix.
29755
29756 2010-03-26 BVK Chaitanya <bvk@localhost>
29757
29758 Blank lines testcase for GRUB script.
29759
29760 * tests/grub_script_blanklines.in: New testcase.
29761 * conf/tests.rmk: Rules for the new testcase.
29762
29763 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29764
29765 Don't use __FILE__.
29766
29767 * genmk.rb: Add -DGRUB_FILE to all C targets.
29768 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29769 * include/grub/list.h: Likewise.
29770 * include/grub/misc.h: Likewise.
29771 * include/grub/mm.h: Likewise.
29772 * include/grub/test.h: Likewise.
29773 * kern/mm.c: Likewise.
29774 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29775
29776 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29777
29778 Sunpc partitions support.
29779
29780 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29781 (grub_fstest_SOURCES): Likewise.
29782 (pkglib_MODULES): Add part_sunpc.mod.
29783 (part_sunpc_mod_SOURCES): New variable.
29784 (part_sunpc_mod_CFLAGS): Likewise.
29785 (part_sunpc_mod_LDFLAGS): Likewise.
29786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29787 * partmap/sunpc.c: New file.
29788
29789 2010-03-26 BVK Chaitanya <bvk@localhost>
29790
29791 For loop support to GRUB script.
29792
29793 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29794 (grub_script_create_cmdfor): New function prototype.
29795 (grub_script_execute_cmdfor): New function prototype.
29796 * script/execute.c (grub_script_execute_cmdfor): New function.
29797 * script/parser.y (command): New for command.
29798 (forcmd): New grammar rule.
29799 * script/script.c (grub_script_create_cmdfor): New function.
29800 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29801 function.
29802 * tests/grub_script_for1.in: New testcase.
29803 * conf/tests.rmk: Rules for new testcase.
29804
29805 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29806
29807 Nested partitions
29808
29809 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29810 'partition' is NULL, grub_partition_get_start already does that.
29811 * commands/loadenv.c (check_blocklists): Likewise.
29812 (write_blocklists): Likewise.
29813 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29814 (grub_fstest_SOURCES): Likewise.
29815 (pkglib_MODULES): Add part_bsd.mod.
29816 (part_bsd_mod_SOURCES): New variable.
29817 (part_bsd_mod_CFLAGS): Likewise.
29818 (part_bsd_mod_LDFLAGS): Likewise.
29819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29820 (grub_emu_SOURCES): Likewise.
29821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29822 * include/grub/bsdlabel.h: New file.
29823 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29824 'get_name'.
29825 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29826 (grub_partition_map_list): New variable.
29827 (grub_partition_map_register): Inline.
29828 (grub_partition_map_unregister): Likewise.
29829 (FOR_PARTITION_MAPS): New macro.
29830 (grub_partition_map_iterate): Removed.
29831 (grub_partition_get_start): Handle nested partitions.
29832 * include/grub/msdos_partition.h: Remove bsd-related entries.
29833 (grub_pc_partition): Remove.
29834 * kern/disk.c (grub_disk_close): Free partition data.
29835 (grub_disk_adjust_range): Handle nested partitions.
29836 * kern/partition.c (grub_partition_map_probe): New function.
29837 (grub_partition_probe): Parse name to number, handle subpartitions.
29838 (get_partmap): New function.
29839 (grub_partition_iterate): Handle subpartitions.
29840 (grub_partition_get_name): Likewise.
29841 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29842 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29843 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29844 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29845 Set 'number'.
29846 (acorn_partition_map_probe): Remove.
29847 (acorn_partition_map_get_name): Likewise.
29848 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29849 Set 'number'.
29850 Set 'index' to 0 since there can be only one partition entry per sector.
29851 (amiga_partition_map_probe): Remove.
29852 (amiga_partition_map_get_name): Likewise.
29853 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29854 Set 'number'.
29855 Set 'offset' and 'index' to real positions of partitions.
29856 (apple_partition_map_probe): Remove.
29857 (apple_partition_map_get_name): Likewise.
29858 * partmap/bsdlabel.c: New file.
29859 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29860 Set 'number'.
29861 Allocate 'data' so it can be correctly freed.
29862 Set 'index' to offset inside sector.
29863 (gpt_partition_map_probe): Remove.
29864 (gpt_partition_map_get_name): Likewise.
29865 * partmap/msdos.c (grub_partition_parse): Remove.
29866 (pc_partition_map_iterate): Don't force raw access.
29867 Set 'number'.
29868 Make 'ext_offset' a local variable.
29869 (pc_partition_map_probe): Remove.
29870 (pc_partition_map_get_name): Remove.
29871 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29872 Set 'number'.
29873 (sun_partition_map_probe): Remove.
29874 (sun_partition_map_get_name): Likewise.
29875 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29876 (grub_pcpart_type): Likewise.
29877 * util/hostdisk.c (open_device): Handle new numbering scheme.
29878 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29879 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29880 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29881 * util/grub-install.in: Insert all subpartition modules.
29882 * util/ieee1275/grub-install.in: Likewise.
29883
29884 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29885
29886 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29887 grammar.
29888
29889 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
29890
29891 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29892
29893 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
29894
29895 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29896 match where 'make install' puts them.
29897 * util/i386/efi/grub-install.in: Likewise.
29898
29899 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
29900
29901 * .bzrignore: Add gentrigtables, grub-script-check,
29902 grub_script_check_init.c, grub_script_check_init.h, and
29903 trigtables.c.
29904
29905 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29906
29907 * kern/parser.c: Indented.
29908
29909 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29910
29911 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29912
29913 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29914
29915 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29916 alpha_mask_size == 0 case.
29917
29918 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29919
29920 GRUB shell lexer and parser improvements.
29921
29922 * conf/any-emu.rmk: Build rule updates.
29923 * conf/common.rmk: Likewise.
29924 * conf/i386-coreboot.rmk: Likewise.
29925 * conf/i386-efi.rmk: Likewise.
29926 * conf/i386-ieee1275.rmk: Likewise.
29927 * conf/i386-pc.rmk: Likewise.
29928 * conf/powerpc-ieee1275.rmk: Likewise.
29929 * conf/x86_64-efi.rmk: Likewise.
29930
29931 * configure.ac: Configure check for flex.
29932
29933 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29934 types.
29935 (grub_lexer_param): Struct member updates.
29936 (grub_parser_param): Likewise.
29937 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29938 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29939 (grub_script_lexer_init): Prototype update.
29940 (grub_script_lexer_record_start): Likewise.
29941 (grub_script_lexer_record_stop): Likewise.
29942 (grub_script_lexer_yywrap): New function prototype.
29943 (grub_script_lexer_fini): Likewise.
29944 (grub_script_execute_argument_to_string): Removed by...
29945 (grub_script_execute_argument_to_argv): ...better version.
29946
29947 * script/execute.c (ROUND_UPTO): New macro.
29948 (grub_script_execute_cmdline): Out of memory fixes.
29949 (grub_script_execute_menuentry): Likewise.
29950 (grub_script_execute_argument_to_string): Removed. Update all
29951 users by...
29952 (grub_script_execute_argument_to_argv): ...better version.
29953 * script/function.c (grub_script_function_create): Use
29954 grub_script_execute_argument_to_argv instead of
29955 grub_script_execute_argument_to_string.
29956
29957 * script/lexer.c (check_varstate): Removed.
29958 (check_textstate): Removed.
29959 (grub_script_lexer_record_start): Likewise.
29960 (grub_script_lexer_record_stop): Likewise.
29961 (recordchar): Replaced with...
29962 (grub_script_lexer_record): ...new function.
29963 (nextchar): Removed.
29964 (grub_script_lexer_init): Rewritten.
29965 (grub_script_yylex): Rewritten.
29966 (append_newline): New function.
29967 (grub_script_lexer_yywrap): New function.
29968 (grub_script_lexer_fini): New function.
29969 (grub_script_yyerror): Sets error flag.
29970
29971 * script/yylex.l: New file.
29972 (grub_lexer_yyfree): Wrapper for flex yyffre.
29973 (grub_lexer_yyalloc): Likewise.
29974 (grub_lexer_yyrealloc): Likewise.
29975 * script/parser.y: Refactored.
29976
29977 * script/script.c (grub_script_arg_add): Out of memory fixes.
29978 (grub_script_add_arglist): Likewise.
29979 (grub_script_create_cmdline): Likewise.
29980 (grub_script_create_cmdmenu): Likewise.
29981 (grub_script_add_cmd): Likewise.
29982 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29983 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29984 unnecessary code.
29985
29986 * tests/grub_script_echo1.in: New testcase.
29987 * tests/grub_script_vars1.in: New testcase.
29988 * tests/grub_script_echo_keywords.in: New testcase.
29989
29990 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29991
29992 Remove some redundancy in build system.
29993
29994 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29995 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29996 (TARGET_LDFLAGS): Add -nostdlib.
29997 (TARGET_IMG_LDFLAGS): Likewise.
29998 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29999 anything since mmap isn't available.
30000 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
30001 Add util/time.c.
30002 (pkglib_MODULES): Remove reboot.mod.
30003 (reboot_mod_SOURCES): Removed.
30004 (reboot_mod_CFLAGS): Likewise.
30005 (reboot_mod_LDFLAGS): Likewise.
30006 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
30007 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
30008 (DEFSYMFILES): Add kernel_syms.lst.
30009 (kernel_img_HEADERS): Add common headers.
30010 (symlist.c): New target.
30011 (kernel_syms.lst): Likewise.
30012 (pkglib_MODULES): Add memdisk.mod.
30013 (memdisk_mod_SOURCES): New variable.
30014 (memdisk_mod_CFLAGS): Likewise.
30015 (memdisk_mod_LDFLAGS): Likewise.
30016 (pkglib_MODULES): Add reboot.mod.
30017 (reboot_mod_SOURCES): New variable.
30018 (reboot_mod_CFLAGS): Likewise.
30019 (reboot_mod_LDFLAGS): Likewise.
30020 (pkglib_MODULES): Add date.mod.
30021 (date_mod_SOURCES): New variable.
30022 (date_mod_CFLAGS): Likewise.
30023 (date_mod_LDFLAGS): Likewise.
30024 (pkglib_MODULES): Add datehook.mod.
30025 (datehook_mod_SOURCES): New variable.
30026 (datehook_mod_CFLAGS): Likewise.
30027 (datehook_mod_LDFLAGS): Likewise.
30028 (pkglib_MODULES): Add lsmmap.mod.
30029 (lsmmap_mod_SOURCES): New variable.
30030 (lsmmap_mod_CFLAGS): Likewise.
30031 (lsmmap_mod_LDFLAGS): Likewise.
30032 (pkglib_MODULES): Add boot.mod.
30033 (boot_mod_SOURCES): New variable.
30034 (boot_mod_CFLAGS): Likewise.
30035 (boot_mod_LDFLAGS): Likewise.
30036 * conf/i386-coreboot.rmk: Removed redundant parts.
30037 * conf/i386-ieee1275.rmk: Likewise.
30038 * conf/i386-pc.rmk: Likewise.
30039 * conf/mips-yeeloong.rmk: Likewise.
30040 * conf/mips.rmk: Likewise.
30041 * conf/powerpc-ieee1275.rmk: Likewise.
30042 * conf/sparc64-ieee1275.rmk: Likewise.
30043 * conf/x86_64-efi.rmk: Likewise.
30044 * conf/i386-coreboot.rmk: Moved qemu parts ..
30045 * conf/i386-qemu.rmk: ... here
30046 * conf/i386-efi.rmk: Moved common parts to...
30047 * conf/x86-efi.rmk: ... here.
30048 * conf/i386.rmk: Added modules common to all x86 variants.
30049 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
30050 * disk/memdisk.c: Remove grub/machine/kernel.h.
30051 * gensymlist.sh.in: Include symbol.h.
30052 * hook/datehook.c: Correct module name.
30053 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
30054 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
30055 * include/grub/i386/efi/serial.h: New file.
30056 * include/grub/x86_64/efi/serial.h: Likewise.
30057 * util/time.c: Likewise.
30058 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
30059
30060 2010-03-14 Colin King <colin.king@ubuntu.com>
30061 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
30062
30063 Shrink the pre-partition-table part of boot.img by eight bytes.
30064
30065 * boot/i386/pc/boot.S (ERR): New macro.
30066 (chs_mode): Use ERR.
30067 (geometry_error): Likewise.
30068 (hd_probe_error): Remove. This is only used once, so we wrwite
30069 it inline instead.
30070 (read_error): Instead of printing read_error_string, just set up
30071 %si and fall through to ...
30072 (error_message): ... this new function, also used by ERR.
30073
30074 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
30075
30076 Speed up consecutive hostdisk operations on the same device.
30077
30078 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
30079 (grub_util_biosdisk_open): Initialise disk->data.
30080 (struct linux_partition_cache): New structure.
30081 (linux_find_partition): Cache partition start positions; these are
30082 expensive to compute on every read and write.
30083 (open_device): Cache open file descriptor in disk->data, so that we
30084 don't have to reopen it and flush the buffer cache for consecutive
30085 operations on the same device.
30086 (grub_util_biosdisk_close): New function.
30087 (grub_util_biosdisk_dev): Set `close' member.
30088
30089 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
30090 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
30091 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30092 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
30093 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
30094
30095 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30096
30097 Compile parts of grub-emu as modules.
30098
30099 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
30100 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
30101 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
30102 (all-local): Add $(GRUB_EMU).
30103 (install-local): Install $(GRUB_EMU).
30104 (uninstall): Uninstall $(GRUB_EMU).
30105 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
30106 * kern/dl.c: Likewise.
30107 * commands/sleep.c: Not include machine/time.h.
30108 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
30109 (COMMON_CFLAGS): Likewise.
30110 (sbin_UTILITIES): Remove grub-emu.
30111 (grub_emu_SOURCES): Removed.
30112 (kernel_img_RELOCATABLE): New variable.
30113 (pkglib_PROGRAMS): Add kernel.img.
30114 (kernel_img_SOURCES): New variable
30115 (kernel_img_CFLAGS): Likewise.
30116 (kernel_img_LDFLAGS): Likewise.
30117 (TARGET_NO_STRIP): Likewise.
30118 (TARGET_NO_DYNAMIC_MODULES): Likewise.
30119 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
30120 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
30121 (grub-emu): New target.
30122 (GRUB_EMU): New variable.
30123 * configure.ac: Whitelist -emu as possible x86_64 architecture.
30124 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
30125 * loader/xnu.c: Likewise.
30126 * include/grub/pci.h: Likewise.
30127 * genemuinit.sh: New file.
30128 * genemuinitheader.sh: Likewise.
30129 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
30130 Support TARGET_NO_DYNAMIC_MODULES.
30131 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
30132 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
30133 * disk/loopback.c: Likewise.
30134 * font/font_cmd.c: Likewise.
30135 * partmap/acorn.c: Likewise.
30136 * partmap/amiga.c: Likewise.
30137 * partmap/apple.c: Likewise.
30138 * partmap/gpt.c: Likewise.
30139 * partmap/msdos.c: Likewise.
30140 * partmap/sun.c: Likewise.
30141 * parttool/msdospart.c: Likewise.
30142 * term/gfxterm.c: Likewise.
30143 * video/bitmap.c: Likewise.
30144 * video/readers/jpeg.c: Likewise.
30145 * video/readers/png.c: Likewise.
30146 * video/readers/tga.c: Likewise.
30147 * video/video.c: Likewise.
30148 * util/grub-emu.c (read_command_list): Removed.
30149 (main): Don't call util_init_nls.
30150 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
30151 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
30152
30153 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30154
30155 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
30156 date.mod, datehook.mod.
30157 (datetime_mod_SOURCES): New variable.
30158 (datetime_mod_CFLAGS): Likewise.
30159 (datetime_mod_LDFLAGS): Likewise.
30160 (date_mod_SOURCES): Likewise.
30161 (date_mod_CFLAGS): Likewise.
30162 (date_mod_LDFLAGS): Likewise.
30163 (datehook_mod_SOURCES): Likewise.
30164 (datehook_mod_CFLAGS): Likewise.
30165 (datehook_mod_LDFLAGS): Likewise.
30166 * conf/sparc64-ieee1275.rmk: Likewise.
30167 * lib/ieee1275/datetime.c: New file.
30168
30169 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30170
30171 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
30172 (ieee1275_fb_mod_SOURCES): New variable.
30173 (ieee1275_fb_mod_CFLAGS): Likewise.
30174 (ieee1275_fb_mod_LDFLAGS): Likewise.
30175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
30176 New proto.
30177 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
30178 (HEAP_MAX_ADDR): Likewise.
30179 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
30180 type.
30181 Correct stop condition.
30182 (grub_ieee1275_devices_iterate): New function.
30183 * video/ieee1275.c: New file.
30184
30185 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30186
30187 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
30188
30189 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
30190 as scratch.
30191 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
30192 SCRATCH_PAD_DISKBOOT as scratch.
30193 (bootit): Pass Openfirmware pointer in %o4.
30194 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
30195 of 0x200000.
30196 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
30197 with util/grub-mkrawimage.c.
30198 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
30199 * include/grub/aout.h (AOUT_MID_SUN): New definition.
30200 (grub_aout_get_type) [GRUB_UTIL]: Removed.
30201 (grub_aout_load) [GRUB_UTIL]: Likewise.
30202 * include/grub/kernel.h (grub_modules_get_end): New proto.
30203 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
30204 (SCRATCH_PAD_BOOT): New definition.
30205 (SCRATCH_PAD_DISKBOOT): Likewise.
30206 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
30207 * include/grub/sparc64/ieee1275/ieee1275.h
30208 (grub_ieee1275_original_stack): New variable
30209 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30210 New definition
30211 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
30212 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
30213 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
30214 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
30215 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
30216 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
30217 (grub_platform_image_format_t): New type.
30218 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
30219 * kern/main.c (grub_modules_get_end)
30220 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
30221 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
30222 (codestart): Switch stacks.
30223 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
30224 variable.
30225 (grub_heap_init): Use grub_modules_get_end.
30226 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
30227 stack.
30228 * util/grub-mkrawimage.c (generate_image): Support sparc64.
30229 (main): Likewise.
30230 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
30231
30232 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
30233
30234 * util/grub-mkrescue.in: Base ISO UUID on UTC.
30235
30236 2010-03-08 Matt Kraai <kraai@ftbfs.org>
30237
30238 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
30239 bug #559005).
30240
30241 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
30242
30243 * genmoddep.awk: Output all missing symbols and not only first.
30244
30245 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30246
30247 * NEWS: Put the date of 1.98 release.
30248
30249 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30250
30251 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
30252 ft2build.h.
30253
30254 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30255
30256 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
30257 completition in the middle of string.
30258
30259 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30260
30261 * util/grub-mkrescue.in: Use mktemp with explicit template.
30262
30263 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30264
30265 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
30266
30267 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30268
30269 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
30270 right pointer.
30271
30272 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30273
30274 Fix FreeBSD compilation.
30275
30276 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
30277 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
30278
30279 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30280
30281 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
30282
30283 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30284
30285 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
30286
30287 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30288
30289 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
30290
30291 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
30292
30293 Support relative image path in theme file.
30294
30295 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
30296 (image_set_property): Handle theme_dir and relative path.
30297
30298 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30299
30300 * configure.ac: Alias amd64 to x86_64.
30301
30302 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30303
30304 * NEWS: mention multiboot on EFI.
30305
30306 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30307
30308 * kern/main.c (grub_load_modules): Handle errors from init functions of
30309 embeded modules.
30310
30311 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30312
30313 * normal/autofs.c (autoload_fs_module): Handle errors.
30314
30315 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30316
30317 Disable linux.mod on qemu-mips since it's not functional and leads
30318 to compilation failure.
30319
30320 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
30321 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
30322 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
30323 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
30324 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
30325 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
30326 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
30327 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
30328 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
30329 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
30330 Reported by: BVK Chaitanya
30331
30332 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
30333
30334 * INSTALL: Add gettext as a dependency and add qemu to a new section
30335 "Prerequisites for make-check".
30336
30337 2010-03-04 Christian Franke <franke@computer.org>
30338
30339 * util/grub-pe2elf.c: Add missing include "progname.h".
30340
30341 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30342
30343 * normal/crypto.c (read_crypto_list): Fix a typo.
30344 Reported by: Seth Goldberg.
30345
30346 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30347
30348 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
30349 Reported by: Seth Goldberg.
30350
30351 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30352
30353 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
30354 ascii.bitmaps.
30355
30356 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30357
30358 * genmk.rb: Remove terminal*.lst in make clean.
30359 Reported by: Seth Goldberg.
30360
30361 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30362
30363 * util/i386/efi/grub-install.in: Copy gettext files.
30364
30365 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30366
30367 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30368
30369 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30370
30371 Wait for user entry basing on presence of output rather than on errors.
30372
30373 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30374 (grub_install_newline_hook): Likewise.
30375 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30376 * normal/menu.c (show_menu): Check line_counter to determine presence
30377 of output.
30378 * normal/term.c (grub_normal_line_counter): New variable.
30379 (grub_normal_get_line_counter): New function.
30380 (grub_install_newline_hook): Likewise.
30381
30382 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30383
30384 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30385
30386 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30387
30388 * configure.ac: Update version to 1.98.
30389
30390 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30391
30392 * util/grub.d/10_linux.in (linux_entry): Don't default to
30393 gfxpayload=keep if Linux doesn't support video handover.
30394
30395 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30396
30397 Don't compile video modules on yeeloong since video subsystem is part
30398 of kernel.
30399
30400 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30401 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30402 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30403 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30404 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30405 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30406 * include/grub/bitmap_scale.h: Likewise.
30407 * include/grub/bufio.h: Likewise.
30408 * include/grub/font.h: Likewise.
30409 * include/grub/gfxterm.h: Likewise.
30410 * include/grub/video.h: Likewise.
30411 * include/grub/vbe.h: Don't include video_fb.h.
30412 * video/i386/pc/vbe.c: Include video_fb.h.
30413 * commands/i386/pc/vbetest.c: Include video.h.
30414
30415 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30416
30417 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30418 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30419 default entry if GRUB_SAVEDEFAULT=true. This allows using
30420 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30421 saving a new default on every boot.
30422
30423 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30424
30425 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30426 * normal/term.c (read_terminal_list): Likewise.
30427 * normal/main.c (grub_normal_init_page): Likewise.
30428 (grub_normal_read_line_real): Likewise.
30429
30430 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30431
30432 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30433 memory leak.
30434 Reported by: Seth Goldberg.
30435
30436 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30437
30438 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30439 duplicate declaration of `start'.
30440
30441 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30442
30443 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30444 filename.
30445 Reported by: Georgy Buranov
30446
30447 2010-02-20 Carles Pina i Estany <carles@pina.cat>
30448
30449 * util/grub-mkrawimage.c (usage): Change string formatting to
30450 improve gettext.
30451
30452 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30453
30454 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30455 backspace keys.
30456
30457 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30458
30459 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30460 Reported by: Michael Suchanek.
30461
30462 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
30463
30464 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30465 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30466
30467 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30468
30469 Remove any reference to non-free fonts.
30470
30471 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30472 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30473 uses non-free components.
30474 * font/font.c (grub_font_get_name): Remove example name.
30475 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30476 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30477 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30478 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30479
30480 2010-02-16 Georgy Buranov <gburanov@gmail.com>
30481
30482 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30483
30484 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30485
30486 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30487 Double divisor.
30488 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30489 features.
30490 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30491
30492 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30493
30494 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30495
30496 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30497
30498 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30499 * docs/grub.texi (Command-line and menu entry commands): Document play
30500 command.
30501
30502 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30503
30504 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30505 parse arguments as inline tempo and notes. Move code for playing notes
30506 to...
30507 (play): ... new function.
30508
30509 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30510
30511 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30512 grub_uint16_t instead of short.
30513 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30514 disk from little endian to cpu endianness.
30515
30516 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30517
30518 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30519 GRUB_TICKS_PER_SECOND instead of 120.
30520
30521 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30522
30523 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30524 escape sequence after \e.
30525
30526 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30527
30528 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30529 non-ASCII characters.
30530
30531 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30532
30533 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30534 set root in single quotes to prevent \, from being unescaped.
30535
30536 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30537
30538 Prevent unknown commands from stopping menuentry execution.
30539
30540 * script/execute.c (grub_script_execute_cmdline): Print error after
30541 unknown command.
30542
30543 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30544
30545 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30546 Reported by: Pavel Pisa.
30547
30548 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30549
30550 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30551
30552 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30553
30554 Merge grub_ieee1275_map_physical into grub_map and rename to
30555 grub_ieee1275_map
30556
30557 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30558 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30559 Remove.
30560 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30561 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30562 necessary.
30563 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30564
30565 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30566
30567 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30568 opening and not after.
30569
30570 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30571
30572 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30573 constants.
30574
30575 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30576
30577 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30578 (alloc_phys): Use ALIGN_UP instead of align_addr.
30579
30580 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30581
30582 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30583
30584 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30585
30586 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30587
30588 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30589
30590 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30591 verbose dprintf.
30592
30593 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30594
30595 Fix over-4GiB seek on sparc64.
30596
30597 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30598 Replace pos_i and pos_lo with pos. All users updated.
30599 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30600 New constant.
30601 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30602 Likewise.
30603 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30604 and pos_lo.
30605
30606 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30607
30608 * util/grub-mkrawimage.c (main): Call set_program_name.
30609
30610 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30611
30612 Properly align 64-bit targets.
30613
30614 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30615 (generate_image): Use ALIGN_ADDR.
30616
30617 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30618
30619 Properly create cross-endian images.
30620
30621 * include/grub/types.h (grub_host_to_target_addr): New macro
30622 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30623
30624 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30625
30626 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30627
30628 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30629
30630 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30631
30632 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30633 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30634 (grub_linux_boot): Divide by 64K when on VESA.
30635
30636 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30637
30638 Support GRUB_GFXPAYLOAD_LINUX.
30639
30640 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30641 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30642
30643 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30644
30645 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30646 to show messages instead of discarding them.
30647 Process errors after executing command and not before. Keep old method
30648 too as precaution.
30649
30650 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30651
30652 * configure.ac: Check for ft2build.h.
30653
30654 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30655
30656 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30657
30658 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30659
30660 * genkernsyms.sh.in: Use TARGET_CC.
30661
30662 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
30663
30664 * NEWS: Update.
30665
30666 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30667
30668 * include/grub/multiboot2.h: Remove leftover file.
30669 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30670 * include/grub/partition.h [GRUB_UTIL]: Likewise.
30671
30672 2010-02-07 Yves Blusseau <blusseau@zetam.org>
30673
30674 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
30675
30676 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30677
30678 Fix warnings in grub-emu when compiling with maximum warning options.
30679
30680 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30681 (grub_arch_modules_addr): Return 0 and not NULL.
30682 * util/misc.c (ENABLE_RELOCATABLE): New definition.
30683 (xstrdup): Use newstr instead of dup.
30684 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30685 of disk to dsk to avoid shadowing.
30686 (find_free_slot): Fix prototype.
30687 * util/getroot.c (grub_util_is_dmraid): Make static.
30688 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30689 Add missing prototype.
30690 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
30691
30692 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30693
30694 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30695 appropriately.
30696
30697 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30698
30699 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30700 code out.
30701
30702 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30703
30704 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30705 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30706 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30707 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30708 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30709 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30710
30711 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30712
30713 * include/grub/err.h (grub_err_printf): Don't export.
30714
30715 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30716
30717 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30718
30719 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30720
30721 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30722 * kern/misc.c (grub_gettext_dummy): Make static.
30723
30724 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30725
30726 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30727 by non-valid ones.
30728 * kern/term.c (grub_putchar): Likewise.
30729
30730 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30731
30732 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30733 buggy hook call and memory leak.
30734
30735 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30736
30737 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30738
30739 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30740
30741 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30742
30743 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30744
30745 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30746 modevar.
30747 Return grub_errno on allocation error.
30748
30749 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30750
30751 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30752
30753 2010-02-06 Yves Blusseau <blusseau@zetam.org>
30754
30755 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30756 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30757
30758 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30759
30760 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30761 non-pxe disk.
30762 (grub_pxefs_open): Likewise.
30763
30764 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30765
30766 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30767 * util/grub.d/10_kfreebsd.in: Likewise.
30768 * util/grub.d/10_linux.in: Likewise.
30769
30770 2010-02-06 Colin D Bennett <colin@gibibit.com>
30771
30772 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30773 (gfxmenu_mod_SOURCES): New variable.
30774 (gfxmenu_mod_CFLAGS): Likewise.
30775 (gfxmenu_mod_LDFLAGS): Likewise.
30776 * include/grub/term.h (grub_term_set_current_output): Declare
30777 argument as const.
30778 * docs/gfxmenu-theme-example.txt: New file.
30779 * gfxmenu/gfxmenu.c: Likewise.
30780 * gfxmenu/gui_box.c: Likewise.
30781 * gfxmenu/gui_canvas.c: Likewise.
30782 * gfxmenu/gui_circular_progress.c: Likewise.
30783 * gfxmenu/gui_image.c: Likewise.
30784 * gfxmenu/gui_label.c: Likewise.
30785 * gfxmenu/gui_list.c: Likewise.
30786 * gfxmenu/gui_progress_bar.c: Likewise.
30787 * gfxmenu/gui_string_util.c: Likewise.
30788 * gfxmenu/gui_util.c: Likewise.
30789 * gfxmenu/icon_manager.c: Likewise.
30790 * gfxmenu/model.c: Likewise.
30791 * gfxmenu/named_colors.c: Likewise.
30792 * gfxmenu/theme_loader.c: Likewise.
30793 * gfxmenu/view.c: Likewise.
30794 * gfxmenu/widget-box.c: Likewise.
30795 * include/grub/gfxmenu_model.h: Likewise.
30796 * include/grub/gfxmenu_view.h: Likewise.
30797 * include/grub/gfxwidgets.h: Likewise.
30798 * include/grub/gui.h: Likewise.
30799 * include/grub/gui_string_util.h: Likewise.
30800 * include/grub/icon_manager.h: Likewise.
30801
30802 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30803
30804 Agglomerate scrolling in gfxterm.
30805
30806 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30807 (grub_virtual_screen_setup): Initialise 'total_screen'.
30808 (write_char): Split to ...
30809 (paint_char): ... this ...
30810 (write_char): ... and this.
30811 (paint_char): Handle delayed scrolling.
30812 (draw_cursor): Likewise.
30813 (scroll_up): Split to ...
30814 (real_scroll): ... this ...
30815 (scroll_up): ... and this.
30816 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30817 characters.
30818 (grub_gfxterm_refresh): Call real_scroll.
30819
30820 2010-02-06 Colin D Bennett <colin@gibibit.com>
30821
30822 * include/grub/misc.h (grub_iscntrl): New inline function.
30823 (grub_isalnum): Likewise.
30824 (grub_strtol): Likewise.
30825
30826 2010-02-06 Colin D Bennett <colin@gibibit.com>
30827
30828 * normal/menu_text.c (get_entry_number): Move from here ...
30829 * normal/menu.c (get_entry_number): ... moved here.
30830 * include/grub/menu.h (grub_menu_get_default_entry_index):
30831 New prototype.
30832 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30833 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30834 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30835 (grub_menu_viewer_should_return): Likewise.
30836 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30837 * normal/menu_text.c (run_menu): Enable menu switching.
30838 * normal/menu_viewer.c (should_return): New variable.
30839 (menu_viewer_changed): Likewise.
30840 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30841 (grub_menu_viewer_should_return): New function.
30842 (menuviewer_write_hook): Likewise.
30843 (grub_menu_viewer_init): Likewise.
30844
30845 2010-02-06 Colin D Bennet <colin@gibibit.com>
30846 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30847
30848 Support for gfxterm in a window.
30849
30850 * include/grub/gfxterm.h: New file.
30851 * include/grub/video.h (struct grub_video_rect): New declaration.
30852 (grub_video_rect_t): Likewise.
30853 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30854 (refcount): New variable.
30855 (render_target): Likewise.
30856 (window): Likewise.
30857 (repaint_callback): Likewise.
30858 (grub_virtual_screen_setup): Use 'render_target'.
30859 (init_window): New function.
30860 (grub_gfxterm_init_window): Likewise.
30861 (grub_gfxterm_init): Check reference counter.
30862 Use init_window.
30863 (destroy_window): New function.
30864 (grub_gfxterm_destroy_window): Likewise.
30865 (grub_gfxterm_fini): Check reference counter.
30866 Use destroy_window.
30867 (redraw_screen_rect): Restore viewport.
30868 Use 'render_target' and 'window'.
30869 Call 'repaint_callback'.
30870 (write_char): Use 'render_target'.
30871 (draw_cursor): Likewise.
30872 (scroll_up): Restore viewport.
30873 Use 'render_target' and 'window'.
30874 Call 'repaint_callback'.
30875 (grub_gfxterm_cls): Likewise.
30876 (grub_gfxterm_refresh): Use 'window'.
30877 (grub_gfxterm_set_repaint_callback): New function.
30878 (grub_gfxterm_background_image_cmd): Use 'window'.
30879 (grub_gfxterm_get_term): New function.
30880 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30881
30882 2010-02-06 Colin D Bennett <colin@gibibit.com>
30883
30884 Bitmap scaling support.
30885
30886 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30887 (bitmap_scale_mod_SOURCES): New variable.
30888 (bitmap_scale_mod_CFLAGS): Likewise.
30889 (bitmap_scale_mod_LDFLAGS): Likewise.
30890 * include/grub/bitmap_scale.h: New file.
30891 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30892 (background_image_cmd_options): New variable.
30893 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30894 (cmd): Rename and change type to ...
30895 (background_image_cmd_handle): ... this. All users updated.
30896 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30897 * video/bitmap_scale.c: New file.
30898
30899 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30900
30901 SDL support.
30902
30903 * Makefile.in (LIBSDL): New variable.
30904 (enable_grub_emu_sdl): Likewise.
30905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30906 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30907 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30908 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30909 * util/sdl.c: New file.
30910
30911 2010-02-06 Colin D Bennett <colin@gibibit.com>
30912 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30913
30914 Double buffering support.
30915
30916 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30917 * include/grub/video.h: Update comment.
30918 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30919 New type.
30920 (grub_video_fb_doublebuf_blit_init): New prototype.
30921 * term/gfxterm.c (scroll_up): Support double buffering.
30922 (grub_gfxterm_refresh): Likewise.
30923 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30924 (grub_video_fb_doublebuf_blit_init): Likewise.
30925 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30926 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30927 'displayed_page', 'render_page' and 'update_screen'.
30928 (grub_video_vbe_fini): Free offscreen buffer.
30929 (doublebuf_pageflipping_commit): New function.
30930 (doublebuf_pageflipping_update_screen): Likewise.
30931 (doublebuf_pageflipping_init): Likewise.
30932 (double_buffering_init): Likewise.
30933 (grub_video_vbe_setup): Enable doublebuffering.
30934 (grub_video_vbe_swap_buffers): Implement.
30935 (grub_video_vbe_set_active_render_target): Handle double buffering.
30936 (grub_video_vbe_get_active_render_target): Likewise.
30937 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30938 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30939 (grub_video_vbe_enable_double_buffering): Likewise.
30940 (grub_video_vbe_swap_buffers): Use update_screen.
30941 (grub_video_set_mode): Use double buffering.
30942
30943 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30944
30945 * maintainance/gentrigtables.py: Remove.
30946 * lib/trig.c: Likewise.
30947
30948 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30949
30950 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30951 `trigtables.c'.
30952 (trigtables.c): New rule.
30953 (gentrigtables): Likewise.
30954 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30955
30956 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30957
30958 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30959 integer constants.
30960
30961 2010-02-06 Colin D Bennet <colin@gibibit.com>
30962
30963 Trigonometry support.
30964
30965 * include/grub/trig.h: New file.
30966 * lib/trig.c: Likewise.
30967 * maintainance/gentrigtables.py: Likewise.
30968 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30969 (trig_mod_SOURCES): New variable.
30970 (trig_mod_CFLAGS): Likewise.
30971 (trig_mod_LDFLAGS): Likewise.
30972
30973 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30974
30975 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30976 disk devices.
30977
30978 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30979
30980 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30981 error.
30982
30983 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30984
30985 * util/hostdisk.c (open_device): Don't use partition device when reading
30986 before the partition.
30987 (grub_util_biosdisk_read): Don't read from partition and before the
30988 partition in single operation.
30989 (grub_util_biosdisk_write): Don't write to partition and before the
30990 partition in single operation.
30991
30992 2010-02-03 Torsten Landschoff <torsten@debian.org>
30993
30994 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30995 last sectors.
30996
30997 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30998
30999 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
31000 CDROM reads.
31001 (grub_biosdisk_write): Refuse to write to CDROM.
31002
31003 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
31004
31005 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
31006
31007 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
31008
31009 * font/font.c (find_glyph): Check that bmp_idx is available before
31010 using it.
31011 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
31012 with (font == NULL).
31013
31014 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
31015
31016 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
31017
31018 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
31019
31020 * include/grub/script_sh.h (sourcecode): Add const qualifier.
31021 * util/grub-script-check.c (getline): Fix empty lines case.
31022
31023 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
31024
31025 * Makefile.in (check): Exit with fail status when one of the tests
31026 fails.
31027 * tests/example_functional_test.c (example_test): Fix reversed assert.
31028 * tests/example_unit_test.c (example_test): Likewise.
31029
31030 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
31031
31032 * util/grub.d/10_linux.in: This script does not use any of the
31033 contents of gettext.sh, only the external command `gettext', so stop
31034 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
31035 the same prefix as GRUB.)
31036 * util/grub.d/10_kfreebsd.in: Likewise.
31037
31038 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
31039
31040 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
31041 of the line.
31042
31043 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
31044
31045 * kern/disk.c (grub_disk_read): Fix offset computation when reading
31046 last sectors.
31047
31048 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
31049
31050 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
31051 having a 4KiB and not 32KiB buffer size.
31052
31053 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
31054
31055 * util/hostfs.c: Include `<errno.h>'.
31056 (grub_hostfs_read): Handle errors from fseeko() and fread().
31057
31058 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
31059
31060 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
31061 loop when using read hooks on files whose size isn't sector-aligned.
31062
31063 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
31064
31065 Remove unused parameter.
31066
31067 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
31068 (grub_iso9660_open): Remove initialization of `data->length'.
31069
31070 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
31071
31072 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
31073 memleak conditions.
31074
31075 2010-01-27 Carles Pina i Estany <carles@pina.cat>
31076
31077 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
31078 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
31079
31080 2010-01-26 Carles Pina i Estany <carles@pina.cat>
31081
31082 * util/bin2h.c (usage): Fix warning (space after backslash).
31083
31084 2010-01-26 Carles Pina i Estany <carles@pina.cat>
31085
31086 * font/font.c: Include `grub/fontformat.h.
31087 Remove font file format constants.
31088 (grub_font_load): Use the new macros.
31089 * include/grub/fontformat.h: New file.
31090 * util/grub-mkfont.c: Include `grub/fontformat.c'.
31091 (write_font_pf2): Use the new macros.
31092
31093 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
31094
31095 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
31096 does.
31097
31098 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
31099
31100 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
31101
31102 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
31103 (_start): Macroify `0x7F'.
31104
31105 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
31106 (make_install_device): Use "(pxe)" as fallback prefix when booting
31107 via PXE.
31108
31109 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
31110
31111 * configure.ac: Reset LIBS after check for libgcc symbols.
31112
31113 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
31114
31115 * util/hostdisk.c (open_device): Add trailing newline to debug
31116 message.
31117
31118 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
31119
31120 * configure.ac: Check for `limits.h'.
31121 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
31122
31123 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
31124
31125 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
31126 capitalize error strings.
31127
31128 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
31129
31130 * util/grub.d/10_hurd.in: Add a recovery mode.
31131
31132 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
31133
31134 * configure.ac: Check for libgcc symbols with -nostdlib.
31135
31136 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
31137
31138 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
31139
31140 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31141
31142 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
31143 stack since heap may be unavailable at that point.
31144 (grub_ofconsole_gotoxy): Likewise.
31145
31146 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31147
31148 * configure.ac: Check for _restgpr_14_x.
31149 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
31150 and _savegpr_* prototypes.
31151
31152 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
31153
31154 Use generic grub_reboot() for i386-efi.
31155
31156 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
31157 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
31158 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
31159
31160 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31161
31162 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
31163 presence of "prefix" variable as it breaks when normal.mod is
31164 embedded.
31165
31166 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31167
31168 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
31169 stack since heap is unavailable at that point.
31170
31171 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31172
31173 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
31174 (grub_freebsd_bootinfo): Rewritten.
31175 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
31176
31177 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31178
31179 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
31180
31181 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
31182
31183 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
31184 domain now.
31185
31186 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
31187
31188 * util/misc.c (make_system_path_relative_to_its_root): Change the work
31189 around for handling "/" to the correct fix. Fix a memory leak. Use
31190 xstrdup instead of strdup.
31191
31192 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31193
31194 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
31195
31196 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31197
31198 Optimise glyph lookup by Basic Multilingual Plane lookup array.
31199
31200 * font/font.c (struct grub_font): New member 'bmp_idx'.
31201 (font_init): Initialise 'bmp_idx'.
31202 (load_font_index): Fill 'bmp_idx'.
31203 (find_glyph): Make inline. Use bmp_idx for BMP characters.
31204
31205 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31206
31207 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
31208 unnecessary calls.
31209
31210 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31211
31212 Move context handling out of the kernel.
31213
31214 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
31215 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
31216 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
31217 * conf/i386-efi.rmk: Likewise.
31218 * conf/i386-ieee1275.rmk: Likewise.
31219 * conf/i386-pc.rmk: Likewise.
31220 * conf/powerpc-ieee1275.rmk: Likewise.
31221 * conf/sparc64-ieee1275.rmk: Likewise.
31222 * conf/x86_64-efi.rmk: Likewise.
31223 * include/grub/env.h: Include grub/menu.h.
31224 (grub_env_var_type): Removed.
31225 (grub_env_var): Replaced field 'type' with 'global'.
31226 (grub_env_find): New prototype.
31227 (grub_env_context_open): Remove EXPORT_FUNC.
31228 (grub_env_context_close): Likewise.
31229 (grub_env_export): Likewise.
31230 (grub_env_set_data_slot): Removed.
31231 (grub_env_get_data_slot): Likewise.
31232 (grub_env_unset_data_slot): Likewise.
31233 (grub_env_unset_menu): New prototype.
31234 (grub_env_set_menu): Likewise.
31235 (grub_env_get_menu): Likewise.
31236 * include/grub/env_private.h: New file.
31237 * include/grub/normal.h (grub_context_init): New prototype.
31238 (grub_context_fini): Likewise.
31239 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
31240 * normal/context.c (grub_cmd_export): ... to here.
31241 * kern/env.c: Include env_private.h.
31242 (HASHSZ): Moved to include/grub/env_private.h.
31243 (grub_env_context): Likewise.
31244 (grub_env_sorted_var): Likewise.
31245 (current_context): Renamed from this ...
31246 (grub_current_context): ...to this. 'static' removed. All users updated.
31247 (grub_env_find): Removed 'static'.
31248 (grub_env_context_open): Moved to normal/context.c.
31249 (grub_env_context_close): Likewise.
31250 (grub_env_export): Likewise.
31251 (mangle_data_slot_name): Removed.
31252 (grub_env_set_data_slot): Likewise.
31253 (grub_env_get_data_slot): Likewise.
31254 (grub_env_unset_data_slot): Likewise.
31255 * kern/main.c (grub_set_root_dev): Don't export root.
31256 It will be done later.
31257 (grub_main): Don't export prefix.
31258 It will be done later.
31259 * normal/context.c: New file.
31260 * normal/main.c (free_menu): Use grub_env_unset_menu.
31261 (grub_normal_add_menu_entry): Use grub_env_get_menu.
31262 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
31263 (GRUB_MOD_INIT(normal)): Call grub_context_init.
31264 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
31265
31266 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31267
31268 setpci support.
31269
31270 * commands/setpci.c: New file.
31271 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
31272 (setpci_mod_SOURCES): New variable.
31273 (setpci_mod_CFLAGS): Likewise.
31274 (setpci_mod_LDFLAGS): Likewise.
31275
31276 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31277
31278 Byte-addressable PCI configuration space.
31279
31280 * bus/pci.c (grub_pci_make_address): Use byte address instead of
31281 dword address.
31282 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
31283 GRUB_PCI_REG_CACHELINE.
31284 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
31285 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
31286 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
31287 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
31288 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
31289 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
31290 grub_pci_make_address.
31291 (lock_rom_area): Likewise.
31292 * commands/lspci.c (grub_lspci_iter): Use macroses
31293 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
31294 of grub_pci_make_address.
31295 * disk/ata.c (grub_ata_pciinit): Likewise.
31296 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
31297 (GRUB_PCI_REG_VENDOR): Likewise.
31298 (GRUB_PCI_REG_DEVICE): Likewise.
31299 (GRUB_PCI_REG_COMMAND): Likewise.
31300 (GRUB_PCI_REG_STATUS): Likewise.
31301 (GRUB_PCI_REG_REVISION): Likewise.
31302 (GRUB_PCI_REG_CLASS): Likewise.
31303 (GRUB_PCI_REG_CACHELINE): Likewise.
31304 (GRUB_PCI_REG_LAT_TIMER): Likewise.
31305 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
31306 (GRUB_PCI_REG_BIST): Likewise.
31307 (GRUB_PCI_REG_ADDRESSES): Likewise.
31308 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31309 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31310 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31311 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31312 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31313 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31314 (GRUB_PCI_REG_CIS_POINTER): Likewise.
31315 (GRUB_PCI_REG_SUBVENDOR): Likewise.
31316 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
31317 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
31318 (GRUB_PCI_REG_CAP_POINTER): Likewise.
31319 (GRUB_PCI_REG_IRQ_LINE): Likewise.
31320 (GRUB_PCI_REG_IRQ_PIN): Likewise.
31321 (GRUB_PCI_REG_MIN_GNT): Likewise.
31322 (GRUB_PCI_REG_MAX_LAT): Likewise.
31323 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
31324 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
31325 * video/efi_uga.c (find_framebuf): Likewise.
31326 * video/sm712.c (grub_video_sm712_setup): Likewise.
31327 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
31328 space.
31329
31330 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31331
31332 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
31333 can be reliably determined to be supported.
31334
31335 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31336
31337 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
31338 that VESA is supported.
31339 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
31340 supported.
31341
31342 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31343
31344 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
31345
31346 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31347
31348 * util/misc.c (make_system_path_relative_to_its_root): Work around
31349 special-casing of "/", as previous incarnation of this routine did.
31350
31351 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31352
31353 Fix any-emu compilation.
31354
31355 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
31356 * grub_bin2h_SOURCES: New variable.
31357
31358 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31359
31360 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31361
31362 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31363
31364 * util/grub.d/00_header.in: Fix handling of locale_dir.
31365
31366 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31367
31368 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31369 as possible unifont location (Gentoo).
31370 Reported by: Alexander Brüning
31371
31372 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31373
31374 Don't try to generate lists for kernel.img.
31375
31376 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31377 (pkglib_MODULES): Remove kernel.img.
31378 (kernel_img_EXPORTS): Removed.
31379 (kernel_img_RELOCATABLE): New variable.
31380 * conf/x86_64-efi.rmk: Likewise.
31381 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31382
31383 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31384
31385 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31386 grub_xasprintf or grub_snprintf.
31387 (grub_vsprintf): Likewise.
31388 (grub_snprintf): New proto.
31389 (grub_vsnprintf): Likewise.
31390 (grub_xasprintf): Likewise.
31391 (grub_xvasprintf): Likewise.
31392 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31393 (grub_sprintf): Removed.
31394 (grub_vsnprintf): New function.
31395 (grub_snprintf): Likewise.
31396 (grub_xvasprintf): Likewise.
31397 (grub_xasprintf): Likewise.
31398 (grub_vsprintf): Renamed to ...
31399 (grub_vsnprintf_real): ...this. New argument max_len.
31400
31401 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31402
31403 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31404 fix grub-script-check warning.
31405
31406 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31407
31408 * include/grub/font.h (grub_font_load): Fix prototype.
31409
31410 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31411
31412 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31413
31414 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31415
31416 * include/grub/x86_64/at_keyboard.h: New file.
31417
31418 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31419
31420 * loader/mips/linux.c: Include missing grub/i18n.h.
31421
31422 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31423
31424 * normal/menu.c (notify_execution_failure): Clarify error message.
31425
31426 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31427
31428 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31429 return value (and revert all return statements). Update users.
31430
31431 2010-01-20 Dan Merillat <debian@dan.merillat.org>
31432
31433 * kern/device.c (grub_device_iterate): Allocate new part_ent
31434 structure based on sizeof (*p) rather than sizeof (p->next), to
31435 account for structure padding.
31436
31437 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31438 disk is NULL, which might happen for LVM physical volumes with no
31439 LVM signature.
31440
31441 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31442
31443 * loader/mips/linux.c (grub_cmd_initrd)
31444 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31445
31446 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31447
31448 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31449 (grub_video_video_init, grub_video_bitmap_init)
31450 (grub_font_manager_init, grub_term_gfxterm_init)
31451 (grub_at_keyboard_init): New extern declarations.
31452 (grub_machine_init): Initialize gfxterm and at_keyboard.
31453
31454 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31455
31456 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31457 `gfxterm.mod' into core image.
31458
31459 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31460 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31461 (kernel_img_FORMAT): Copy to ...
31462
31463 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31464 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31465 (kernel_img_FORMAT): ... here, and ...
31466
31467 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31468 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31469 (kernel_img_FORMAT): ... here.
31470
31471 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31472 and input (at_keyboard) terminals in kernel.
31473 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31474
31475 (pkglib_MODULES): Remove `pci.mod'.
31476 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31477 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31478 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31479 (at_keyboard_mod_LDFLAGS): Remove variables.
31480
31481 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
31482
31483 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31484
31485 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31486
31487 * include/grub/mips/libgcc.h: Only export symbols for functions
31488 that libgcc provides.
31489
31490 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31491
31492 MIPS support.
31493
31494 * bus/bonito.c: New file.
31495 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31496 GRUB_PCI_NUM_DEVICES.
31497 * term/i386/pc/serial.c: Move to ...
31498 * term/serial.c: ... here. All users updated.
31499 * util/i386/pc/grub-mkimage.c: Move to ...
31500 * util/grub-mkrawimage.c: ... here. All users updated.
31501 * term/i386/pc/at_keyboard.c: Move to ...
31502 * term/at_keyboard.c: ... here. All users updated.
31503 * conf/mips-qemu-mips.rmk: New file.
31504 * conf/mips-yeeloong.rmk: Likewise.
31505 * conf/mips.rmk: Likewise.
31506 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31507 mipsel-qemu-mips.
31508 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31509 to port addresses.
31510 (grub_ata_pciinit): Support CS5536.
31511 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31512 * font/font_cmd.c (loadfont_command): Open file before passing it to
31513 grub_font_load.
31514 (pseudo_file_read): New function.
31515 (pseudo_file_close): Likewise.
31516 (pseudo_fs): New structure.
31517 (load_font_module): New function.
31518 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31519 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31520 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31521 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31522 * include/grub/i386/at_keyboard.h: Split into ...
31523 * include/grub/at_keyboard.h: ... this ...
31524 * include/grub/i386/at_keyboard.h: ... and this.
31525 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31526 New prototype.
31527 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31528 updated.
31529 (grub_elf64_size): Likewise.
31530 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31531 filename.
31532 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31533 * include/grub/i386/coreboot/serial.h: Rewritten.
31534 * include/grub/i386/ieee1275/serial.h: Include
31535 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31536 * include/grub/i386/pc/serial.h: Moved from here ...
31537 * include/grub/serial.h: ... to here. All users updated.
31538 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31539 (GRUB_PCI_NUM_BUS): Likewise.
31540 (GRUB_PCI_NUM_DEVICES): Likewise.
31541 (grub_pci_device_map_range): Add missing volatile keyword.
31542 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31543 * include/grub/mips/at_keyboard.h: New file.
31544 * include/grub/mips/cache.h: Likewise.
31545 * include/grub/mips/io.h: Likewise.
31546 * include/grub/mips/kernel.h: Likewise.
31547 * include/grub/mips/libgcc.h: Likewise.
31548 * include/grub/mips/pci.h: Likewise.
31549 * include/grub/mips/qemu-mips/boot.h: Likewise.
31550 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31551 * include/grub/mips/qemu-mips/loader.h: Likewise.
31552 * include/grub/mips/qemu-mips/memory.h: Likewise.
31553 * include/grub/mips/qemu-mips/serial.h: Likewise.
31554 * include/grub/mips/qemu-mips/time.h: Likewise.
31555 * include/grub/mips/relocator.h: Likewise.
31556 * include/grub/mips/time.h: Likewise.
31557 * include/grub/mips/types.h: Likewise.
31558 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31559 * include/grub/mips/yeeloong/boot.h: Likewise.
31560 * include/grub/mips/yeeloong/kernel.h: Likewise.
31561 * include/grub/mips/yeeloong/loader.h: Likewise.
31562 * include/grub/mips/yeeloong/memory.h: Likewise.
31563 * include/grub/mips/yeeloong/pci.h: Likewise.
31564 * include/grub/mips/yeeloong/serial.h: Likewise.
31565 * include/grub/mips/yeeloong/time.h: Likewise.
31566 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31567 * kern/elf.c (grub_elf32_size): New parameter. All users
31568 updated.
31569 (grub_elf64_size): Likewise.
31570 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31571 Load modules before saying "Welcome to GRUB!".
31572 Call grub_refresh after saying "Welcome to GRUB!".
31573 * kern/mips/cache.S: New file.
31574 * kern/mips/cache_flush.S: Likewise.
31575 * kern/mips/dl.c: Likewise.
31576 * kern/mips/init.c: Likewise.
31577 * kern/mips/qemu-mips/init.c: Likewise.
31578 * kern/mips/startup.S: Likewise.
31579 * kern/mips/yeeloong/init.c: Likewise.
31580 * kern/term.c (grub_putcode): Handle NULL terminal.
31581 (grub_getcharwidth): Likewise.
31582 (grub_getkey): Likewise.
31583 (grub_checkkey): Likewise.
31584 (grub_getkeystatus): Likewise.
31585 (grub_getxy): Likewise.
31586 (grub_getwh): Likewise.
31587 (grub_gotoxy): Likewise.
31588 (grub_cls): Likewise.
31589 (grub_setcolorstate): Likewise.
31590 (grub_setcolor): Likewise.
31591 (grub_getcolor): Likewise.
31592 (grub_refresh): Likewise.
31593 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31594 (write_jump): Add hatch nop.
31595 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31596 * lib/mips/setjmp.S: New file.
31597 * loader/mips/linux.c: Likewise.
31598 * term/i386/pc/at_keyboard.c: Move from here ...
31599 * term/at_keyboard.c: ... to here.
31600 * term/i386/pc/serial.c: Moved from here ...
31601 * term/serial.c: ... to here. All users updated.
31602 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31603 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31604 (serial_translate_key_sequence): Avoid deadlock.
31605 (grub_serial_getkey): Handle backspace.
31606 (grub_serial_putchar): Fix newline handling.
31607 * util/i386/pc/grub-mkimage.c: Move from here ...
31608 * util/grub-mkrawimage.c: ... to here. All users updated.
31609 (generate_image): New parameters 'font_path' and 'format'.
31610 Support embedding font.
31611 Use grub_host_to_target* instead of grub_cpu_to_le*.
31612 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31613 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31614 (options): New option "--font".
31615 (usage): Likewise.
31616 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31617 (main): Handle "--font".
31618 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31619 (grub_virtual_screen_setup): Set bg_color_display.
31620 (redraw_screen_rect): Use bg_color_display instead of incorrect
31621 bg_color.
31622 (grub_gfxterm_cls): Likewise.
31623 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31624 Support embedding config file.
31625 (add_segments): Likewise.
31626 (options): New option "--config".
31627 (main): Handle "--config".
31628 * video/sm712.c: New file.
31629
31630 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31631
31632 Fix parallel builds.
31633
31634 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31635 font.c depend on ascii.h).
31636
31637 2010-01-12 Carles Pina i Estany <carles@pina.cat>
31638
31639 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31640
31641 2010-01-11 Carles Pina i Estany <carles@pina.cat>
31642
31643 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31644 By default: disabled.
31645 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31646 parameter.
31647
31648 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31649
31650 * font/font.c: Update copyright years.
31651 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31652
31653 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31654
31655 * font/font.c: Include `ascii.h'.
31656 (ASCII_BITMAP_SIZE): New macro.
31657 (ascii_font_glyph): Define.
31658 (ascii_glyph_lookup): New function.
31659 (grub_font_get_string_width): Change comment. If glyph not found, use
31660 ascii_glyph_lookup.
31661 (grub_font_get_glyph_with_fallback): If glyph not available returns
31662 ascii_glyph_lookup.
31663 * util/grub-mkfont.c (file_formats): New enum.
31664 (options): Add `ascii-bitmaps' new option.
31665 (usage): Add `asii-bitmaps' new option.
31666 (write_font_ascii_bitmap): New function.
31667 (write_font): Rename to ...
31668 (write_font_p2): ... this. Remove print_glyphs call.
31669 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31670 used. Call print_glyphs.
31671 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31672
31673 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31674
31675 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31676 (grub_bin2h_SOURCES): New variable.
31677 * util/bin2h.c: New file.
31678
31679 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31680
31681 * include/multiboot.h: Resynced with spec.
31682 * include/multiboot2.h: Likewise.
31683 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31684 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31685
31686 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31687
31688 * include/grub/term.h (grub_term_register_input,
31689 grub_term_register_output): Check return of terminal init()
31690 routines, and abort if errors are raised.
31691
31692 * commands/terminal.c: Update copyright year.
31693
31694 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31695
31696 * commands/terminal.c (grub_cmd_terminal_input)
31697 (grub_cmd_terminal_output): Check return of terminal init()
31698 routines, and abort if errors are raised.
31699
31700 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31701
31702 * include/grub/i386/bsd.h: Fix include pathes.
31703
31704 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31705
31706 Add missing *BSD copyright headers.
31707
31708 * include/grub/aout.h: Add BSD licence.
31709 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31710 * include/grub/i386/freebsd_linker.h: ... here,
31711 * include/grub/i386/freebsd_reboot.h: ... here,
31712 * include/grub/i386/netbsd_bootinfo.h: ... here,
31713 * include/grub/i386/netbsd_reboot.h: ... here,
31714 * include/grub/i386/openbsd_bootarg.h: ... here,
31715 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31716 licence to each file.
31717
31718 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31719
31720 * acinclude.m4: Remove `nop' assembly instruction; it's not
31721 implemented by all architectures.
31722
31723 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31724
31725 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31726 ELILO. This is no longer necessary.
31727
31728 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31729
31730 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31731
31732 * util/grub-script-check.c: grub-script-check tool.
31733 * conf/common.rmk: Make rules for grub-script-check.
31734
31735 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31736
31737 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31738 spotting it back in 2008. Shame on me for forgetting he did.
31739
31740 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31741
31742 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31743
31744 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31745 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31746 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31747 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31748 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31749 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31750
31751 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31752
31753 * include/grub/test.h: Add license header.
31754 * tests/example_functional_test.c: Likewise.
31755 * tests/example_unit_test.c: Likewise.
31756 * tests/lib/functional_test.c: Likewise.
31757 * tests/lib/test.c: Likewise.
31758 * tests/lib/unit_test.c: Likewise.
31759
31760 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31761
31762 Use flag-based instead of hook-based video mode selection and "auto"
31763 keyword.
31764
31765 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31766 (grub_video_set_mode): Changed prototype. All users updated.
31767 (grub_video_check_mode_flag): New inline function.
31768 * video/video.c (parse_modespec): New function.
31769 (grub_video_set_mode): Parse flags and keywords.
31770
31771 2010-01-17 Carles Pina i Estany <carles@pina.cat>
31772
31773 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31774 fprintf call.
31775
31776 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31777
31778 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31779
31780 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31781
31782 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31783 string.
31784 * util/grub-emu.c (usage): Likewise.
31785 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31786 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31787 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31788 * util/i386/pc/grub-setup.c (usage): Likewise.
31789
31790 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31791
31792 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31793 the message.
31794 (grub_util_info): Likewise.
31795 (grub_util_error): Likewise.
31796 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31797 and/or new lines in `grub_util_warna', `grub_util_info',
31798 `grub_util_error' calls.
31799 * util/getroot.c: Likewise.
31800 * util/grub-editenv.c: Likewise.
31801 * util/grub-emu.c: Likewise.
31802 * util/grub-fstest.c: Likewise.
31803 * util/grub-mkdevicemap.c: Likewise.
31804 * util/grub-mkfont.c: Likewise.
31805 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31806 * util/grub-mkrelpath.c: Likewise.
31807 * util/grub-pe2elf.c: Likewise.
31808 * util/grub-probe.c: Likewise.
31809 * util/hostdisk.c: Likewise.
31810 * util/i386/efi/grub-mkimage.c: Likewise.
31811 * util/i386/pc/grub-mkimage.c: Likewise.
31812 * util/i386/pc/grub-setup.c: Likewise.
31813 * util/ieee1275/ofpath.c: Likewise.
31814 * util/mkisofs/eltorito.c: Likewise.
31815 * util/mkisofs/rock.c: Likewise.
31816 * util/mkisofs/write.c: Likewise.
31817 * util/raid.c: Likewise.
31818 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31819 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31820
31821 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31822
31823 Enable multiboot on non-pc.
31824
31825 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31826 multiboot.mod and multiboot2.mod to ...
31827 * conf/i386.rmk (pkglib_MODULES): ... here.
31828 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31829 Moved to ...
31830 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31831 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31832 Moved to ...
31833 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31834 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31835 Moved to ...
31836 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31837 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31838 Moved to ...
31839 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31840 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31841 relocator.mod.
31842 (ata_mod_SOURCES): Removed.
31843 (ata_mod_CFLAGS): Likewise.
31844 (ata_mod_LDFLAGS): Likewise.
31845 (relocator_mod_SOURCES): Removed.
31846 (relocator_mod_CFLAGS): Likewise.
31847 (relocator_mod_ASFLAGS): Likewise.
31848 (relocator_mod_LDFLAGS): Likewise.
31849 Include i386.mk.
31850 * include/grub/x86_64/multiboot.h: New file.
31851 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31852 Terminate EFI.
31853
31854 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31855
31856 Video multiboot support.
31857
31858 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31859 New prototype.
31860 * include/multiboot.h: Resynced with multiboot specification.
31861 * include/multiboot2.h: Likewise.
31862 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31863 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31864 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31865 (HAS_VGA_TEXT): Likewise.
31866 (accepts_video): New variable.
31867 (grub_multiboot_set_accepts_video): New function.
31868 (grub_multiboot_get_mbi_size): Account for video structures.
31869 (set_video_mode): New function.
31870 (retrieve_video_parameters): Likewise.
31871 (grub_multiboot_make_mbi): Fill video fields.
31872
31873 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31874
31875 Video driver ids.
31876
31877 * include/grub/video.h (grub_video_driver_id): New type.
31878 (grub_video_adapter): New member 'id'. All users updated.
31879 (grub_video_get_driver_id): New proto.
31880 * video/video.c (grub_video_get_driver_id): New function.
31881
31882 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31883
31884 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31885 `var=val'.
31886
31887 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31888
31889 * normal/cmdline.c (print_completion): Gettextizze.
31890
31891 2001-01-14 Carles Pina i Estany <carles@pina.cat>
31892
31893 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31894
31895 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31896
31897 * gettext/gettext.c (grub_gettext_translate): Push and pop
31898 grub_errno.
31899 (grub_gettext_delete_list): Change comment style.
31900 * kern/err.c (grub_error): Gettextizze.
31901 (grub_fatal): Gettextizze.
31902
31903 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31904
31905 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31906 (grub_linux16_real_boot): ... this.
31907 * kern/i386/loader.S: Likewise.
31908 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31909 (grub_linux16_boot): New function. Switches to text mode and calls
31910 grub_linux16_real_boot().
31911
31912 * loader/i386/bsd.c: Include `<grub/video.h>'.
31913 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31914 text mode before calling grub_unix_real_boot().
31915
31916 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31917 (grub_multiboot_boot): Switch to text mode before calling
31918 grub_relocator32_boot().
31919
31920 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31921 (grub_chainloader_boot): Switch to text mode before calling
31922 grub_chainloader_real_boot().
31923
31924 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31925 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31926
31927 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31928 non-empty value.
31929
31930 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31931 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31932
31933 * util/grub.d/00_header.in: Define a "savedefault" function for use
31934 in menu entries.
31935 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31936
31937 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31938 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31939
31940 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31941 saved_entry if boot_once is unset.
31942 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31943 previous saved entry (i.e. grub-reboot).
31944
31945 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31946
31947 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31948
31949 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31950
31951 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31952 `var=val'.
31953 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31954
31955 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31956
31957 * util/grub-reboot.in: Fix --version output.
31958 * util/grub-set-default.in: Likewise.
31959
31960 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31961
31962 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31963 blocks.
31964
31965 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31966
31967 * util/grub.d/00_header.in: Quote the value assigned to `default',
31968 in case it contains spaces.
31969
31970 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31971
31972 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31973 `save_default_entry' call from the macosx case to the linux case.
31974
31975 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
31976 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
31977
31978 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31979 in `chosen' environment variable.
31980 * normal/menu_text.c (get_entry_number): Check if the variable
31981 matches the title of a menu entry.
31982 (run_menu): Pass menu to get_entry_number.
31983
31984 * util/grub-reboot.in: New file.
31985 * util/grub-set-default.in: New file.
31986 * conf/common.rmk (grub-reboot): New utility.
31987 (grub-set-default): New utility.
31988
31989 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31990 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31991 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31992 move it to `saved_entry' for the next boot. Load environment on
31993 initialisation.
31994 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31995 * util/grub.d/10_hurd.in: Likewise.
31996 * util/grub.d/10_linux.in (linux_entry): Likewise.
31997 * util/grub.d/10_windows.in: Likewise.
31998 * util/grub.d/30_os-prober.in: Likewise.
31999
32000 * util/grub-install.in: Create environment block.
32001 * util/i386/efi/grub-install.in: Likewise.
32002 * util/ieee1275/grub-install.in: Likewise.
32003 * util/sparc64/ieee1275/grub-install.in: Likewise.
32004
32005 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
32006
32007 Unit testing framework for GRUB.
32008
32009 * Makefile.in: Test framework build rules for 'make check'.
32010 * conf/tests.rmk: Build rules for individual tests and framework.
32011
32012 * include/grub/test.h: Header file for whitebox tests.
32013 * tests/lib/functional_test.c: Framework support for whitebox
32014 functional tests.
32015 * tests/lib/test.c: Common whitebox testing code for unit and
32016 functional tests.
32017 * tests/lib/unit_test.c: Framework support for whitebox unit
32018 tests.
32019
32020 * tests/util/grub-shell-tester.in: Support utility for grub-script
32021 tests.
32022 * tests/util/grub-shell.in: Utility to execute grub-script
32023 commands in a Qemu instance.
32024
32025 * tests/example_functional_test.c: Example whitebox functional
32026 test.
32027 * tests/example_grub_script_test.in: Example grub-script test.
32028 * tests/example_scripted_test.in: Example scripted test.
32029 * tests/example_unit_test.c: Example whitebox unit test.
32030
32031 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
32032
32033 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
32034 Add loader/i386/multiboot_mbi.c.
32035 (multiboot2_mod_SOURCES): Likewise.
32036 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
32037 (multiboot2_mod_SOURCES): Likewise.
32038 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
32039 (grub_multiboot_make_mbi): Likewise.
32040 (grub_multiboot_free_mbi): Likewise.
32041 (grub_multiboot_init_mbi): Likewise.
32042 (grub_multiboot_add_module): Likewise.
32043 (grub_multiboot_set_bootdev): Likewise.
32044 * loader/i386/multiboot.c (mbi): Removed.
32045 (mbi_dest): Likewise.
32046 (alloc_mbi): New variable.
32047 (grub_multiboot_payload_size): Removed. All users updated.
32048 (grub_multiboot_pure_size): New variable.
32049 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
32050 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
32051 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
32052 (grub_fill_multiboot_mmap): Likewise.
32053 (grub_multiboot_get_bootdev): Likewise.
32054 (grub_multiboot): Use multiboot_mbi functions.
32055 * loader/i386/multiboot_mbi.c: New file.
32056
32057 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
32058
32059 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
32060 it would result in module crash.
32061
32062 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
32063
32064 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
32065 (grub_ofconsole_getwh): Split to ...
32066 (grub_ofconsole_getwh): ... this.
32067 (grub_ofconsole_dimensions): ...and this.
32068 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
32069
32070 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
32071
32072 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
32073
32074 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
32075
32076 * loader/i386/pc/multiboot2.c: Removed stalled file.
32077
32078 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
32079
32080 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
32081 Reported by: Grégoire Sutre
32082
32083 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
32084
32085 * util/misc.c (canonicalize_file_name): New function.
32086 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
32087 instead of realpath().
32088
32089 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
32090
32091 * util/grub-install.in (usage): Clarify meaning of --root-directory,
32092 and make it clearer that it's optional. Based on confusion
32093 witnessed on IRC.
32094
32095 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
32096
32097 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
32098 in premature implicit newline.
32099
32100 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
32101
32102 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
32103 which resulted in garbled command line at the end of screen.
32104
32105 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
32106
32107 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
32108 initialization with similar approach as with other Linux loaders.
32109
32110 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
32111
32112 Fix i386-ieee1275 build.
32113
32114 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
32115 and grub_term_height() for video_{width,height} initialization.
32116
32117 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
32118
32119 Fix grub-emu build.
32120
32121 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
32122
32123 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32124 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32125
32126 Support for multiple terminals.
32127
32128 * Makefile.in (pkglib_DATA): terminal.lst.
32129 (terminal.lst): New target.
32130 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
32131 (GRUB_MOD_INIT(handler)): Likewise.
32132 (GRUB_MOD_FINI(handler)): Likewise.
32133 * commands/help.c (grub_cmd_help): Handle multiple terminals.
32134 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
32135 * commands/sleep.c (do_print): Use grub_term_restore_pos.
32136 (grub_cmd_sleep): Use grub_term_save_pos.
32137 * commands/terminal.c: New file.
32138 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
32139 commands/terminal.c and lib/charset.c.
32140 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
32141 (pkglib_MODULES): Add terminal.mod.
32142 (terminal_mod_SOURCES): New variable.
32143 (terminal_mod_CFLAGS): Likewise.
32144 (terminal_mod_LDFLAGS): Likewise.
32145 * genhandlerlist.sh: Don't handle terminals.
32146 * genmk.rb: Generate terminal-*.lst.
32147 * genterminallist.sh: New file.
32148 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
32149 (grub_is_valid_utf8): Likewise.
32150 (grub_utf8_to_ucs4_alloc): Likewise.
32151 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
32152 (grub_menu_register_viewer): Changed argument.
32153 (grub_menu_try_text): New proto.
32154 (grub_gfxmenu_try_hook): New declaration.
32155 * include/grub/normal.h (grub_normal_exit_level): New declaration.
32156 (grub_menu_init_page): Additional argument term.
32157 (grub_normal_init_page): Likewise.
32158 (grub_cmdline_get): Arguments simplified.
32159 (grub_utf8_to_ucs4_alloc): Removed.
32160 (grub_print_ucs4): Additional argument term.
32161 (grub_getstringwidth): Likewise.
32162 (grub_print_message_indented): Likewise.
32163 (grub_menu_text_register_instances): New proto.
32164 (grub_show_menu): Likewise.
32165 (read_terminal_list): Likewise.
32166 (grub_set_more): Likewise.
32167 * include/grub/parser.h: Include handler.h.
32168 * include/grub/reader.h: Rewritten.
32169 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
32170 (GRUB_TERM_WIDTH): Changed to function.
32171 (GRUB_TERM_HEIGHT): Likewise.
32172 (GRUB_TERM_BORDER_WIDTH): Likewise.
32173 (GRUB_TERM_BORDER_HEIGHT): Likewise.
32174 (GRUB_TERM_NUM_ENTRIES): Likewise.
32175 (GRUB_TERM_ENTRY_WIDTH): Likewise.
32176 (GRUB_TERM_CURSOR_X): Likewise.
32177 (grub_term_input_class): Likewise.
32178 (grub_term_output_class): Likewise.
32179 (grub_term_outputs_disabled): New declaration.
32180 (grub_term_inputs_disabled): Likewise.
32181 (grub_term_outputs): Likewise.
32182 (grub_term_inputs): Likewise.
32183 (grub_term_register_input): Rewritten.
32184 (grub_term_register_output): Likewise.
32185 (grub_term_unregister_input): Likewise.
32186 (grub_term_unregister_output): Likewise.
32187 (FOR_ACTIVE_TERM_INPUTS): New macro.
32188 (FOR_DISABLED_TERM_INPUTS): Likewise.
32189 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
32190 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
32191 * include/grub/terminfo.h: Add oterm argument to all protypes.
32192 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
32193 Use grub_rescue_run.
32194 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
32195 All users updated.
32196 * kern/reader.c: Removed. All users updated.
32197 * kern/rescue_reader.c (grub_rescue_init): Removed.
32198 (grub_rescue_reader): Likewise.
32199 (grub_register_rescue_reader): Likewise.
32200 (grub_rescue_run): New function based on kern/reader.c.
32201 * kern/term.c: Adapted for multiterm.
32202 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
32203 (grub_is_valid_utf8): Likewise.
32204 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
32205 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
32206 right terminal.
32207 * loader/i386/linux.c (grub_linux_boot): Likewise.
32208 * normal/auth.c (grub_username_get): New function.
32209 (grub_auth_check_authentication): Use grub_username_get.
32210 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
32211 * normal/color.c: Adapt for multiterm.
32212 * normal/main.c (read_config_file): Don't use grub_reader_loop.
32213 (grub_normal_init_page): Additional argument term.
32214 (read_lists): Call read_terminal_lists.
32215 (grub_enter_normal_mode): Call grub_cmdline_run.
32216 Handle grub_normal_exit_level.
32217 (grub_cmd_normal): Make reentrant.
32218 (grub_cmd_normal_exit): New function.
32219 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
32220 * normal/menu.c: Adapt for multiterm.
32221 * normal/menu_entry.c: Likewise.
32222 * normal/menu_text.c: Likewise.
32223 * normal/menu_viewer.c: Removed. All users updated.
32224 * normal/term.c: New file.
32225 * util/console.c: Change order of includes to workaround a bug in
32226 ncurses headers.
32227 * term/terminfo.c: New argument oterm on all exported functions.
32228 All users updated.
32229 * util/grub-editenv.c (grub_term_input_class): Removed.
32230 (grub_term_output_class): Likewise.
32231
32232 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32233
32234 Make loader output a bit more user-friendly.
32235
32236 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
32237 is being loaded. Likewise for the Hurd.
32238
32239 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
32240 that kernel of FreeBSD ${version} is being loaded.
32241
32242 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
32243 grub_dprintf().
32244 (grub_cmd_initrd): Likewise.
32245 * util/grub.d/10_linux.in (linux_entry): Print message indicating
32246 that Linux ${version} is being loaded. Likewise for initrd.
32247
32248 2010-01-09 Carles Pina i Estany <carles@pina.cat>
32249
32250 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
32251
32252 2010-01-08 Carles Pina i Estany <carles@pina.cat>
32253
32254 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
32255 (GRUB_MOD_INIT): Gettextizze.
32256 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
32257 (GRUB_MOD_INIT): Gettextizze.
32258 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
32259 (grub_cmd_linux): Capitalise Linux.
32260 (GRUB_MOD_INIT): Gettextizze.
32261 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
32262 (grub_cmd_linux): Capitalise Linux.
32263 (GRUB_MOD_INIT): Gettextizze.
32264 * loader/i386/linux.c: Include `<grub/i18n.h>'.
32265 (grub_cmd_linux): Capitalise Linux.
32266 (GRUB_MOD_INIT): Gettextizze.
32267 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
32268 (GRUB_MOD_INIT): Gettextizze.
32269 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
32270 (grub_cmd_linux): Capitalise Linux.
32271 (GRUB_MOD_INIT): Gettextizze.
32272 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
32273 (grub_cpu_xnu_init): Gettextizze.
32274 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
32275 (GRUB_MOD_INIT): Gettextizze.
32276 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
32277 (GRUB_MOD_INIT): Gettextizze.
32278 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
32279 (grub_linux_load64): Capitalise Linux.
32280 (GRUB_MOD_INIT): Gettextizze.
32281 * loader/xnu.c: Include `<grub/i18n.h>'.
32282 (GRUB_MOD_INIT): Gettextizze.
32283 * po/POTFILES: Add `loader/efi/appleloader.c',
32284 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
32285 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
32286 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
32287 `loader/i386/xnu.c', `loader/multiboot_loader.c',
32288 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
32289 and `loader/xnu.c'.
32290
32291 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32292
32293 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
32294
32295 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32296
32297 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
32298 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
32299 * util/mkisofs/mkisofs.c (main): Readjust --version output.
32300
32301 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32302
32303 Reset Multiboot 2 support. New loader implements the draft in
32304 /branches/multiboot2 and shares as much code as possible with the
32305 production Multiboot 1 implementation.
32306
32307 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
32308 * loader/multiboot2.c: Likewise.
32309 * loader/i386/multiboot_helper.S: Likewise.
32310 * include/multiboot2.h: Replace with latest version from the draft
32311 in /branches/multiboot2.
32312
32313 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
32314 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
32315 and `loader/multiboot2.c'.
32316 (pkglib_MODULES): Add `multiboot2.mod'.
32317 (multiboot2_mod_SOURCES): New variable.
32318 (multiboot2_mod_LDFLAGS): Likewise.
32319 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
32320
32321 * conf/i386-pc.rmk: Likewise.
32322
32323 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32324 (multiboot_mod_SOURCES): Remove variable.
32325 (multiboot_mod_LDFLAGS): Likewise.
32326 (multiboot_mod_CFLAGS): Likewise.
32327
32328 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
32329 `<multiboot2.h>' instead of `<multiboot.h>'.
32330 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
32331 (MULTIBOOT_HEADER_MAGIC): New macros.
32332
32333 * loader/multiboot_loader.c (module_version_status): Remove variable.
32334 (find_multi_boot2_header): Remove function.
32335 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
32336 logic. Always check for the Multiboot version we're compiling for.
32337 (grub_cmd_module_loader): Likewise.
32338 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
32339 command instead of `multiboot'.
32340
32341 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32342
32343 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
32344 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
32345 all users.
32346
32347 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32348 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32349
32350 Fix breakage introduced with previous commit.
32351
32352 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
32353 commands.
32354 * normal/handler.c (read_handler_list): Revert part of previous commit
32355 affecting this file.
32356 * normal/main.c (read_lists): Move read_handler_list() call back to ...
32357 (grub_normal_execute): ... here.
32358
32359 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32360
32361 Merge prefix-redefinition-fix branch.
32362
32363 * normal/autofs.c (read_fs_list): Make function capable of being
32364 run multiple times, gracefuly replacing the previous data
32365 structures.
32366 * normal/dyncmd.c (read_command_list): Likewise.
32367 * normal/handler.c (read_handler_list): Likewise.
32368 * normal/main.c (read_lists): New function. Calls all the
32369 list reading functions.
32370 (grub_normal_execute): Use read_lists() instead of calling all
32371 list reading functions explicitly. Register read_lists() as a
32372 variable hook attached to ${prefix}.
32373
32374 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32375
32376 Merge crypto branch.
32377
32378 * Makefile.in (pkglib_DATA): Add crypto.lst.
32379 (crypto.lst): New target.
32380 * commands/hashsum.c: New file.
32381 * commands/password.c (check_password): Use grub_crypto_memcmp.
32382 * commands/password_pbkdf2.c: New file.
32383 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32384 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32385 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32386 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32387 -I$(srcdir)/lib/libgcrypt_wrap.
32388 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32389 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32390 password_pbkdf2.mod.
32391 (crypto_mod_SOURCES): New variable.
32392 (crypto_mod_CFLAGS): Likewise.
32393 (crypto_mod_LDFLAGS): Likewise.
32394 (hashsum_mod_SOURCES): New variable.
32395 (hashsum_mod_CFLAGS): Likewise.
32396 (hashsum_mod_LDFLAGS): Likewise.
32397 (pbkdf2_mod_SOURCES): New variable.
32398 (pbkdf2_mod_CFLAGS): Likewise.
32399 (pbkdf2_mod_LDFLAGS): Likewise.
32400 (password_pbkdf2_mod_SOURCES): New variable.
32401 (password_pbkdf2_mod_CFLAGS): Likewise.
32402 (password_pbkdf2_mod_LDFLAGS): Likewise.
32403 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32404 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32405 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32406 Include conf/gcry.rmk.
32407 * include/grub/auth.h: Rewritten.
32408 * include/grub/crypto.h: New file.
32409 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32410 * include/grub/normal.h (read_crypto_list): New prototype.
32411 * lib/crypto.c: New file.
32412 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32413 * lib/pbkdf2.c: Likewise.
32414 * normal/auth.c (grub_auth_strcmp): Removed.
32415 (grub_iswordseparator): Likewise.
32416 (grub_auth_strword): Likewise.
32417 (is_authenticated): Use grub_strword.
32418 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32419 and grub_strword. Pass entered password to authentication callback.
32420 * normal/crypto.c: New file.
32421 * normal/main.c: Call read_crypto_list.
32422 * util/grub-mkpasswd-pbkdf2.c: New file.
32423 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32424
32425 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32426
32427 Fix descent and ascent calculation.
32428
32429 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32430 (options): New option "asce".
32431 (usage): Likewise.
32432 (add_char): Ignore invalid glyphs for descent calculation.
32433 Calculate ascent from actual content.
32434 (print_glyphs): Use 'asce'.
32435 (write_font): Likewise. Allow ascent override.
32436 (main): Handle "asce" option.
32437
32438 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32439
32440 * kern/err.c: Include `<grub/i18n.h>'.
32441 (grub_print_error): Add full stop. Gettextizze.
32442 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32443 (grub_bsd_load_elf): Capitalise ELF.
32444 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32445 (grub_cmd_freebsd_module): Likewise.
32446 (grub_cmd_freebsd_module_elf): Likewise.
32447 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32448
32449 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32450
32451 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32452 * commands/search_file.c (HELP_MESSAGE): New macro.
32453 * commands/search_label.c (HELP_MESSAGE): Likewise.
32454 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32455 * po/POTFILES: Add `commands/search_file.c',
32456 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32457 `commands/search.c'.
32458
32459 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32460
32461 * config.rpath: Update from Gnulib.
32462
32463 2010-01-05 Yves Blusseau <blusseau@zetam.org>
32464
32465 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32466
32467 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32468
32469 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32470
32471 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32472
32473 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32474 arguments to fread so that we get a return value in bytes, rather
32475 than something that will normally be rounded down to 0.
32476 Adjust error handling to avoid producing garbage when size_t is not
32477 the same size as long long.
32478
32479 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32480
32481 * util/mkisofs/write.c (padblock_write): Check return value of
32482 fread.
32483
32484 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32485
32486 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32487 floppy images now.
32488
32489 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32490
32491 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32492
32493 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32494 instead of manual alignment.
32495 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32496 verbose). Avoid attempts to read past end of the device
32497 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32498 but GRUB_DISK_CACHE_SIZE may exceed that).
32499
32500 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32501
32502 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32503 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32504 it to upper layer.
32505
32506 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32507
32508 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32509 New constant.
32510 (grub_efi_piwg_device_path): New structure
32511 (grub_efi_piwg_device_path_t): New type.
32512 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32513 (devpath_1): Transform to a structure. All users updated.
32514 (devpath_2): Likewise.
32515 (devpath_3): Likewise.
32516 (devpath_4): Likewise.
32517 (devpath_5): Likewise.
32518
32519 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32520
32521 * loader/efi/appleloader.c: Restored. Update all users.
32522
32523 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32524
32525 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32526
32527 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32528 (struct boot_blocklist): Move from here ...
32529 * include/grub/i386/pc/boot.h [ASM_FILE]
32530 (struct grub_boot_blocklist): ... to here. Update all users.
32531 (setup): Only initialize `start' member of `first_block'
32532 structure. Add assert() calls to verify the other members.
32533
32534 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32535 (generate_image): Fix broken blocklist length initialization.
32536 Add assert() call to verify blocklist `segment' field.
32537
32538 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32539
32540 * loader/efi/appleloader.c: Remove. Update all users.
32541
32542 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32543
32544 * boot/i386/pc/boot.S: Update copyright year.
32545 * boot/i386/pc/cdboot.S: Likewise.
32546 * boot/i386/pc/diskboot.S: Likewise.
32547 * boot/i386/pc/lnxboot.S: Likewise.
32548 * boot/i386/pc/pxeboot.S: Likewise.
32549 * bus/pci.c: Likewise.
32550 * commands/cmp.c: Likewise.
32551 * commands/help.c: Likewise.
32552 * commands/hexdump.c: Likewise.
32553 * commands/i386/pc/halt.c: Likewise.
32554 * commands/i386/pc/play.c: Likewise.
32555 * commands/i386/pc/vbeinfo.c: Likewise.
32556 * commands/ls.c: Likewise.
32557 * commands/test.c: Likewise.
32558 * disk/dmraid_nvidia.c: Likewise.
32559 * disk/i386/pc/biosdisk.c: Likewise.
32560 * disk/ieee1275/nand.c: Likewise.
32561 * disk/ieee1275/ofdisk.c: Likewise.
32562 * disk/lvm.c: Likewise.
32563 * disk/raid.c: Likewise.
32564 * disk/raid6_recover.c: Likewise.
32565 * disk/scsi.c: Likewise.
32566 * fs/affs.c: Likewise.
32567 * fs/cpio.c: Likewise.
32568 * fs/ext2.c: Likewise.
32569 * fs/hfs.c: Likewise.
32570 * fs/iso9660.c: Likewise.
32571 * fs/ntfs.c: Likewise.
32572 * fs/sfs.c: Likewise.
32573 * fs/udf.c: Likewise.
32574 * fs/ufs.c: Likewise.
32575 * fs/xfs.c: Likewise.
32576 * gencmdlist.sh: Likewise.
32577 * genmk.rb: Likewise.
32578 * include/grub/disk.h: Likewise.
32579 * include/grub/efi/api.h: Likewise.
32580 * include/grub/efi/efi.h: Likewise.
32581 * include/grub/efi/pe32.h: Likewise.
32582 * include/grub/elf.h: Likewise.
32583 * include/grub/fs.h: Likewise.
32584 * include/grub/i386/at_keyboard.h: Likewise.
32585 * include/grub/i386/pc/memory.h: Likewise.
32586 * include/grub/i386/pc/vbe.h: Likewise.
32587 * include/grub/i386/pci.h: Likewise.
32588 * include/grub/i386/tsc.h: Likewise.
32589 * include/grub/ieee1275/ieee1275.h: Likewise.
32590 * include/grub/ntfs.h: Likewise.
32591 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32592 * include/grub/sparc64/libgcc.h: Likewise.
32593 * include/grub/symbol.h: Likewise.
32594 * include/grub/types.h: Likewise.
32595 * include/multiboot2.h: Likewise.
32596 * io/gzio.c: Likewise.
32597 * kern/device.c: Likewise.
32598 * kern/disk.c: Likewise.
32599 * kern/efi/efi.c: Likewise.
32600 * kern/efi/mm.c: Likewise.
32601 * kern/elf.c: Likewise.
32602 * kern/file.c: Likewise.
32603 * kern/i386/dl.c: Likewise.
32604 * kern/i386/pc/init.c: Likewise.
32605 * kern/i386/pc/startup.S: Likewise.
32606 * kern/ieee1275/ieee1275.c: Likewise.
32607 * kern/ieee1275/init.c: Likewise.
32608 * kern/main.c: Likewise.
32609 * kern/mm.c: Likewise.
32610 * kern/powerpc/dl.c: Likewise.
32611 * kern/sparc64/dl.c: Likewise.
32612 * kern/x86_64/dl.c: Likewise.
32613 * lib/hexdump.c: Likewise.
32614 * loader/efi/appleloader.c: Likewise.
32615 * loader/i386/ieee1275/linux.c: Likewise.
32616 * loader/i386/pc/chainloader.c: Likewise.
32617 * loader/i386/pc/linux.c: Likewise.
32618 * loader/i386/pc/multiboot2.c: Likewise.
32619 * loader/ieee1275/multiboot2.c: Likewise.
32620 * loader/multiboot2.c: Likewise.
32621 * loader/multiboot_loader.c: Likewise.
32622 * loader/powerpc/ieee1275/linux.c: Likewise.
32623 * normal/completion.c: Likewise.
32624 * normal/menu_entry.c: Likewise.
32625 * partmap/apple.c: Likewise.
32626 * util/grub.d/10_hurd.in: Likewise.
32627 * util/hostfs.c: Likewise.
32628 * video/readers/png.c: Likewise.
32629
32630 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
32631
32632 * include/grub/misc.h (GNUC_PREREQ): New macro.
32633 (ATTRIBUTE_ERROR): New macro.
32634 * include/grub/list.h (grub_bad_type_cast_real): Use
32635 ATTRIBUTE_ERROR.
32636
32637 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32638
32639 * normal/menu_text.c (print_message): Change messages.
32640
32641 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32642
32643 * normal/menu_entry.c (store_completion): Gettextizze.
32644
32645 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32646
32647 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32648
32649 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32650
32651 * po/POTFILES: Sort correctly.
32652
32653 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32654
32655 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32656 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32657 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32658 full stop.
32659 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32660 summary. Gettextizze the strings.
32661 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32662 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32663 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32664 full stop.
32665 (GRUB_MOD_INIT): Remove command name from summary.
32666 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32667 summary.
32668 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32669 * term/i386/pc/serial.c (options): Add full stops.
32670 (GRUB_MOD_INIT): Remove command name from the summary.
32671
32672 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32673
32674 * commands/acpi.c: Gettextizze help strings and/or options. Include
32675 `grub/i18n.h' if needed.
32676 * commands/blocklist.c: Likewise.
32677 * commands/boot.c: Likewise.
32678 * commands/cat.c: Likewise.
32679 * commands/cmp.c: Likewise.
32680 * commands/configfile.c: Likewise.
32681 * commands/crc.c: Likewise.
32682 * commands/date.c: Likewise.
32683 * commands/echo.c: Likewise.
32684 * commands/efi/fixvideo.c: Likewise.
32685 * commands/efi/loadbios.c: Likewise.
32686 * commands/gptsync.c: Likewise.
32687 * commands/halt.c: Likewise.
32688 * commands/handler.c: Likewise.
32689 * commands/hdparm.c: Likewise.
32690 * commands/hexdump.c: Likewise.
32691 * commands/i386/cpuid.c: Likewise.
32692 * commands/i386/pc/drivemap.c: Likewise.
32693 * commands/i386/pc/halt.c: Likewise.
32694 * commands/i386/pc/pxecmd.c: Likewise.
32695 * commands/i386/pc/vbeinfo.c: Likewise.
32696 * commands/i386/pc/vbetest.c: Likewise.
32697 * commands/ieee1275/suspend.c: Likewise.
32698 * commands/keystatus.c: Likewise.
32699 * commands/loadenv.c: Likewise.
32700 * commands/ls.c: Likewise.
32701 * commands/lsmmap.c: Likewise.
32702 * commands/lspci.c: Likewise.
32703 * commands/memrw.c: Likewise.
32704 * commands/minicmd.c: Likewise.
32705 * commands/parttool.c: Likewise.
32706 * commands/password.c: Likewise.
32707 * commands/probe.c: Likewise.
32708 * commands/read.c: Likewise.
32709 * commands/reboot.c: Likewise.
32710 * commands/search.c: Likewise.
32711 * commands/sleep.c: Likewise.
32712 * commands/test.c: Likewise.
32713 * commands/true.c: Likewise.
32714 * commands/usbtest.c: Likewise.
32715 * commands/videotest.c: Likewise.
32716 * commands/xnu_uuid.c: Likewise.
32717 * disk/loopback.c: Likewise.
32718 * hello/hello.c: Likewise.
32719 * loader/i386/bsd.c: Likewise.
32720 * term/i386/pc/serial.c: Likewise.
32721 * po/POTFILES: Add new files.
32722
32723 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
32724
32725 * term/i386/pc/at_keyboard.c
32726 (keyboard_controller_wait_untill_ready): Rename to ...
32727 (keyboard_controller_wait_until_ready): ... this. Update all users.
32728
32729 2010-01-01 Carles Pina i Estany <carles@pina.cat>
32730
32731 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32732 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32733 string using string width.
32734 * normal/menu_text.c (grub_print_message_indented): Use
32735 grub_print_spaces and not print_spaces.
32736 (print_timeout): Likewise.
32737 (print_spaces): Move to...
32738 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32739
32740 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32741
32742 Import from Gnulib.
32743
32744 * gnulib/getdelim.c: New file.
32745 * gnulib/getline.c: Likewise.
32746
32747 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32748
32749 * include/grub/list.h (grub_assert_fail): Removed.
32750 (grub_bad_type_cast_real): New function.
32751 (grub_bad_type_cast): New macro.
32752 (GRUB_AS_LIST): Use grub_bad_type_cast.
32753 (GRUB_AS_LIST_P): Likewise.
32754 (GRUB_AS_NAMED_LIST): Likewise.
32755 (GRUB_AS_NAMED_LIST_P): Likewise.
32756 (GRUB_AS_PRIO_LIST): Likewise.
32757 (GRUB_AS_PRIO_LIST_P): Likewise.
32758 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
32759
32760 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32761
32762 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32763 Fix syntax error.
32764
32765 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32766
32767 * configure.ac: Check for TARGET_CFLAGS initialization before we
32768 initialize it ourselves (sigh).
32769 Move a few modifications to TARGET_CFLAGS to be unconditional
32770 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32771 eh_frame)
32772
32773 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32774 * term/i386/pc/at_keyboard.c
32775 (keyboard_controller_wait_untill_ready): Likewise.
32776 (keyboard_controller_led): Rename `led_status' paramter to avoid
32777 name conflict.
32778
32779 2009-12-28 Carles Pina i Estany <carles@pina.cat>
32780
32781 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32782 quotes.
32783
32784 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32785
32786 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32787
32788 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32789
32790 * normal/menu_text.c (grub_print_message_indented): Prevent
32791 past-the-end-of-array dereference.
32792
32793 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32794
32795 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32796 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32797
32798 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32799
32800 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32801 * normal/main.c (grub_normal_read_line): Remove a space from the
32802 default prompt.
32803
32804 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32805
32806 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32807 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32808 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32809 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32810 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32811 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32812 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32813
32814 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32815
32816 * video/readers/jpeg.c (cmd): Declare.
32817 (grub_cmd_jpegtest): Use `grub_command_t' type.
32818 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32819 Assign to `cmd'.
32820 (GRUB_MOD_FINI): Use `cmd' to unregister.
32821 * video/readers/png.c (cmd): Declare.
32822 (grub_cmd_pngtest): Use `grub_command_t' type.
32823 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32824 Assign to `cmd'.
32825 (GRUB_MOD_FINI): Use `cmd' to unregister.
32826 * video/readers/tga.c (cmd): Declare.
32827 (grub_cmd_tgatest): Use `grub_command_t' type.
32828 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32829 Assign to `cmd'.
32830 (GRUB_MOD_FINI): Use `cmd' to unregister.
32831
32832 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32833
32834 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32835 stops.
32836 * kern/corecmd.c (grub_register_core_commands): Likewise.
32837 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32838 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32839 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32840 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32841 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32842 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32843 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32844 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32845 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32846 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32847 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32848 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32849 * normal/handler.c (insert_handler): Likewise.
32850 * normal/main.c (GRUB_MOD_INIT): Likewise.
32851 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32852
32853 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32854
32855 * commands/help.c (grub_cmd_help): Print the command name before the
32856 summary.
32857 (GRUB_MOD_INIT): Remove command name from the summary.
32858 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
32859 string as summary.
32860 * lib/arg.c (find_long): Print the command name before the summary.
32861 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32862 summary.
32863 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32864 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32865 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32866 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32867 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32868 * commands/date.c (GRUB_MOD_INIT): Likewise.
32869 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32870 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32871 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32872 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32873 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32874 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32875 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32876 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32877 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32878 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32879 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32880 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32881 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32882 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32883 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32884 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32885 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32886 * commands/password.c (GRUB_MOD_INIT): Likewise.
32887 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32888 * commands/read.c (GRUB_MOD_INIT): Likewise.
32889 * commands/search.c (GRUB_MOD_INIT): Likewise.
32890 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32891 * commands/test.c (GRUB_MOD_INIT): Likewise.
32892 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32893 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32894 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32895 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32896 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32897 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32898 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32899 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32900 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32901 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32902 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32903 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32904 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32905 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32906
32907 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32908
32909 Use search command for preliminar UUID search.
32910
32911 * commands/search.c: Split into ...
32912 * commands/search_wrap.c: ...this
32913 * commands/search.c: ...and this.
32914 * commands/search_file.c: New file.
32915 * commands/search_label.c: New file.
32916 * commands/search_uuid.c: New file.
32917 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32918 Add commands/search_wrap.c, commands/search_file.c,
32919 commands/search_label.c and commands/search_uuid.c.
32920 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32921 (search_mod_SOURCES): Set to commands/search_wrap.c.
32922 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32923 search_label.mod.
32924 (search_fs_file_mod_SOURCES): New variable.
32925 (search_fs_file_mod_CFLAGS): Likewise.
32926 (search_fs_file_mod_LDFLAGS): Likewise.
32927 (search_label_mod_SOURCES): Likewise.
32928 (search_label_mod_CFLAGS): Likewise.
32929 (search_label_mod_LDFLAGS): Likewise.
32930 (search_fs_uuid_mod_SOURCES): New variable.
32931 (search_fs_uuid_mod_CFLAGS): Likewise.
32932 (search_fs_uuid_mod_LDFLAGS): Likewise.
32933 (fs_file_mod_SOURCES): Removed.
32934 (fs_file_mod_CFLAGS): Likewise.
32935 (fs_file_mod_LDFLAGS): Likewise.
32936 (fs_uuid_mod_SOURCES): Removed.
32937 (fs_uuid_mod_CFLAGS): Likewise.
32938 (fs_uuid_mod_LDFLAGS): Likewise.
32939 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32940 Set to util/grub-install.in.
32941 * disk/fs_file.c: Removed.
32942 * disk/fs_uuid.c: Likewise.
32943 * include/grub/search.h: New file.
32944 * util/grub-install.in: Handle sparc64.
32945 Create and use load.cfg.
32946 * util/sparc64/ieee1275/grub-install.in: Removed.
32947
32948 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32949
32950 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32951 Ignore return status if CF is cleared.
32952 (grub_biosdisk_get_diskinfo_standard): Likewise.
32953
32954 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32955
32956 * term/i386/pc/at_keyboard.c
32957 (keyboard_controller_wait_untill_ready): New function.
32958 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32959 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32960 for keyboard polling, rather than duplicate the same loop. This
32961 saves a few bytes in code size.
32962
32963 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32964
32965 Support for (pxe[:server[:gateway]]) syntax and
32966 use environment variable for PXE.
32967
32968 * commands/i386/pc/pxecmd.c (options): Removed.
32969 (print_ip): Removed.
32970 (grub_cmd_pxe): Removed
32971 (grub_cmd_pxe_unload): New function.
32972 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32973 (grub_pxe_your_ip): Made static.
32974 (grub_pxe_default_server_ip): Likewise.
32975 (grub_pxe_default_gateway_ip): Likewise.
32976 (grub_pxe_blksize): Likewise.
32977 (parse_ip): New function.
32978 (grub_pxe_open): Support server and gateway specification.
32979 (grub_pxe_close): Free disk->data.
32980 (grub_pxefs_open): Use disk->data.
32981 (grub_pxefs_read): Likewise.
32982 (grub_env_write_readonly): New function.
32983 (set_mac_env): Likewise.
32984 (set_env_limn_ro): Likewise.
32985 (parse_dhcp_vendor): Likewise.
32986 (grub_pxe_detect): Set the environment variables.
32987 (set_ip_env): New function.
32988 (write_ip_env): Likewise.
32989 (grub_env_write_pxe_default_server): Likewise.
32990 (grub_env_write_pxe_default_gateway): Likewise.
32991 (grub_env_write_pxe_blocksize): Likewise.
32992 (GRUB_MOD_INIT(pxe)): Set environment variables.
32993 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32994 (grub_pxe_mac_addr_t): ... this. All users updated.
32995 (grub_pxe_your_ip): Removed.
32996 (grub_pxe_server_ip): Likewise.
32997 (grub_pxe_gateway_ip): Likewise.
32998 (grub_pxe_blksize): Likewise.
32999
33000 2009-12-25 Carles Pina i Estany <carles@pina.cat>
33001
33002 * commands/help.c: Include `<grub/i18n.h>'.
33003 (grub_cmd_help): Gettextizze.
33004 (GRUB_MOD_INIT): Likewise.
33005 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
33006 (GRUB_MOD_INIT): Gettextizze.
33007 * commands/search.c: Include `<grub/i18n.h>'.
33008 (options): Gettextizze.
33009 (GRUB_MOD_INIT): Gettextizze.
33010 * lib/arg.c: Include `<grub/i18n.h>'.
33011 (help_options): Gettextizze.
33012 (find_long): Likewise.
33013 (grub_arg_show_help): Likewise.
33014 * normal/dyncmd.c: Include `<grub/i18n.h>'.
33015 (read_command_list): Gettextizze.
33016 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
33017 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
33018
33019 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
33020
33021 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
33022 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
33023 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
33024 (led_status): New variable.
33025 (keyboard_controller_led): New function.
33026 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
33027 update led status for caps lock, num lock and scroll lock.
33028
33029 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
33030
33031 * util/hostdisk.c (open_device): Fix a comment.
33032
33033 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33034
33035 * util/grub-install.in (host_os): New variable.
33036 * util/i386/efi/grub-install.in (host_os): Likewise.
33037
33038 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33039
33040 * util/mkisofs/write.c (padblock_write): Abort when given an
33041 excedingly large embed image, instead of silently truncating it.
33042
33043 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33044
33045 * include/multiboot.h: Indentation fixes.
33046
33047 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33048
33049 * include/multiboot.h (struct multiboot_aout_symbol_table)
33050 (struct multiboot_elf_section_header_table): New structure
33051 declarations (stolen from GRUB Legacy).
33052 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
33053 table information.
33054
33055 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
33056 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
33057 type aliases.
33058
33059 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33060
33061 * include/multiboot.h: Make comments src2texi-friendly.
33062
33063 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33064
33065 For consistency with [multiboot]/docs/boot.S.
33066
33067 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
33068 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
33069 (MULTIBOOT_MAGIC2): Rename from this ...
33070 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
33071
33072 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33073
33074 * include/multiboot.h: Remove `<grub/types.h>'.
33075 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
33076 types. Update all users.
33077
33078 2009-12-25 Carles Pina i Estany <carles@pina.cat>
33079
33080 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
33081 `couldn't' and `can not' by `cannot'.
33082 * commands/i386/pc/drivemap.c: Likewise.
33083 * disk/ata.c: Likewise.
33084 * disk/ieee1275/nand.c: Likewise.
33085 * fs/affs.c: Likewise.
33086 * fs/fat.c: Likewise.
33087 * fs/hfs.c: Likewise.
33088 * fs/hfsplus.c: Likewise.
33089 * fs/iso9660.c: Likewise.
33090 * fs/jfs.c: Likewise.
33091 * fs/minix.c: Likewise.
33092 * fs/reiserfs.c: Likewise.
33093 * fs/sfs.c: Likewise.
33094 * fs/udf.c: Likewise.
33095 * fs/ufs.c: Likewise.
33096 * fs/xfs.c: Likewise.
33097 * loader/powerpc/ieee1275/linux.c: Likewise.
33098 * loader/sparc64/ieee1275/linux.c: Likewise.
33099 * util/grub-probe.c: Likewise.
33100 * util/misc.c: Likewise.
33101
33102 2009-12-24 Carles Pina i Estany <carles@pina.cat>
33103
33104 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
33105 grub_errno calls.
33106 * commands/acpi.c: Likewise.
33107 * commands/blocklist.c: Likewise.
33108 * commands/efi/loadbios.c: Likewise.
33109 * commands/i386/pc/drivemap.c: Likewise.
33110 * commands/loadenv.c: Likewise.
33111 * commands/memrw.c: Likewise.
33112 * commands/password.c: Likewise.
33113 * commands/videotest.c: Likewise.
33114 * disk/ata.c: Likewise.
33115 * disk/ata_pthru.c: Likewise.
33116 * disk/dmraid_nvidia.c: Likewise.
33117 * disk/ieee1275/nand.c: Likewise.
33118 * disk/ieee1275/ofdisk.c: Likewise.
33119 * disk/loopback.c: Likewise.
33120 * disk/lvm.c: Likewise.
33121 * disk/mdraid_linux.c: Likewise.
33122 * disk/raid.c: Likewise.
33123 * disk/raid6_recover.c: Likewise.
33124 * disk/scsi.c: Likewise.
33125 * efiemu/main.c: Likewise.
33126 * efiemu/mm.c: Likewise.
33127 * efiemu/pnvram.c: Likewise.
33128 * efiemu/symbols.c: Likewise.
33129 * font/font.c: Likewise.
33130 * fs/cpio.c: Likewise.
33131 * fs/hfsplus.c: Likewise.
33132 * fs/iso9660.c: Likewise.
33133 * fs/jfs.c: Likewise.
33134 * fs/minix.c: Likewise.
33135 * fs/ntfs.c: Likewise.
33136 * fs/ntfscomp.c: Likewise.
33137 * fs/reiserfs.c: Likewise.
33138 * fs/ufs.c: Likewise.
33139 * fs/xfs.c: Likewise.
33140 * gettext/gettext.c: Likewise.
33141 * include/grub/auth.h: Likewise.
33142 * kern/elf.c: Likewise.
33143 * kern/file.c: Likewise.
33144 * kern/ieee1275/init.c: Likewise.
33145 * kern/ieee1275/mmap.c: Likewise.
33146 * kern/ieee1275/openfw.c: Likewise.
33147 * kern/powerpc/dl.c: Likewise.
33148 * kern/sparc64/dl.c: Likewise.
33149 * lib/arg.c: Likewise.
33150 * loader/i386/bsd.c: Likewise.
33151 * loader/i386/bsdXX.c: Likewise.
33152 * loader/i386/efi/linux.c: Likewise.
33153 * loader/i386/efi/xnu.c: Likewise.
33154 * loader/i386/ieee1275/linux.c: Likewise.
33155 * loader/i386/linux.c: Likewise.
33156 * loader/i386/multiboot.c: Likewise.
33157 * loader/i386/pc/linux.c: Likewise.
33158 * loader/i386/pc/multiboot2.c: Likewise.
33159 * loader/i386/xnu.c: Likewise.
33160 * loader/ieee1275/multiboot2.c: Likewise.
33161 * loader/macho.c: Likewise.
33162 * loader/machoXX.c: Likewise.
33163 * loader/multiboot2.c: Likewise.
33164 * loader/multiboot_loader.c: Likewise.
33165 * loader/powerpc/ieee1275/linux.c: Likewise.
33166 * loader/sparc64/ieee1275/linux.c: Likewise.
33167 * loader/xnu.c: Likewise.
33168 * loader/xnu_resume.c: Likewise.
33169 * mmap/i386/pc/mmap.c: Likewise.
33170 * normal/menu_viewer.c: Likewise.
33171 * partmap/acorn.c: Likewise.
33172 * partmap/amiga.c: Likewise.
33173 * partmap/apple.c: Likewise.
33174 * script/lexer.c: Likewise.
33175 * term/gfxterm.c: Likewise.
33176 * term/i386/pc/serial.c: Likewise.
33177 * term/i386/pc/vga.c: Likewise.
33178 * term/ieee1275/ofconsole.c: Likewise.
33179 * term/terminfo.c: Likewise.
33180 * video/bitmap.c: Likewise.
33181 * video/efi_gop.c: Likewise.
33182 * video/efi_uga.c: Likewise.
33183 * video/fb/video_fb.c: Likewise.
33184 * video/i386/pc/vbe.c: Likewise.
33185 * video/readers/tga.c: Likewise.
33186 * video/video.c: Likewise.
33187
33188 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
33189
33190 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
33191 * commands/lspci.c: Likewise.
33192 * commands/probe.c: Likewise.
33193 * commands/xnu_uuid.c: Likewise.
33194 * conf/i386-coreboot.rmk: Likewise.
33195 * conf/i386-efi.rmk: Likewise.
33196 * conf/i386-ieee1275.rmk: Likewise.
33197 * conf/i386-pc.rmk: Likewise.
33198 * conf/powerpc-ieee1275.rmk: Likewise.
33199 * conf/sparc64-ieee1275.rmk: Likewise.
33200 * conf/x86_64-efi.rmk: Likewise.
33201 * fs/i386/pc/pxe.c: Likewise.
33202 * gettext/gettext.c: Likewise.
33203 * include/grub/efi/graphics_output.h: Likewise.
33204 * include/grub/i386/pc/memory.h: Likewise.
33205 * kern/env.c: Likewise.
33206 * kern/i386/qemu/startup.S: Likewise.
33207 * lib/i386/pc/biosnum.c: Likewise.
33208 * lib/i386/relocator.c: Likewise.
33209 * lib/i386/relocator_asm.S: Likewise.
33210 * lib/relocator.c: Likewise.
33211 * loader/i386/bsd.c: Likewise.
33212 * loader/i386/multiboot.c: Likewise.
33213 * loader/i386/pc/chainloader.c: Likewise.
33214 * loader/i386/xnu.c: Likewise.
33215 * loader/xnu.c: Likewise.
33216 * normal/main.c: Likewise.
33217 * normal/menu_text.c: Likewise.
33218 * util/getroot.c: Likewise.
33219 * util/grub-mkconfig_lib.in: Likewise.
33220 * util/grub.d/00_header.in: Likewise.
33221 * util/i386/pc/grub-mkimage.c: Likewise.
33222 * util/mkisofs/eltorito.c: Likewise.
33223 * util/mkisofs/exclude.h: Likewise.
33224 * util/mkisofs/hash.c: Likewise.
33225 * util/mkisofs/iso9660.h: Likewise.
33226 * util/mkisofs/joliet.c: Likewise.
33227 * util/mkisofs/mkisofs.c: Likewise.
33228 * util/mkisofs/mkisofs.h: Likewise.
33229 * util/mkisofs/multi.c: Likewise.
33230 * util/mkisofs/name.c: Likewise.
33231 * util/mkisofs/rock.c: Likewise.
33232 * util/mkisofs/tree.c: Likewise.
33233 * util/mkisofs/write.c: Likewise.
33234 * video/efi_gop.c: Likewise.
33235
33236 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
33237
33238 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
33239 size counting.
33240
33241 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33242
33243 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
33244 * genmk.rb (class SCRIPT): Modify the target file instead of source.
33245
33246 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33247
33248 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
33249 (GRUB_MOD_INIT(memrw)): Update help line.
33250
33251 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33252
33253 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
33254 Use grub_extcmd_t. All users updated.
33255 (options): New variable.
33256 (grub_cmd_read): Restructure for readability. Support "-v" option.
33257 (grub_cmd_write): Restructure for readability.
33258
33259 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33260
33261 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
33262
33263 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33264
33265 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
33266 with the actual contents of the correspondending make variable.
33267 * util/grub-mkrescue.in (pkglib_DATA): New variable.
33268 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
33269 specifying `*.lst' and `efiemu??.o'
33270
33271 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33272
33273 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
33274 after function name.
33275 Noticed by Rene Engelhard <rene@debian.org>.
33276
33277 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33278
33279 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
33280 (options): New variable.
33281 (iospace): Likewise.
33282 (grub_lspci_iter): List IO spaces if "-i" was given.
33283 (grub_cmd_lspci): Parse options.
33284 (GRUB_MOD_INIT(lspci)): Use extcmd.
33285 (GRUB_MOD_FINI(lspci)): Likewise.
33286
33287 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33288
33289 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
33290 `function' keyword.
33291 Patch by Tony Mancill <tmancill@debian.org>.
33292
33293 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33294
33295 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
33296 (grub_uhci_portstatus): Likewise.
33297 (grub_uhci_portstatus): Add necessary delay.
33298 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
33299
33300 2009-12-21 Carles Pina i Estany <carles@pina.cat>
33301
33302 * commands/acpi.c (options): Fix capitalizations and/or full stops.
33303 (GRUB_MOD_INIT): Likewise.
33304 * commands/boot.c (GRUB_MOD_INIT): Likewise.
33305 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
33306 * commands/echo.c (options): Fix capitalizations and/or full stops.
33307 * commands/efi/loadbios.c (enable_rom_area): Likewise.
33308 (enable_rom_area): Likewise.
33309 (GRUB_MOD_INIT): Likewise.
33310 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
33311 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
33312 * commands/handler.c (GRUB_MOD_INIT): Likewise.
33313 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
33314 * commands/hexdump.c (options): Likewise.
33315 * commands/i386/cpuid.c (options): Likewise.
33316 (GRUB_MOD_INIT): Likewise.
33317 * commands/i386/pc/drivemap.c (options): Likewise.
33318 (GRUB_MOD_INIT): Likewise.
33319 * commands/i386/pc/halt (options): Likewise.
33320 (GRUB_MOD_INIT): Likewise.
33321 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
33322 * commands/i386/pc/pxecmd.c (options): Likewise.
33323 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
33324 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
33325 * commands/keystatus.c (options): Likewise.
33326 (GRUB_MOD_INIT): Likewise.
33327 * commands/loadenv.c (options): Likewise.
33328 * commands/ls.c (options): Likewise.
33329 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
33330 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
33331 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
33332 * commands/parttool.c (helpmsg): Likewise.
33333 * commands/probe.c (options): Likewise.
33334 * commands/read.c (GRUB_MOD_INIT): Likewise.
33335 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
33336 * commands/search.c (options): Likewise.
33337 * commands/sleep.c (options): Likewise.
33338 * commands/test.c (GRUB_MOD_INIT): Likewise.
33339 * commands/true.c (GRUB_MOD_INIT): Likewise.
33340 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
33341 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
33342 * lib/arg.c (help_options): Likewise.
33343 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
33344 `$(XGETTEXT)'.
33345 * po/POTFILES: Add `commands/loadenv.c'.
33346
33347 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
33348
33349 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
33350 instead of specifying them explicit.
33351
33352 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33353
33354 * NEWS: Add grub-probe support for GNU/Hurd.
33355
33356 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33357
33358 * NEWS: gettext was added after 1.97.
33359
33360 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33361
33362 * util/mkisofs/msdos_partition.h: New file (based on
33363 include/grub/msdos_partition.h).
33364 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33365 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33366 (ld_options, main): Recognize --protective-msdos-label.
33367 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33368 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33369 (padblock_write): If `use_protective_msdos_label' is set, patch a
33370 protective DOS-style label in the output image.
33371
33372 * util/grub-mkrescue.in: Use --protective-msdos-label.
33373
33374 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33375
33376 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33377 boot.
33378
33379 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33380
33381 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33382 variables.
33383 (ld_options, main): Recognize `--embedded-boot'.
33384 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33385 declarations.
33386 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33387 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33388 (padblock_write): Likewise. Rewrite to support embedded boot image.
33389
33390 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33391 for BIOS-based disk boot instead of only ElTorito.
33392
33393 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33394
33395 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33396 build (not needed for bootstrap).
33397
33398 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33399
33400 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33401 from i386-pc build (not needed for bootstrap).
33402 Rewrite a pair of strings.
33403
33404 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33405
33406 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33407
33408 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
33409
33410 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33411
33412 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33413
33414 * kern/env.c (grub_env_context_open): Mark exported variable for
33415 reexport.
33416
33417 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33418
33419 * kern/env.c (grub_env_export): Create nonexistent variables before
33420 exporting.
33421
33422 2009-12-20 Carles Pina i Estany <carles@pina.cat>
33423
33424 * include/grub/auth.h: Include `<grub/i18n.h>'.
33425 (GRUB_GET_PASSWORD): Gettextizze string.
33426 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33427 menu_text.c.
33428 (grub_utf8_to_ucs4_alloc): Fix indentation.
33429 (grub_print_ucs4): Likewise.
33430 (grub_getstringwidth): Likewise.
33431 (print_message_indented): New declaration.
33432 * normal/auth.c: Include `<grub/i18n.h>'.
33433 (grub_auth_check_authentication): Gettexttize string.
33434 * normal/cmdline.c: Include `<grub/i18n.h>'.
33435 (grub_cmdline_get): Gettextizze.
33436 * normal/color.c: Include `<grub/i18n.h>'.
33437 (grub_parse_color_name_pair): Gettexttize strings.
33438 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33439 string (use `print_message_indented').
33440 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33441 `include/grub/normal.h'.
33442 (print_message_indented): Renamed to ...
33443 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33444 used in normal/main.c).
33445 (print_message): Use `grub_print_message_indented' instead of
33446 `print_message_indented'.
33447 (print_timeout): Likewise.
33448 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33449 (grub_normal_print_device_info): Gettexttize strings.
33450 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33451
33452 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33453
33454 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33455 of arguments. Return number of tokens and not arguments. All users
33456 updated.
33457
33458 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33459
33460 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33461 non-MSDOS paritions.
33462
33463 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33464
33465 * include/grub/types.h (UNUSED): Removed since it conflicts with
33466 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33467 Reported by Grégoire Sutre.
33468
33469 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33470
33471 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33472 (grub_print_ucs4_alloc): Likewise.
33473 (grub_getstringwidth): Likewise.
33474 * normal/main.c (grub_normal_init_page): Gettextize version string.
33475 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33476 (getstringwidth): Renamed to ...
33477 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33478 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33479 (grub_print_ucs4): Remove `static' qualifer (now used in
33480 normal/main.c).
33481 * po/POTFILES: Add normal/main.c.
33482
33483 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33484
33485 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33486 (print_message_indented): Add `margin_left' and `margin_right'
33487 parameters.
33488 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33489 strings.
33490 (print_timeout): Use `print_message_indented' to print the message.
33491 Deletes `second_stage' parameter.
33492 (run_menu): Update `print_timeout' calls.
33493
33494 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33495
33496 Fix console palette on OpenFirmware.
33497
33498 * term/ieee1275/ofconsole.c (MAX): Removed.
33499 (colors): Redone based on VGA palette.
33500 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33501 colors are supported.
33502 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33503
33504 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33505
33506 Fix potential EfiEmu double prepare.
33507
33508 * efiemu/main.c (prepared): New variable
33509 (grub_efiemu_unload): Set prepare to '0'.
33510 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33511
33512 set_virtual_address_map support.
33513
33514 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33515 prototype.
33516 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33517 prototype.
33518 (grub_efiemu_crc32): Likewise.
33519 (grub_efiemu_crc64): Likewise.
33520 (grub_efiemu_set_virtual_address_map): Likewise.
33521 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33522 New definition.
33523 (grub_autoefi_set_virtual_address_map): Likewise.
33524 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33525 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33526 Restructure flow to accomodate it.
33527 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33528 (grub_efiemu_crc): Recompute CRC32.
33529 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33530 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33531 * efiemu/symbols.c (relocated_handle): New variable.
33532 (grub_efiemu_free_syms): Free relocated_handle.
33533 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33534 (grub_efiemu_write_sym_markers): New function.
33535 (grub_efiemu_set_virtual_address_map): Likewise.
33536
33537 Newer XNU parameters.
33538
33539 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33540 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33541 (grub_xnu_fill_devicetree): New prototype.
33542 (grub_xnu_heap_real_start): New variable.
33543 * loader/xnu.c (get_name_ptr): New function.
33544 (grub_xnu_load_driver): Fill namelen and name.
33545
33546 64-bit xnu support.
33547
33548 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33549 and 'loader/macho64.c'.
33550 * conf/i386-pc.rmk: Likewise.
33551 * conf/x86_64-efi.rmk: Likewise.
33552 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33553 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33554 * include/grub/macho.h (grub_macho_segment64): New structure.
33555 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33556 (grub_macho_size32): ... to this.
33557 (grub_macho32_get_entry_point): Renamed from ...
33558 (grub_macho_get_entry_point32): ... to this.
33559 (grub_macho_contains_macho64): New prototype.
33560 (grub_macho_size64): Likewise.
33561 (grub_macho_get_entry_point64): Likewise.
33562 (grub_macho32_load): Renamed from ...
33563 (grub_macho_load32): ... to this.
33564 (grub_macho32_filesize): Renamed from ...
33565 (grub_macho_filesize32): ... to this.
33566 (grub_macho32_readfile): Renamed from ...
33567 (grub_macho_readfile32): ... to this.
33568 (grub_macho_filesize64): New prototype.
33569 (grub_macho_readfile64): Likewise.
33570 (grub_macho_parse32): Likewise.
33571 (grub_macho_parse64): Likewise.
33572 * loader/macho.c: Split into ...
33573 * loader/machoXX.c: ... and this. Replace 32 with XX.
33574 * loader/macho32.c: New file.
33575 * loader/macho64.c: Likewise.
33576 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33577 (grub_cmd_xnu_kernel): Make 32-bit only.
33578 (grub_cmd_xnu_kernel64): New function.
33579 (grub_xnu_load_driver): Support Mach-O 64.
33580 (grub_cmd_xnu_mkext): Likewise.
33581 * util/grub.d/30_os-prober.in (osx_entry): New function.
33582 Generate entries for 64-bit boot too.
33583
33584 Eliminate ad-hoc tree format in XNU and EfiEmu.
33585
33586 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33587 * efiemu/pnvram.c: Rewritten to use environment variables.
33588 All users updated.
33589
33590 Inline utf16_to_utf8.
33591
33592 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33593 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33594 All users updated.
33595 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33596
33597 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33598 * commands/usbtest.c (grub_usb_get_string): ... move here.
33599 (usb_print_str): Fix error handling.
33600 * include/grub/usb.h (grub_usb_get_string): Remove.
33601
33602 UTF-8 to UTF-16 transformation.
33603
33604 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33605 (charset_mod_SOURCES): New variable.
33606 (charset_mod_CFLAGS): Likewise.
33607 (charset_mod_LDFLAGS): Likewise.
33608 * include/grub/utf.h: New file.
33609 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33610
33611 Support for device properties.
33612
33613 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33614 (grub_xnu_devprop_device_header): Likewise.
33615 (grub_xnu_devprop_device_descriptor): Likewise.
33616 (grub_xnu_devprop_add_device): New prototype.
33617 (grub_xnu_devprop_remove_device): Likewise.
33618 (grub_xnu_devprop_remove_property): Likewise.
33619 (grub_xnu_devprop_add_property_utf8): Likewise.
33620 (grub_xnu_devprop_add_property_utf16): Likewise.
33621 (grub_cpu_xnu_init): Likewise.
33622 (grub_cpu_xnu_fini): Likewise.
33623 (grub_cpu_xnu_unload): Likewise.
33624 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33625 (property_descriptor): Likewise.
33626 (devices): New variable.
33627 (grub_xnu_devprop_remove_property): New function.
33628 (grub_xnu_devprop_add_device): Likewise.
33629 (grub_xnu_devprop_remove_device): Likewise.
33630 (grub_xnu_devprop_add_property): Likewise.
33631 (grub_xnu_devprop_add_property_utf8): Likewise.
33632 (grub_xnu_devprop_add_property_utf16): Likewise.
33633 (hextoval): Likewise.
33634 (grub_cpu_xnu_fill_devprop): Likewise.
33635 (grub_cmd_devprop_load): Likewise.
33636 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33637 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33638 (cmd_devprop_load): New variable.
33639 (grub_cpu_xnu_init): New function.
33640 (grub_cpu_xnu_fini): Likewise.
33641 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33642 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33643 (grub_cmd_xnu_devtree): Likewise.
33644 (hextoval): New function.
33645 (unescape): Likewise.
33646 (grub_xnu_fill_devicetree): Likewise.
33647
33648 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33649 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33650
33651 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33652
33653 Workaround for broken ATI VBE.
33654
33655 * video/i386/pc/vbe.c (last_set_mode): New variable.
33656 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33657 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33658 (grub_video_vbe_setup): Don't check for reserved flag.
33659
33660 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
33661
33662 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33663 the `find' command.
33664
33665 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33666
33667 UUID support for HFS.
33668
33669 * fs/hfs.c (grub_hfs_uuid): New function.
33670 (grub_hfs_fs): New value .uuid.
33671 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33672
33673 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
33674
33675 Fix a segfault with parsing unknown long options.
33676
33677 * util/grub-mkrelpath.c (options): Zero terminate it.
33678
33679 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33680
33681 * include/grub/misc.h (grub_puts): New declaration.
33682 (grub_puts_): Likewise.
33683 * kern/misc.c (grub_puts): New definition.
33684 (grub_puts_): Likewise.
33685
33686 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33687
33688 * util/grub-probe.c (probe): Improve error message.
33689
33690 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33691
33692 * loader/i386/multiboot_elfxx.c
33693 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33694 initialization.
33695
33696 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33697
33698 Relocator framework
33699
33700 * loader/i386/xnu_helper.S: Removed. All users updated.
33701 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33702 (relocator_mod_SOURCES): New variable.
33703 (relocator_mod_CFLAGS): Likewise.
33704 (relocator_mod_LDFLAGS): Likewise.
33705 (relocator_mod_ASFLAGS): Likewise.
33706 * conf/x86_64.rmk: Likewise.
33707 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33708 (grub_multiboot_payload_entry_offset): Likewise.
33709 (grub_multiboot_forward_relocator): Likewise.
33710 (grub_multiboot_forward_relocator_end): Likewise.
33711 (grub_multiboot_backward_relocator): Likewise.
33712 (grub_multiboot_backward_relocator_end): Likewise.
33713 (grub_multiboot_payload_eip): New variable.
33714 (grub_multiboot_payload_orig): Likewise.
33715 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33716 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33717 * include/grub/i386/memory.h
33718 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33719 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33720 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33721 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33722 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33723 * include/grub/i386/relocator.h: New file.
33724 * include/grub/x86_64/relocator.h: Likewise.
33725 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33726 (XNU_RELOCATOR): New macro.
33727 (grub_xnu_launcher_start): Remove.
33728 (grub_xnu_launcher_end): Likewise.
33729 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33730 (grub_xnu_heap_real_start): Remove.
33731 (grub_xnu_heap_start): Change to void *. All users updated.
33732 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33733 * lib/i386/relocator.c: New file.
33734 * lib/i386/relocator_asm.S: Likewise.
33735 * lib/i386/relocator_backward.S: Likewise.
33736 * lib/mips/relocator.c: Likewise.
33737 * lib/mips/relocator_asm.S: Likewise.
33738 * lib/relocator.c: Likewise.
33739 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33740 (entry): Removed.
33741 (playground): Likewise.
33742 (grub_multiboot_payload_orig): New variable.
33743 (grub_multiboot_payload_dest): Likewise.
33744 (grub_multiboot_payload_size): Likewise.
33745 (grub_multiboot_payload_eip): Likewise.
33746 (grub_multiboot_payload_esp): Likewise.
33747 (grub_multiboot_boot): Use grub_relocator32_boot.
33748 (grub_multiboot_unload): Free relocators.
33749 (grub_multiboot): Setup stack. Use relocators.
33750 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33751 (grub_multiboot_load_elfXX): Use relocators.
33752 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33753 (grub_multiboot_payload_size): Likewise.
33754 (grub_multiboot_payload_dest): Likewise.
33755 (grub_multiboot_payload_entry_offset): Likewise.
33756 (grub_multiboot_forward_relocator): Likewise.
33757 (grub_multiboot_backward_relocator): Likewise.
33758 (grub_multiboot_real_boot): Likewise.
33759 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33760 (grub_xnu_entry_point): Likewise.
33761 (grub_xnu_arg1): Likewise.
33762 (grub_xnu_stack): Likewise.
33763 (grub_xnu_launch): Removed.
33764 (grub_xnu_boot_resume): New function.
33765 (grub_xnu_boot): Use relocators.
33766 * loader/i386/xnu_helper.S: Removed.
33767 * loader/xnu.c (grub_xnu_heap_start): New variable.
33768 (grub_xnu_heap_size): Likewise.
33769 (grub_xnu_heap_malloc): Use relocators.
33770 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33771
33772 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33773
33774 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33775 anything.
33776
33777 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33778
33779 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33780 GRUB_ERR_NONE before calling grub_env_set.
33781
33782 2009-12-12 Robert Millan <rmh@aybabtu.com>
33783
33784 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33785 * genmk.rb (video): New variable.
33786 (CLEANFILES, VIDEOFILES): Add #{video}.
33787 (#{video}): New target rule.
33788 * genvideolist.sh: New file.
33789 * Makefile.in (pkglib_DATA): Add video.lst.
33790 (video.lst): New target rule.
33791 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33792 `video.lst'.
33793 * util/grub.d/30_os-prober.in: Replace `vbe' with
33794 ${GRUB_VIDEO_BACKEND}.
33795
33796 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33797
33798 * THANKS: Add David Miller.
33799
33800 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33801
33802 libpciaccess support.
33803
33804 * Makefile.in (LIBPCIACCESS): New variable.
33805 (enable_grub_emu_pci): Likewise.
33806 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33807 util/pci.c and commands/lspci.c.
33808 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33809 * configure.ac (grub-emu-pci): New option.
33810 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33811 (grub_pci_device_unmap_range): Likewise.
33812 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33813 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33814 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33815 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33816 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33817 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33818 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33819 * include/grub/pciutils.h: New file.
33820 * util/pci.c: Likewise.
33821
33822 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
33823
33824 * util/misc.c: Don't include <errno.h> twice.
33825
33826 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
33827
33828 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33829 name in an error message.
33830 (grub_biosdisk_rw): Likewise.
33831
33832 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33833
33834 Eliminate NTFS 4Gib barrier.
33835
33836 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33837 (read_run_data): Likewise.
33838 (grub_ntfs_read_run_list): Likewise.
33839 (grub_ntfs_read_block): Likewise.
33840 (grub_ntfs_iterate_dir): Likewise.
33841 (read_mft): Likewise.
33842 (read_data): Likewise.
33843 Use COM_LOG_LEN.
33844 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33845 to avoid 64-bit division
33846 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33847 (grub_ntfs_rlst): Use grub_disk_addr_t.
33848
33849 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33850
33851 Eliminate grub-fstest 4Gib barrier.
33852
33853 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33854 (read_file): Fix error reporting.
33855
33856 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33857
33858 Eliminate hexdump 4Gib barrier.
33859
33860 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33861 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33862
33863 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33864
33865 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33866 Fixes amarsh bug.
33867
33868 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33869
33870 Remove miscellaneous files in distclean target.
33871
33872 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33873
33874 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
33875
33876 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33877 if they're already set. This resolves the conflict between my
33878 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33879 fixing the --grub-probe option again.
33880 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33881 change on 2009-10-06, so that we now once again source
33882 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33883
33884 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33885
33886 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33887 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33888 `util/devicemap.c'.
33889
33890 2009-12-08 Carles Pina i Estany <carles@pina.cat>
33891
33892 * include/grub/misc.h (grub_printf_): New declaration.
33893 * kern/misc.c (grub_printf_): New definition.
33894 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33895 instead of `grub_printf' and `_'.
33896 * normal/menu_entry.c (store_completion): Likewise.
33897 (run): Likewise.
33898 (grub_menu_entry_run): Likewise.
33899 * normal/menu_text.c (grub_wait_after_message): Likewise.
33900 (notify_booting): Likewise.
33901 (notify_fallback): Likewise.
33902 (notify_execution_failure): Likewise.
33903
33904 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
33905
33906 * configure.ac: Check for vasprintf.
33907 * util/misc.c (asprintf): Move allocation from here ...
33908 (vasprintf): ... to here. New function.
33909 (xasprintf): New function.
33910 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33911 prototypes.
33912 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33913 * util/grub-mkfont.c (write_font): Likewise.
33914 * util/grub-probe.c (probe): Likewise.
33915 * util/hostdisk.c (make_device_name): Likewise.
33916
33917 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
33918
33919 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33920 anything even prefixed with 'cdrom' as a cdrom.
33921
33922 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
33923
33924 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33925 mount points.
33926
33927 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33928
33929 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33930 grub_gettext_msg_list.
33931 (grub_gettext_gettranslation_from_position): Return const char *
33932 and not char *.
33933 (grub_gettext_translate): Add the translated strings into a list,
33934 returns from the list if existing there.
33935 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33936 (grub_gettext_delete_list): Delete the list.
33937 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33938 lang environment variable is changed.
33939 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33940
33941 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33942
33943 Rename kernel.mod to kernel.img.
33944
33945 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33946 (kernel_mod_EXPORTS): Rename to ...
33947 (kernel_img_EXPORTS): ... this.
33948 (kernel_mod_SOURCES): Rename to ...
33949 (kernel_img_SOURCES): ... this.
33950 (kernel_mod_HEADERS): Rename to ...
33951 (kernel_img_HEADERS): ... this. All users updated.
33952 (kernel_mod_CFLAGS): Rename to ...
33953 (kernel_img_CFLAGS): ... this.
33954 (kernel_mod_ASFLAGS): Rename to ...
33955 (kernel_img_ASFLAGS): ... this.
33956 (kernel_mod_LDFLAGS): Rename to ...
33957 (kernel_img_LDFLAGS): ... this.
33958 * conf/x86_64-efi.rmk: Likewise.
33959 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33960 (read_kernel_image): ... this. All users updated.
33961 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33962
33963 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33964
33965 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33966 (print_spaces): New function.
33967 (grub_print_ucs4): New function.
33968 (getstringwidth): New function.
33969 (print_message_indented): New function.
33970 (print_message): Gettexttize strings using print_message_indented.
33971 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33972 width.
33973 (get_entry_number): Gettextize and uses dynamic terminal width.
33974 (notify_booting, notify_fallback, notify_execution_failure):
33975 Gettextize.
33976 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33977 string.
33978 (run): Likewise.
33979 (grub_menu_entry_run): Likewise.
33980 * PO/POTFILES: Add normal/menu_entry.c.
33981
33982 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33983
33984 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33985
33986 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33987
33988 * util/grub-install.in: Install gettext .mo files.
33989 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33990
33991 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33992
33993 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33994 grub_dprintf.
33995
33996 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33997
33998 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33999 non-firmware-dependant one in realmode.S takes precedence.
34000
34001 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
34002
34003 * commands/halt.c: Replace misc arch-specific headers with
34004 `<grub/misc.h>'.
34005 * commands/reboot.c: Likewise.
34006 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
34007 `<grub/misc.h>'.
34008 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
34009 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
34010 (kernel_img_SOURCES): ... to here.
34011
34012 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
34013 * include/grub/i386/pc/init.h: Likewise.
34014 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
34015 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34016
34017 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
34018
34019 * include/grub/i386/halt.h: Remove.
34020 * include/grub/i386/reboot.h: Likewise.
34021
34022 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
34023
34024 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
34025
34026 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
34027 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
34028 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
34029 "progname.h"
34030 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
34031 * util/sparc64/ieee1275/grub-setup.c: Likewise.
34032 (usage): Add missing comma in printf.
34033
34034 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
34035
34036 Use the same reboot approach on i386 coreboot and qemu as we do on
34037 BIOS.
34038
34039 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
34040 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
34041 * kern/i386/reboot.c: Remove.
34042 * include/grub/i386/reboot.h (grub_reboot): Export function.
34043 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
34044 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
34045 0xf000:0xfff0 instead of 0xffff:0x0000.
34046 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
34047 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
34048
34049 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
34050
34051 Fix $srcdir != $objdir build.
34052
34053 * Makefile.in (po/%.po): Rewrite as ...
34054 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
34055
34056 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
34057
34058 Fix GNU/Hurd grub-install crash.
34059 * util/grub-probe.c (probe): Try to access `path' only when it is not
34060 NULL.
34061
34062 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
34063
34064 Correct module naming.
34065
34066 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
34067 (GRUB_MOD_INIT(efi_uga)): ... to this
34068 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
34069 (GRUB_MOD_FINI(efi_uga)): ... to this
34070 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
34071 (GRUB_MOD_INIT(efi_gop)): ... to this
34072 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
34073 (GRUB_MOD_FINI(efi_gop)): ... to this
34074
34075 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
34076
34077 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
34078 translatable.
34079 (usage): Translate `arg' strings using gettext().
34080 Thanks to Jordi Mallach for the suggestion.
34081
34082 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
34083
34084 GOP support. Based on patch from Bean
34085 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34086
34087 * video/efi_gop.c: New file.
34088 * include/grub/efi/graphics_output.h: Likewise.
34089 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
34090 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34091 variables.
34092 * conf/x86_64-efi.rmk: Likewise.
34093
34094 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
34095
34096 Rename efi_fb to efi_uga.
34097
34098 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
34099 'efi_uga.mod'.
34100 (efi_fb_mod_SOURCES): Rename this ...
34101 (efi_uga_mod_SOURCES): ... to this.
34102 (efi_fb_mod_CFLAGS): Rename this ...
34103 (efi_uga_mod_CFLAGS): ... to this.
34104 (efi_fb_mod_LDFLAGS): Rename this ...
34105 (efi_uga_mod_LDFLAGS): ... to this.
34106 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
34107 'efi_uga.mod'.
34108 (efi_fb_mod_SOURCES): Rename this ...
34109 (efi_uga_mod_SOURCES): ... to this.
34110 (efi_fb_mod_CFLAGS): Rename this ...
34111 (efi_uga_mod_CFLAGS): ... to this.
34112 (efi_fb_mod_LDFLAGS): Rename this ...
34113 (efi_uga_mod_LDFLAGS): ... to this.
34114 * video/efi_fb.c: Move this ...
34115 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
34116
34117 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34118
34119 * po/README: New file. Explain our PO file workflow.
34120
34121 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34122
34123 * po/ChangeLog: Remove. Move relevant entries back to ...
34124 * ChangeLog: ... here.
34125 * po/ca.po: Remove (now handled by TLP).
34126 * po/id.po: Likewise.
34127 * po/zh_CN.po: Likewise.
34128 * Makefile.in (LINGUAS): Initialize in a way that supports
34129 empty set.
34130
34131 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34132
34133 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
34134 reliing on po/LINGUAS.
34135 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
34136 (po/%.po): ... this.
34137
34138 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
34139
34140 * util/i386/efi/grub-mkimage.c: Include "progname.h".
34141 (main): Use `program_name' instead of nonexistent `progname'.
34142
34143 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
34144
34145 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34146 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
34147
34148 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
34149
34150 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
34151 commit.
34152 * conf/i386-efi.rmk: Likewise.
34153 * conf/i386-ieee1275.rmk: Likewise.
34154 * conf/powerpc-ieee1275.rmk: Likewise.
34155 * conf/sparc64-ieee1275.rmk: Likewise.
34156 * conf/x86_64-efi.rmk: Likewise.
34157
34158 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
34159
34160 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
34161
34162 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
34163
34164 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
34165
34166 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
34167
34168 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
34169 (grub_mkdevicemap_SOURCES): New variable.
34170 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
34171 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
34172 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
34173 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
34174 (grub_mkdevicemap_SOURCES): Remove.
34175 * conf/i386-efi.rmk: Likewise.
34176 * conf/i386-ieee1275.rmk: Likewise.
34177 * conf/i386-pc.rmk: Likewise.
34178 * conf/powerpc-ieee1275.rmk: Likewise.
34179 * conf/sparc64-ieee1275.rmk: Likewise.
34180 * conf/x86_64-efi.rmk: Likewise.
34181 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
34182 (usage): Fix strings to use `program_name'.
34183 (main): Initialize gettext.
34184 * util/grub-editenv.c: Likewise.
34185 * util/grub-emu.c: Likewise.
34186 * util/grub-fstest.c: Likewise.
34187 * util/grub-mkdevicemap.c: Likewise.
34188 * util/grub-mkfont.c: Likewise.
34189 * util/grub-mkrelpath.c: Likewise.
34190 * util/grub-pe2elf.c: Likewise.
34191 * util/grub-probe.c: Likewise.
34192 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
34193 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
34194 * util/sparc64/ieee1275/grub-setup.c: Likewise.
34195
34196 * util/misc.c: Include `"progname.h"'.
34197 (progname): Remove variable.
34198 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
34199
34200 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
34201
34202 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
34203 printf and print a newline after the menuentry header line.
34204 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34205
34206 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
34207
34208 autoconf >= 2.60 support $(localedir).
34209
34210 * INSTALL: Note that autoconf 2.60 is required.
34211 * configure.ac (AC_PREREQ): Bump to 2.60.
34212 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
34213 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
34214
34215 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
34216
34217 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
34218 aclocal is run.
34219
34220 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34221
34222 * normal/main.c (grub_normal_read_line): Fix off-by-one
34223 buffer overflow.
34224
34225 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34226
34227 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
34228 "parser.grub" in grub_command_execute() call.
34229
34230 2009-11-24 Carles Pina i Estany <carles@pina.cat>
34231
34232 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
34233 * conf/i386-efi.rmk: Likewise.
34234 * conf/i386-ieee1275.rmk: Likewise.
34235 * conf/i386-pc.rmk: Likewise.
34236 * conf/powerpc-ieee1275.rmk: Likewise.
34237 * conf/sparc64-ieee1275.rmk: Likewise.
34238 * conf/x86_64-efi.rmk: Likewise.
34239 * gettext/gettex.c: Include <grub/i18n.h>.
34240 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
34241 here ...
34242 * include/grub/i18n.h: ... to here
34243 * include/grub/i18n.h: ... to here.
34244 * kern/misc.c: Include <grub/i18n.h>
34245 (grub_gettext_dummy): Move above user.
34246
34247 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34248
34249 * util/Makefile.in (install-local): Convert a `for' into a normal
34250 shell expansion.
34251
34252 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
34253
34254 * autogen.sh: Add automake call.
34255 * config.guess: Remove.
34256 * config.sub: Likewise.
34257 * install-sh: Likewise.
34258
34259 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34260
34261 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
34262
34263 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34264
34265 * util/Makefile.in (install-local): Convert a make `$(foreach)'
34266 function to a normal shell `for'.
34267
34268 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34269
34270 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34271
34272 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34273
34274 * util/grub-mkrelpath.c: New file.
34275 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
34276 (grub_mkrelpath_SOURCES): New variable.
34277 * include/grub/util/misc.h: New function prototype.
34278 * util/misc.c (make_system_path_relative_to_its_root): New function.
34279
34280 * util/grub-mkconfig_lib.in (bindir): New variable.
34281 (grub_mkrelpath): Likewise.
34282 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
34283
34284 * util/probe.c (probe): Make the file path relative to its root.
34285 Change a info message to use the GRUB path. Enable again the
34286 check if we can read the file with GRUB facilities.
34287
34288 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
34289 to its root.
34290
34291 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34292
34293 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
34294 platform.
34295
34296 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34297
34298 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
34299 strncmp().
34300
34301 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34302
34303 * util/getroot.c (grub_util_is_dmraid): New function.
34304 (grub_util_get_dev_abstraction): Treat dmraid and multipath
34305 devices as normal ones, not as LVM.
34306
34307 2009-11-23 Carles Pina i Estany <carles@pina.cat>
34308
34309 * conf/common.rmk: Add grub-gettext_lib target and updates
34310 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
34311 LDFLAGS.
34312 * gettext/gettext.c: New file. (Reads mo files).
34313 * include/grub/file.h (grub_file_pread): New prototype.
34314 * include/grub/i18n.h (_): New prototype.
34315 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
34316 prototypes.
34317 * kern/misc.c (grub_gettext_dummy): New function.
34318 * normal/menu_text.c: Include <grub/i18n.h>.
34319 * normal/menu_text.c (print_timeout): Gettexttize string.
34320 * normal/menu_text.c (print_message): Gettexttize string.
34321 * po/POTFILES: Add `normal/menu_text.c'.
34322 * po/ca.po: Add new translations.
34323 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34324 gettext module and defines locale_dir and lang in grub.cfg.
34325 * NEWS: Add gettext support.
34326
34327 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34328
34329 * util/hostdisk.c: Include `<grub/i18n.h>'.
34330 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
34331 (make_device_name): Rewrite using asprintf.
34332 (convert_system_partition_to_system_disk): Replace 0 with NULL.
34333 (find_system_device): If a device is not found, generate one just
34334 by reusing the OS path name.
34335 (read_device_map): Make it permissible for device.map not to exist.
34336
34337 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34338
34339 * script/sh/execute.c: Move from here ...
34340 * script/execute.c: ... to here. Update all users.
34341 * script/sh/function.c: Move from here ...
34342 * script/function.c: ... to here. Update all users.
34343 * script/sh/lexer.c: Move from here ...
34344 * script/lexer.c: ... to here. Update all users.
34345 * script/sh/main.c: Move from here ...
34346 * script/main.c: ... to here. Update all users.
34347 * script/sh/parser.y: Move from here ...
34348 * script/parser.y: ... to here. Update all users.
34349 * script/sh/script.c: Move from here ...
34350 * script/script.c: ... to here. Update all users.
34351
34352 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34353
34354 * configure.ac: Detect all `emu' platforms. Define
34355 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
34356 --enable-grub-emu logic. Disable include/grub/machine
34357 symlink on `emu' platforms.
34358
34359 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34360 * gensymlist.sh.in: Likewise.
34361
34362 * include/grub/i386/coreboot/machine.h: Remove file.
34363 * include/grub/i386/efi/machine.h: Likewise.
34364 * include/grub/i386/ieee1275/machine.h: Likewise.
34365 * include/grub/i386/pc/machine.h: Likewise.
34366 * include/grub/i386/qemu/machine.h: Likewise.
34367 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34368 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34369 * include/grub/x86_64/efi/machine.h: Likewise.
34370
34371 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34372 * commands/halt.c: Likewise.
34373 * commands/reboot.c: Likewise.
34374 * include/grub/autoefi.h: Likewise.
34375 * include/grub/i386/at_keyboard.h: Likewise.
34376 * include/grub/i386/kernel.h: Likewise.
34377 * include/grub/i386/loader.h: Likewise.
34378 * include/grub/i386/pc/memory.h: Likewise.
34379 * kern/dl.c: Likewise.
34380 * kern/i386/coreboot/init.c: Likewise.
34381 * loader/i386/bsd.c: Likewise.
34382 * loader/i386/linux.c: Likewise.
34383 * loader/multiboot_loader.c: Likewise.
34384 * term/i386/pc/serial.c: Likewise.
34385 * term/usb_keyboard.c: Likewise.
34386
34387 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34388 `<grub/machine/machine.h>'
34389 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34390 * util/misc.c: Remove `<grub/machine/machine.h>' and
34391 `<grub/machine/time.h>'.
34392
34393 * Makefile.in (enable_grub_emu): Remove variable.
34394 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34395
34396 * conf/any-emu.rmk: New file.
34397 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34398 (grub_emu_init.c): Move from here ...
34399 * conf/any-emu.rmk: ... to here.
34400
34401 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34402 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34403 * conf/any-emu.rmk: ... to here.
34404
34405 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34406
34407 * include/grub/parser.h (grub_parser_register): Document need
34408 of `name' parameter.
34409 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34410 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34411 "sh" to "grub".
34412
34413 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34414
34415 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34416 `$(XGETTEXT)'.
34417 * include/grub/i18n.h (N_): New macro.
34418 * util/mkisofs/mkisofs.h: Likewise.
34419 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34420 around N_().
34421 (usage): Use gettext() to translate help strings when printing them.
34422
34423 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34424
34425 Based on patch from Bean
34426 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34427
34428 * video/efi_fb.c: New file.
34429 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34430 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34431 variables.
34432 * conf/x86_64-efi.rmk: Likewise.
34433
34434 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34435
34436 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34437 * util/i386/pc/grub-setup.c: Likewise.
34438
34439 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34440
34441 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34442 <hurd/fs.h>
34443 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34444 file_get_storage_info to implement grub_guess_root_device.
34445
34446 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34447
34448 * Makefile.in (target): Use make's builtin $(shell) function
34449 instead of calling directly $(SHELL) to create the locale directories,
34450 inside the $(foreach) function.
34451
34452 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34453
34454 * util/grub-mkrescue.in: Print an error and usage if output option
34455 has not been given.
34456
34457 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34458
34459 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34460 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34461 root and /boot are on different devices.
34462
34463 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34464
34465 Fix build for srcdir != objdir.
34466
34467 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34468 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34469 $(srcdir).
34470 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34471 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34472 reference for input.
34473
34474 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34475
34476 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34477 or hardlinking it). Remove -J option, Joliet is not compatible with
34478 multiple source directories.
34479
34480 2009-11-21 Carles Pina i Estany <carles@pina.cat>
34481 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34482
34483 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34484 (process_input_dir): New function. Process an arbitrary input
34485 directory.
34486 Misc adjustments to support both "override mode" and system-wide mode.
34487
34488 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34489
34490 * configure.ac (UNIFONT_BDF): Rename to ...
34491 (FONT_SOURCE): ... this. Update all users.
34492
34493 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34494
34495 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34496 to the list of unifont files to look for.
34497
34498 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34499
34500 Patch from Joe Auricchio <jauricchio@gmail.com>
34501 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34502 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34503 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34504
34505 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34506
34507 * Makefile.in (install-local): Add a missing backslash.
34508
34509 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34510
34511 * include/grub/x86_64/io.h: New file.
34512
34513 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34514
34515 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34516 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34517 Include `"progname.h"'.
34518 (main): Initialize gettext.
34519 * util/i386/pc/grub-setup.c: Gettexttize.
34520 * util/i386/pc/grub-mkimage.c: Likewise.
34521
34522 * Makefile.in (po/*.po): Redefine as ...
34523 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34524
34525 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34526
34527 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34528
34529 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34530 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34531 (program_name): Remove.
34532 (main): Initialize gettext support.
34533 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34534 Include `<libintl.h>'.
34535 (_): New macro.
34536
34537 * util/mkisofs/eltorito.c: Gettexttize.
34538 * util/mkisofs/joliet.c: Likewise.
34539 * util/mkisofs/mkisofs.c: Likewise.
34540 * util/mkisofs/multi.c: Likewise.
34541 * util/mkisofs/rock.c: Likewise.
34542 * util/mkisofs/tree.c: Likewise.
34543 * util/mkisofs/write.c: Likewise.
34544
34545 * po/POTFILES: Update with new files.
34546
34547 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34548
34549 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34550 * util/mkisofs/iso9660.h: Likewise.
34551 * util/mkisofs/joliet.c: Likewise.
34552 * util/mkisofs/mkisofs.c: Likewise.
34553 * util/mkisofs/mkisofs.h: Likewise.
34554 * util/mkisofs/rock.c: Likewise.
34555 * util/mkisofs/tree.c: Likewise.
34556 * util/mkisofs/write.c: Likewise.
34557
34558 * util/mkisofs/eltorito.c (rcsid): Remove.
34559 * util/mkisofs/hash.c: Likewise.
34560 * util/mkisofs/joliet.c: Likewise.
34561 * util/mkisofs/name.c: Likewise.
34562 * util/mkisofs/rock.c: Likewise.
34563 * util/mkisofs/tree.c: Likewise.
34564 * util/mkisofs/write.c: Likewise.
34565
34566 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34567
34568 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34569 instead of static allocation.
34570 * util/mkisofs/match.h: Likewise.
34571
34572 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34573
34574 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34575 and `util/grub.d/10_linux.in'.
34576 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34577 translatable Shell files.
34578
34579 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34580
34581 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34582
34583 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34584
34585 * INSTALL: Document Automake is needed for bootstrap.
34586 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
34587 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34588 Add gettext initialization.
34589 (kfreebsd_entry): Make menuentry output translatable.
34590
34591 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34592
34593 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34594 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34595 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34596 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34597 (LINGUAS): Auto-generate using `po/LINGUAS'.
34598 * po/LINGUAS: New file.
34599
34600 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34601
34602 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34603 other things).
34604 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34605 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34606 bindtextdomain() calls for gettext initialization.
34607
34608 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34609
34610 * gnulib/progname.c: New file (imported from Gnulib).
34611 * gnulib/progname.h: Likewise.
34612 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34613 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34614 (usage): Replace `progname' with `program_name'.
34615 (main): Use set_program_name() for program name initialization.
34616
34617 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34618
34619 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34620 from here ...
34621 * Makefile.in (CPPFLAGS): ... to here.
34622
34623 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34624
34625 * aclocal.m4: Move from here ...
34626 * acinclude.m4: ... to here.
34627 * autogen.sh: Add call to `aclocal'.
34628 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34629
34630 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34631
34632 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34633 (LINGUAS): New variable.
34634 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34635 (install-local): Install MO files.
34636 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34637 * include/grub/i18n.h: New file.
34638 * po/POTFILES: New file.
34639 * po/ca.po: New file.
34640 * util/grub.d/10_linux.in (bindir): New variable.
34641 Add gettext initialization.
34642 (linux_entry): Make menuentry output translatable.
34643 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34644 (usage): Make --help output translatable.
34645 (main): Initialize gettext.
34646
34647 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34648
34649 * import_gcry.py: New file (written by Vladimir with minor
34650 adjustments).
34651 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34652 ciphers.
34653 * INSTALL: Document that Python is required for bootstrap.
34654
34655 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34656
34657 Import ciphers from libgcrypt 1.4.4.
34658
34659 * lib/libgcrypt/cipher/ChangeLog
34660 * lib/libgcrypt/cipher/ac.c
34661 * lib/libgcrypt/cipher/arcfour.c
34662 * lib/libgcrypt/cipher/bithelp.h
34663 * lib/libgcrypt/cipher/blowfish.c
34664 * lib/libgcrypt/cipher/camellia-glue.c
34665 * lib/libgcrypt/cipher/camellia.c
34666 * lib/libgcrypt/cipher/camellia.h
34667 * lib/libgcrypt/cipher/cast5.c
34668 * lib/libgcrypt/cipher/cipher.c
34669 * lib/libgcrypt/cipher/crc.c
34670 * lib/libgcrypt/cipher/des.c
34671 * lib/libgcrypt/cipher/dsa.c
34672 * lib/libgcrypt/cipher/ecc.c
34673 * lib/libgcrypt/cipher/elgamal.c
34674 * lib/libgcrypt/cipher/hash-common.c
34675 * lib/libgcrypt/cipher/hash-common.h
34676 * lib/libgcrypt/cipher/hmac-tests.c
34677 * lib/libgcrypt/cipher/md.c
34678 * lib/libgcrypt/cipher/md4.c
34679 * lib/libgcrypt/cipher/md5.c
34680 * lib/libgcrypt/cipher/primegen.c
34681 * lib/libgcrypt/cipher/pubkey.c
34682 * lib/libgcrypt/cipher/rfc2268.c
34683 * lib/libgcrypt/cipher/rijndael-tables.h
34684 * lib/libgcrypt/cipher/rijndael.c
34685 * lib/libgcrypt/cipher/rmd.h
34686 * lib/libgcrypt/cipher/rmd160.c
34687 * lib/libgcrypt/cipher/rsa.c
34688 * lib/libgcrypt/cipher/seed.c
34689 * lib/libgcrypt/cipher/serpent.c
34690 * lib/libgcrypt/cipher/sha1.c
34691 * lib/libgcrypt/cipher/sha256.c
34692 * lib/libgcrypt/cipher/sha512.c
34693 * lib/libgcrypt/cipher/tiger.c
34694 * lib/libgcrypt/cipher/twofish.c
34695 * lib/libgcrypt/cipher/whirlpool.c
34696
34697 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34698
34699 Fix build for systems without error().
34700
34701 * gnulib/error.c: New file (imported from Gnulib).
34702 * gnulib/error.h: Likewise.
34703 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34704 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34705 (this variable is now used by error()).
34706
34707 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34708
34709 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34710 instead of relying that char is signed.
34711
34712 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34713
34714 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34715 blocksize different from specified.
34716 (grub_pxefs_read): Likewise.
34717
34718 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34719
34720 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34721
34722 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34723 (grub_ata_readwrite): Likewise. Update 2 format strings.
34724 (grub_atapi_read): Likewise.
34725
34726 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34727 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34728 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34729 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34730 (ata_mod_LDFLAGS): Move from here ...
34731 * conf/i386.rmk: ... to here ...
34732 * conf/x86_64-efi.rmk: ... and here.
34733 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34734 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34735
34736 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34737
34738 Relicense multiboot.h, with RMS' blessing.
34739
34740 * include/multiboot.h: Change to X11 license.
34741
34742 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34743
34744 Support --version in grub-mkisofs.
34745
34746 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34747 (OPTION_VERSION): New macro.
34748 (ld_options): Recognize --version.
34749 (usage): Move `program_name' from here ...
34750 (program_name): ... to here. Add `static' qualifier.
34751 (main): Recognize `OPTION_VERSION'.
34752
34753 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
34754
34755 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34756 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34757
34758 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34759
34760 Fix help2man generation for mkisofs.
34761
34762 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34763 (usage): Send output to stdout (rather than stderr).
34764
34765 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34766
34767 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34768 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34769 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34770 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34771 (bin_SCRIPTS): Add `grub-mkfloppy'.
34772 (grub_mkfloppy_SOURCES): New variable.
34773
34774 * util/grub-mkrescue.in: New file.
34775 * util/i386/pc/grub-mkfloppy.in: New file.
34776
34777 * util/i386/coreboot/grub-mkrescue.in: Remove.
34778 * util/i386/pc/grub-mkrescue.in: Remove.
34779
34780 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34781
34782 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34783 from here ...
34784 * include/multiboot.h (struct multiboot_header): ... to here. Update
34785 all users.
34786 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34787 from here ...
34788 * include/multiboot.h (struct multiboot_info): ... to here. Update
34789 all users.
34790 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34791 from here ...
34792 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34793 Update all users.
34794 * include/grub/multiboot.h (struct grub_mod_list): Move
34795 from here ...
34796 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34797 Update all users.
34798
34799 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34800
34801 * include/multiboot2.h (multiboot_word): Rename from this ...
34802 (multiboot2_word): ... to this. Update all users.
34803 (multiboot_header): Rename from this ...
34804 (multiboot2_header): ... to this. Update all users.
34805 (multiboot_tag_header): Rename from this ...
34806 (multiboot2_tag_header): ... to this. Update all users.
34807 (multiboot_tag_start): Rename from this ...
34808 (multiboot2_tag_start): ... to this. Update all users.
34809 (multiboot_tag_name): Rename from this ...
34810 (multiboot2_tag_name): ... to this. Update all users.
34811 (multiboot_tag_module): Rename from this ...
34812 (multiboot2_tag_module): ... to this. Update all users.
34813 (multiboot_tag_memory): Rename from this ...
34814 (multiboot2_tag_memory): ... to this. Update all users.
34815 (multiboot_tag_unused): Rename from this ...
34816 (multiboot2_tag_unused): ... to this. Update all users.
34817 (multiboot_tag_end): Rename from this ...
34818 (multiboot2_tag_end): ... to this. Update all users.
34819
34820 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34821
34822 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34823 this platform we should support Multiboot1 first.
34824
34825 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34826 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34827 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34828
34829 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34830
34831 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34832 of write calls (converting them to fwrite() if they aren't already).
34833 (get_torito_desc): Likewise.
34834 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34835
34836 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34837
34838 * util/i386/pc/grub-install.in: Move from here ...
34839 * util/grub-install.in: ... to here. Update all users.
34840
34841 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
34842
34843 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34844
34845 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34846
34847 Support for El Torito without floppy emulation.
34848
34849 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34850 (init_boot_catalog): Improve error handling.
34851 (get_torito_desc): Don't use floppy emulation unless requested by
34852 user. Patch boot information table when requested via
34853 `-boot-info-table'.
34854 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34855 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34856 (use_boot_info_table): New variables.
34857 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34858 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34859 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34860 `--eltorito-emul-floppy'.
34861 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34862 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34863 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34864 (use_boot_info_table, get_731): New prototypes.
34865 * util/mkisofs/write.c (get_731): New function.
34866
34867 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
34868
34869 Fix the generation of the man page.
34870
34871 * util/pc/i386/grub-install.in: Source
34872 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34873
34874 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34875
34876 Large file support for grub-mkisofs.
34877
34878 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34879 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34880 (session_start): Upgrade type to `uint64_t'. Update all users.
34881 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34882 (struct directory_entry): Upgrade type of `starting_block' and
34883 `size' to `uint64_t'. Update all users.
34884 (struct deferred): Remove unused structure.
34885 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34886 Update all users.
34887 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34888 file is larger than `UINT32_MAX'.
34889 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34890 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34891 return value.
34892 (struct deferred_write): Upgrade type of `extent' and `size' to
34893 `uint64_t'. Update all users.
34894 (last_extent_written): Upgrade type to `uint64_t'. Update all
34895 users.
34896 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34897 Update all users. Upgrade type of `remain' to `int64_t' and
34898 `use' to `size_t'. Use error() to handle fread() errors.
34899 (write_files): Rely on write_one_file() rather than calling
34900 xfwrite() directly.
34901
34902 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
34903
34904 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34905
34906 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34907
34908 * util/mkisofs/fnmatch.c: Remove.
34909 * util/mkisofs/getopt1.c: Likewise.
34910 * util/mkisofs/getopt.c: Likewise.
34911 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34912 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34913 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34914 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34915 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34916
34917 * configure.ac: Detect `mingw32msvc' host_os.
34918 Check for lstat(), getuid() and getgid().
34919
34920 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34921 instances of `u_char' with `uint8_t'.
34922
34923 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34924 [!HAVE_GETUID] (getuid): New function (stub).
34925 [!HAVE_GETGID] (getgid): Likewise.
34926 [!HAVE_LSTAT] (lstat): Likewise.
34927 [!S_IROTH] (S_IROTH): New macro (dummy).
34928 [!S_IRGRP] (S_IRGRP): Likewise.
34929
34930 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34931
34932 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34933 conditional expression).
34934
34935 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34936
34937 Import from Gnulib.
34938
34939 * gnulib/fnmatch.c: New file.
34940 * gnulib/fnmatch.h: Likewise.
34941 * gnulib/fnmatch_loop.c: Likewise.
34942 * gnulib/getopt.c: Likewise.
34943 * gnulib/getopt.h: Likewise.
34944 * gnulib/getopt1.c: Likewise.
34945 * gnulib/getopt_int.h: Likewise.
34946 * gnulib/gettext.h: Likewise.
34947
34948 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34949
34950 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34951 * normal/handler.c (read_handler_list): Likewise.
34952
34953 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34954
34955 Misc cleanup.
34956
34957 * kern/command.c (grub_register_command_prio): Use
34958 grub_zalloc() instead of explicitly zeroing data.
34959 * kern/list.c: Include `<grub/mm.h>'.
34960 (grub_named_list_find): Replace `0' with `NULL'.
34961 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34962 (fs_module_list): Change type to `grub_named_list_t'. Update all
34963 users.
34964 * normal/dyncmd.c (read_command_list): Add space between function
34965 call and parenthesis.
34966 * normal/handler.c (read_handler_list): Likewise.
34967
34968 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34969
34970 * normal/auth.c (punishment_delay): Moved from here ...
34971 (grub_auth_strcmp): ... to here (inside function).
34972
34973 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34974
34975 * include/grub/list.h (struct grub_named_list): Remove `const'
34976 qualifier from `name'.
34977 (struct grub_prio_list): Likewise.
34978
34979 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34980
34981 * normal/auth.c: Include `<grub/time.h>'.
34982 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34983
34984 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34985
34986 * normal/auth.c (punishment_delay): New variable.
34987 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34988 (grub_auth_check_authentication): Punish failed login attempts with
34989 an incremental (2^N) delay.
34990
34991 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34992
34993 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34994 path with $(srcdir).
34995
34996 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34997
34998 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34999
35000 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
35001
35002 * util/i386/coreboot/grub-mkrescue.in: New file.
35003 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
35004 variables.
35005
35006 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
35007 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
35008 * configure.ac: Add header and function checks to satisfy grub-mkisofs
35009 requirements.
35010 * util/mkisofs/defaults.h: New file.
35011 * util/mkisofs/eltorito.c: Likewise.
35012 * util/mkisofs/exclude.h: Likewise.
35013 * util/mkisofs/fnmatch.c: Likewise.
35014 * util/mkisofs/getopt.c: Likewise.
35015 * util/mkisofs/getopt1.c: Likewise.
35016 * util/mkisofs/hash.c: Likewise.
35017 * util/mkisofs/include/fctldefs.h: Likewise.
35018 * util/mkisofs/include/mconfig.h: Likewise.
35019 * util/mkisofs/include/prototyp.h: Likewise.
35020 * util/mkisofs/include/statdefs.h: Likewise.
35021 * util/mkisofs/iso9660.h: Likewise.
35022 * util/mkisofs/joliet.c: Likewise.
35023 * util/mkisofs/match.c: Likewise.
35024 * util/mkisofs/match.h: Likewise.
35025 * util/mkisofs/mkisofs.c: Likewise.
35026 * util/mkisofs/mkisofs.h: Likewise.
35027 * util/mkisofs/multi.c: Likewise.
35028 * util/mkisofs/name.c: Likewise.
35029 * util/mkisofs/rock.c: Likewise.
35030 * util/mkisofs/tree.c: Likewise.
35031 * util/mkisofs/write.c: Likewise.
35032
35033 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
35034
35035 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
35036 being insecure.
35037
35038 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
35039
35040 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
35041 `grub-mkimage' (and use $0 when possible).
35042
35043 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
35044
35045 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
35046 error message for excessively large memory map.
35047
35048 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
35049
35050 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
35051 executable bit.
35052
35053 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
35054
35055 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
35056 message for coreboot users.
35057
35058 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
35059
35060 Fix build with GNU gold.
35061
35062 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
35063 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
35064 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
35065 link addresses.
35066 * aclocal.m4: Likewise.
35067
35068 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
35069
35070 * configure.ac (AC_PREREQ): Bump to 2.59d.
35071 * INSTALL: Make it more clear when Autoconf and Ruby are
35072 needed and when to run `./autogen.sh'.
35073
35074 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
35075
35076 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
35077 OSes.
35078
35079 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
35080
35081 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
35082
35083 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
35084
35085 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
35086 giving it to GNU Mach.
35087
35088 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
35089
35090 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
35091 GNU partition number to get internal GRUB partition number.
35092
35093 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
35094
35095 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
35096 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
35097
35098 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
35099
35100 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
35101 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
35102 case.
35103
35104 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
35105
35106 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
35107
35108 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
35109
35110 Fix build problem.
35111
35112 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
35113 `-isystem=$(srcdir)/include'.
35114
35115 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
35116
35117 * util/i386/pc/grub-install.in: Remove hint that device.map should be
35118 checked (grub-install doesn't currently rely on it).
35119
35120 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
35121
35122 Revert SVN r2660.
35123
35124 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
35125 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
35126 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
35127 * conf/i386-ieee1275.rmk: Likewise.
35128 * conf/i386-pc.rmk: Likewise.
35129 * conf/powerpc-ieee1275.rmk: Likewise.
35130 * conf/sparc64-ieee1275.rmk: Likewise.
35131 * conf/x86_64-efi.rmk: Likewise.
35132
35133 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35134
35135 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
35136
35137 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35138
35139 * include/grub/misc.h: Stop checking for APPLE_CC.
35140
35141 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35142
35143 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
35144 doesn't cause an infinite call loop.
35145
35146 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
35147
35148 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
35149 strings.
35150
35151 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35152
35153 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
35154 variable.
35155 * Makefile.in: Likewise.
35156
35157 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35158
35159 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
35160
35161 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35162
35163 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
35164
35165 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35166
35167 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
35168
35169 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35170
35171 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
35172 from here ...
35173 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
35174
35175 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35176
35177 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
35178 in $(MAKEINFO) invocation. This makes it clear in output that
35179 errors are being ignored.
35180
35181 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35182
35183 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
35184 from here ...
35185 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
35186 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
35187 * conf/i386-ieee1275.rmk: Likewise.
35188 * conf/i386-pc.rmk: Likewise.
35189 * conf/powerpc-ieee1275.rmk: Likewise.
35190 * conf/sparc64-ieee1275.rmk: Likewise.
35191 * conf/x86_64-efi.rmk: Likewise.
35192
35193 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
35194
35195 * util/grub-editenv.c (main): If only a command is given, use
35196 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
35197 (usage): FILENAME is now optional and has a default.
35198
35199 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
35200
35201 Improve grub-mkconfig performance when there are several menu
35202 entries on a single filesystem.
35203
35204 * util/grub.d/10_linux.in (linux_entry): Cache the output of
35205 prepare_grub_to_access_device.
35206 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
35207 * util/grub.d/30_os-prober.in: Likewise.
35208
35209 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35210
35211 * util/grub.d/10_freebsd.in: Remove.
35212 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
35213 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
35214
35215 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35216
35217 * docs/grub.cfg: Fix example usage of *BSD loaders.
35218
35219 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35220
35221 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
35222 grub_util_error() call.
35223
35224 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35225
35226 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
35227 `reserved_first_sector' member.
35228 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
35229 `reserved_first_sector' to 1.
35230 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
35231 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
35232 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
35233 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
35234 filesystems which begin at first sector.
35235 (options): New option --skip-fs-probe.
35236 (main): Handle --skip-fs-probe and pass it to setup().
35237
35238 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35239
35240 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
35241 (memset): Fix function prototype.
35242
35243 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35244 2009-10-25 Vasily Averin <vvs@parallels.com>
35245
35246 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
35247 `dirent.direntlen == 0'.
35248
35249 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35250
35251 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
35252 `cpio'.
35253 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
35254
35255 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35256
35257 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
35258 `__trampoline_setup' and `__ucmpdi2'.
35259 * include/grub/powerpc/libgcc.h: Only export symbols for functions
35260 that libgcc provides.
35261
35262 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35263
35264 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
35265 * include/grub/sparc64/libgcc.h (memset): Likewise.
35266 * include/grub/misc.h (memset, memcmp): New function prototypes.
35267
35268 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35269
35270 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
35271 `cpio'.
35272 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
35273
35274 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35275
35276 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
35277 * docs/grub.cfg: Compensate for recent change in multiboot
35278 loader (since 2009-08-14 it won't pass filename to payload).
35279 * util/grub.d/10_hurd.in: Likewise.
35280
35281 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
35282
35283 * config.guess: Update to latest version from config git
35284 repository.
35285 * config.sub: Likewise.
35286
35287 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
35288
35289 Fix build on sparc64.
35290
35291 * configure.ac: Perform checks for libgcc symbols before
35292 adding `-nostdlib' to LDFLAGS.
35293
35294 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35295
35296 Let user specify OpenBSD root device.
35297
35298 * loader/i386/bsd.c (openbsd_root): New variable.
35299 (openbsd_opts): New option 'root'.
35300 (OPENBSD_ROOT_ARG): New macro.
35301 (grub_openbsd_boot): Use 'openbsd_root'.
35302 (grub_cmd_openbsd): Fill 'openbsd_root'.
35303
35304 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35305
35306 * NEWS: Misc adjustments.
35307
35308 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35309
35310 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
35311
35312 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35313
35314 * configure.ac: Bump version to 1.97.
35315
35316 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
35317
35318 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
35319 -mno-3dnow on x86 architectures. Some toolchains enable these
35320 features by default, but they rely on registers that aren't enabled
35321 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
35322
35323 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
35324
35325 Make entry text a bit more readable.
35326
35327 * util/grub.d/10_linux.in: Add `with' before `Linux'.
35328
35329 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35330
35331 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
35332
35333 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35334
35335 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
35336 operations.
35337
35338 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35339
35340 * configure.ac: Add missing dollar.
35341
35342 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35343
35344 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
35345
35346 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
35347 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
35348 exports.
35349 * include/grub/sparc64/libgcc.h: Likewise. Use
35350 preprocessor conditionals.
35351
35352 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35353
35354 * conf/common.rmk (grub-dumpbios): Remove rule.
35355 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
35356 * util/grub-dumpbios.in: Remove file.
35357
35358 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35359
35360 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35361 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35362
35363 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35364 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35365 users.
35366
35367 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35368 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35369 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35370 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35371 users.
35372
35373 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35374
35375 * term/tparm.c: Switch to GPLv3.
35376
35377 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35378
35379 * include/grub/i386/cpuid.h: Add header protection.
35380
35381 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35382
35383 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35384
35385 * include/grub/i386/cpuid.h: New file.
35386 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35387 (has_longmode): Rename to ...
35388 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35389 `static' attribute.
35390 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35391 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35392 on a CPU that doesn't implement AMD64 instruction set.
35393
35394 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35395
35396 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35397 that version.texi is rebuilt on version number changes.
35398
35399 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35400
35401 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35402 Fixes bug #27602.
35403
35404 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35405
35406 * util/i386/pc/grub-install.in: Source
35407 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35408 that the --grub-probe option will work.
35409 * util/sparc64/ieee1275/grub-install.in: Likewise.
35410
35411 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35412
35413 * configure.ac: Bump version to 1.97~beta4.
35414
35415 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35416
35417 Resync grub-mkdevicemap in x86_64-efi.
35418
35419 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35420 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35421 `util/devicemap.c'.
35422
35423 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
35424
35425 * util/grub-editenv.c (create_envblk_file): Write new block with a
35426 .new suffix and then rename it into place, to ensure atomic
35427 creation.
35428
35429 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35430
35431 Do not automatically install headers.
35432
35433 * Makefile.in (include_DATA): Remove. Update all users.
35434
35435 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35436
35437 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35438 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35439
35440 * util/osdetect.lua: Remove.
35441 * script/lua/lauxlib.c: Likewise.
35442 * script/lua/ldebug.c: Likewise.
35443 * script/lua/grub_main.c: Likewise.
35444 * script/lua/lauxlib.h: Likewise.
35445 * script/lua/ldebug.h: Likewise.
35446 * script/lua/ltablib.c: Likewise.
35447 * script/lua/liolib.c: Likewise.
35448 * script/lua/lstrlib.c: Likewise.
35449 * script/lua/lualib.h: Likewise.
35450 * script/lua/ldo.c: Likewise.
35451 * script/lua/ldump.c: Likewise.
35452 * script/lua/ldo.h: Likewise.
35453 * script/lua/loslib.c: Likewise.
35454 * script/lua/lundump.c: Likewise.
35455 * script/lua/grub_lib.c: Likewise.
35456 * script/lua/ldblib.c: Likewise.
35457 * script/lua/lundump.h: Likewise.
35458 * script/lua/lmem.c: Likewise.
35459 * script/lua/grub_lib.h: Likewise.
35460 * script/lua/lmathlib.c: Likewise.
35461 * script/lua/lstate.c: Likewise.
35462 * script/lua/ltm.c: Likewise.
35463 * script/lua/lvm.c: Likewise.
35464 * script/lua/lmem.h: Likewise.
35465 * script/lua/lstate.h: Likewise.
35466 * script/lua/ltm.h: Likewise.
35467 * script/lua/ltable.c: Likewise.
35468 * script/lua/lvm.h: Likewise.
35469 * script/lua/llex.c: Likewise.
35470 * script/lua/lgc.c: Likewise.
35471 * script/lua/grub_lua.h: Likewise.
35472 * script/lua/loadlib.c: Likewise.
35473 * script/lua/lfunc.c: Likewise.
35474 * script/lua/lopcodes.c: Likewise.
35475 * script/lua/lparser.c: Likewise.
35476 * script/lua/ltable.h: Likewise.
35477 * script/lua/llex.h: Likewise.
35478 * script/lua/lgc.h: Likewise.
35479 * script/lua/lfunc.h: Likewise.
35480 * script/lua/lbaselib.c: Likewise.
35481 * script/lua/lopcodes.h: Likewise.
35482 * script/lua/lparser.h: Likewise.
35483 * script/lua/lzio.c: Likewise.
35484 * script/lua/linit.c: Likewise.
35485 * script/lua/lobject.c: Likewise.
35486 * script/lua/llimits.h: Likewise.
35487 * script/lua/lstring.c: Likewise.
35488 * script/lua/lzio.h: Likewise.
35489 * script/lua/lapi.c: Likewise.
35490 * script/lua/lcode.c: Likewise.
35491 * script/lua/lua.h: Likewise.
35492 * script/lua/lobject.h: Likewise.
35493 * script/lua/lstring.h: Likewise.
35494 * script/lua/lapi.h: Likewise.
35495 * script/lua/lcode.h: Likewise.
35496 * script/lua/luaconf.h: Likewise.
35497
35498 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
35499
35500 * docs/grub.texi (Command-line and menu entry commands): Document
35501 date and echo commands.
35502
35503 2009-09-24 Pavel Roskin <proski@gnu.org>
35504
35505 * include/grub/kernel.h (struct grub_module_header): Remove
35506 `grub_module_header_types'. Make `type' unsigned. Make `size'
35507 32-bit on all platforms.
35508 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35509 8-bit field. Use grub_host_to_target32() for `size'.
35510 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35511 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35512 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35513
35514 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35515
35516 Fix "lost keypress" bug in at_keyboard.
35517
35518 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35519 Checks for readyness of input buffer (without flushing it).
35520 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35521 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35522
35523 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35524
35525 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35526 size check within GRUB_MACHINE_PCBIOS section.
35527
35528 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35529
35530 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35531 return value.
35532 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35533 KEYBOARD_ISREADY check.
35534 (grub_at_keyboard_checkkey): Rename to ...
35535 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35536 Remove gratuitous cast.
35537
35538 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
35539
35540 * configure.ac: Call AC_PROG_MKDIR_P.
35541 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35542 version.texi in $(builddir) rather than $(srcdir).
35543 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35544 to makeinfo's @include search path.
35545
35546 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35547
35548 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35549
35550 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35551
35552 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35553 for `*.dpkg-new'.
35554
35555 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
35556
35557 Build info documentation. Some code borrowed from Automake.
35558
35559 * configure.ac: Check for makeinfo.
35560 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35561 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35562 docs/version.texi.
35563 (MOSTLYCLEANFILES): Add vti.tmp.
35564 (docs/version.texi, docs/stamp-vti): Update automatically.
35565 (docs/grub.info): Build info documentation. Use --force and ignore
35566 errors for now.
35567 (all-local): Add $(INFOS).
35568 (install-local): Install info files.
35569 (uninstall): Uninstall info files.
35570 * docs/version.texi: Remove from revision control. This file is
35571 automatically generated on build now.
35572 * gendistlist.sh: Add `*.info'.
35573
35574 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35575
35576 * kern/term.c: Fix indentation.
35577
35578 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35579
35580 * util/hostdisk.c: Fix a comment.
35581
35582 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35583
35584 Fix regression introduced in r2539.
35585
35586 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35587 to 0xA1.
35588
35589 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
35590
35591 * util/grub.d/30_os-prober.in: Don't throw away stderr from
35592 os-prober. Under normal operation, it does not print anything to
35593 stderr; if it does, we need to debug it, and throwing away stderr
35594 makes that excessively difficult.
35595
35596 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35597
35598 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35599
35600 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35601
35602 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35603 AC_LANG_PROGRAM from autoconf.
35604 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35605 prototypes (fixes warning).
35606
35607 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35608 `--disable-werror' was used.
35609
35610 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35611
35612 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35613 uninitialized `lastaddr'.
35614
35615 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35616
35617 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
35618
35619 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35620
35621 * commands/test.c (get_fileinfo): Return immediately if
35622 grub_fs_probe fails.
35623
35624 2009-09-14 José Martínez <xosemp@gmail.com>
35625
35626 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35627
35628 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35629
35630 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35631 output.
35632
35633 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35634
35635 * configure.ac: Remove --enable-grub-pe2elf. Only build
35636 grub-pe2elf when needed by the build system itself.
35637 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35638
35639 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35640
35641 * configure.ac: Bump version to 1.97~beta3.
35642 * docs/version.texi: Likewise.
35643
35644 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35645
35646 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35647 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35648 from here ...
35649 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35650 (grub_linux_setup_video): ... to here (with some adjustments).
35651
35652 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35653
35654 Fix memory corruption issue (spotted by Colin Watson).
35655
35656 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35657 causing returned size to be stored in an incorrect memory location.
35658 Fix use of uninitialized value when storing the returned size.
35659
35660 2009-09-12 Yves Blusseau <blusseau@zetam.org>
35661
35662 Change clean rules to properly remove files
35663
35664 * genmk.rb: add new clean rules
35665 * Makefile.in (clean): add the new targets
35666 (mostlyclean): likewise
35667
35668 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35669
35670 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35671 to grub_uint64_t.
35672 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35673 non-resident files.
35674
35675 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35676
35677 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35678 part of bug #27349.
35679
35680 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35681
35682 * util/grub-mkconfig.in: Make the created config mode 400 and
35683 print a warning if it fails.
35684
35685 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35686
35687 * util/grub.d/40_custom.in: Ask user to type custom entries below
35688 comment, rather than below 'exec tail' line.
35689
35690 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35691
35692 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35693 visible in grub.cfg.
35694
35695 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35696
35697 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35698 file.
35699
35700 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35701
35702 * docs/grub.cfg: Add an example menu entry for memtest86+.
35703
35704 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
35705
35706 * config.guess: Update to latest version from config git.
35707 * config.sub: Likewise.
35708
35709 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
35710
35711 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35712 unknown-command case. Fixes bug #27320.
35713
35714 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
35715
35716 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35717 `help' if the command exists.
35718
35719 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35720
35721 * INSTALL: Require GCC 4.1.3 or later.
35722
35723 2009-09-06 Yves Blusseau <blusseau@zetam.org>
35724
35725 * Makefile.in (RMKFILES): add i386-qemu.rmk
35726 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35727 $(srcdir)/stamp-h.in
35728
35729 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35730
35731 * util/grub-probe.c (probe): Comment out buggy codepath, which
35732 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35733 should be re-enabled after 1.97.
35734
35735 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
35736
35737 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35738 find searches for.
35739
35740 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35741
35742 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35743 unnecessary calls to grub_error.
35744
35745 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
35746
35747 * NEWS: Mention `keystatus' and Unicode fonts.
35748
35749 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35750
35751 * configure.ac: Bump version to 1.97~beta2.
35752 * docs/version.texi: Likewise.
35753
35754 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35755
35756 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35757 containing unwind information in some cases where it previously did
35758 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35759 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35760 discussion.
35761
35762 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35763
35764 Embedding loadenv module into grub-emu
35765
35766 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35767 commands/loadenv.c
35768 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35769 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35770 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35772 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35773 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35774
35775 2009-09-03 Magnus Granberg <zorry@ume.nu>
35776
35777 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35778 include -fPIE in the default specs.
35779 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35780 to TARGET_CFLAGS.
35781
35782 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
35783
35784 * INSTALL: Note that GNU Bison 2.3 or later is required.
35785
35786 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35787
35788 * kern/i386/pc/startup.S: Fix typo.
35789
35790 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35791
35792 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35793 according to GCS.
35794
35795 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35796
35797 * docs/grub.texi (Naming convention): Describe one-based partition
35798 numbering.
35799 (Device syntax): Likewise.
35800 (File name syntax): Likewise.
35801 (Block list syntax): Likewise.
35802 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35803 menu.lst.
35804 (File name syntax): Likewise.
35805 (Command-line and menu entry commands): Document acpi, blocklist,
35806 crc, export, insmod, keystatus, ls, set, and unset commands.
35807
35808 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35809
35810 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35811 to avoid implying that only one of --shift, --ctrl, or --alt may be
35812 used.
35813
35814 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35815
35816 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35817 rather than comparing against S_IFREG, which will almost never work.
35818
35819 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35820
35821 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35822 (write_blocklists): Likewise.
35823
35824 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
35825
35826 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35827 argument to grub_printf.
35828
35829 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
35830
35831 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
35832 non GNU test.
35833
35834 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35835
35836 * kern/file.c (grub_file_read): Spelling fix
35837
35838 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35839
35840 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35841 loading of headers in some cases.
35842
35843 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35844
35845 * configure.ac: Bump version to 1.97~beta1.
35846 * docs/version.texi: Likewise.
35847
35848 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
35849
35850 * include/grub/i386/xnu.h: Add license header.
35851 include grub/err.h explicitly.
35852
35853 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35854
35855 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35856 to `ufs' in the vfs.root.mountfrom kernel parameter.
35857
35858 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35859
35860 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35861
35862 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35863 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35864
35865 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35866 `ARRAY_SIZE' macro.
35867
35868 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35869
35870 * kern/file.c (grub_file_read): Check offset.
35871 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35872 * fs/jfs.c (grub_jfs_read_file): Likewise.
35873 * fs/ntfs.c (grub_ntfs_read): Likewise.
35874 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35875 * fs/minix.c (grub_minix_read_file): Correct offset check.
35876 * fs/ufs.c (grub_ufs_read_file): Likewise.
35877
35878 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35879
35880 * term/i386/pc/console.c (bios_data_area): Cast
35881 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35882
35883 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35884
35885 1-bit optimised blitters.
35886
35887 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35888 prototype.
35889 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35890 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35891 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35892 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35893 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35894 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35895 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35896 function.
35897 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35898 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35899 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35900 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35901 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35902 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35903 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35904 when possible.
35905 * video/video.c (grub_video_get_blit_format): Return
35906 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35907
35908 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35909
35910 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35911 the first argument to grub_printf.
35912
35913 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35914 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35915
35916 Add `getkeystatus' terminal method. Add a new `keystatus' command
35917 to query it.
35918
35919 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35920 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35921 modifier key bitmasks.
35922 (struct grub_term_input): Add `getkeystatus' member.
35923 (grub_getkeystatus): Add prototype.
35924 * kern/term.c (grub_getkeystatus): New function.
35925
35926 * include/grub/i386/pc/memory.h
35927 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35928 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35929 Data Area layout.
35930 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35931 (grub_console_term_input): Set `getkeystatus' member.
35932 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35933 constants.
35934 (grub_usb_keyboard_getreport): Likewise.
35935 (grub_usb_keyboard_checkkey): Likewise.
35936 (grub_usb_keyboard_getkeystatus): New function.
35937 (grub_usb_keyboard_term): Set `getkeystatus' member.
35938
35939 * commands/keystatus.c: New file.
35940 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35941 (keystatus_mod_SOURCES): New variable.
35942 (keystatus_mod_CFLAGS): Likewise.
35943 (keystatus_mod_LDFLAGS): Likewise.
35944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35945 commands/keystatus.c.
35946 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35947 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35948 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35950 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35951 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35952
35953 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35954
35955 Split befs.mod and afs.mod into *_be.mod and *.mod
35956
35957 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35958 (grub_fstest_SOURCES): Likewise.
35959 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35960 (afs_be_mod_SOURCES): New variable.
35961 (afs_be_mod_CFLAGS): Likewise.
35962 (afs_be_mod_LDFLAGS): Likewise.
35963 (befs_be_mod_SOURCES): Likewise.
35964 (befs_be_mod_CFLAGS): Likewise.
35965 (befs_be_mod_LDFLAGS): Likewise.
35966 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35967 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35968 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35969 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35970 (grub_emu_SOURCES): Likewise.
35971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35972 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35973 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35974 * fs/afs_be.c: New file.
35975 * fs/befs_be.c: New file.
35976 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35977 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35978 (U16): Replaced with ...
35979 (grub_afs_to_cpu16): ...this. All users updated.
35980 (U32): Replaced with ...
35981 (grub_afs_to_cpu32): ...this. All users updated.
35982 (U64): Replaced with ...
35983 (grub_afs_to_cpu64): ...this. All users updated.
35984 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35985 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
35986 (grub_afs_validate_sblock): Check only one endianness.
35987 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35988 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35989 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35990 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35991 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35992 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35993 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35994 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35995
35996 2009-08-26 Bean <bean123ch@gmail.com>
35997
35998 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35999 64-bit number.
36000 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
36001 (grub_xfs_inode_block): Change return type to grub_uint64_t.
36002 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
36003
36004 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36005
36006 NetBSD memory map support.
36007
36008 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
36009 (grub_netbsd_btinfo_mmap_header): New structure.
36010 (grub_netbsd_btinfo_mmap_entry): Likewise.
36011 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
36012
36013 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36014
36015 Enable bsd.mod on coreboot.
36016
36017 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
36018 (bsd_mod_SOURCES): New variable.
36019 (bsd_mod_CFLAGS): Likewise.
36020 (bsd_mod_LDFLAGS): Likewise.
36021 (bsd_mod_ASFLAGS): Likewise.
36022 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
36023 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
36024
36025 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36026
36027 Cleanup NetBSD root support.
36028
36029 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
36030 grub_bsd_get_device.
36031 Fix typo.
36032
36033 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
36034
36035 * util/grub.d/00_header.in: Move check for the video backend of
36036 gfxterm from here ...
36037 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
36038 a suitable video backend.
36039
36040 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36041
36042 Fix breakage in grub-setup.
36043
36044 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
36045 "msdos_partition_map".
36046
36047 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36048
36049 Fix breakage in normal/auth.c.
36050
36051 * normal/auth.c (grub_iswordseparator): New function.
36052
36053 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36054
36055 Authentication support.
36056
36057 * commands/password.c: New file.
36058 * conf/common.rmk (pkglib_MODULES): Add password.mod.
36059 (password_mod_SOURCES): New variable.
36060 (password_mod_CFLAGS): Likewise.
36061 (password_mod_LDFLAGS): Likewise.
36062 (normal_mod_SOURCES): Add normal/auth.c.
36063 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
36064 normal/auth.c.
36065 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36066 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36067 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36069 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36070 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36071 * include/grub/auth.h: New file.
36072 * include/grub/err.h (grub_err_t): New enum value
36073 GRUB_ERR_ACCESS_DENIED.
36074 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
36075 'users'.
36076 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
36077 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
36078 users updated.
36079 * normal/auth.c: New file.
36080 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
36081 (grub_cmdline_run): Don't allow to go to command line without
36082 authentication.
36083 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
36084 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
36085 menuentry without superuser rights.
36086 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
36087 user isn't a superuser.
36088
36089 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36090
36091 Save space by inlining misc.c functions.
36092
36093 * kern/misc.c (grub_iswordseparator): Made static.
36094 * kern/misc.c (grub_strcat): Moved from here ...
36095 * include/grub/misc.h (grub_strcat): ... here. Inlined.
36096 * kern/misc.c (grub_strncat): Moved from here ...
36097 * include/grub/misc.h (grub_strncat): ... here. Inlined.
36098 * kern/misc.c (grub_strcasecmp): Moved from here ...
36099 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
36100 * kern/misc.c (grub_strncasecmp): Moved from here ...
36101 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
36102 * kern/misc.c (grub_isalpha): Moved from here ...
36103 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
36104 * kern/misc.c (grub_isdigit): Moved from here ...
36105 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
36106 * kern/misc.c (grub_isgraph): Moved from here ...
36107 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
36108 * kern/misc.c (grub_tolower): Moved from here ...
36109 * include/grub/misc.h (grub_tolower): ... here. Inlined.
36110
36111 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36112
36113 * script/sh/function.c (grub_script_function_find): Cut error message
36114 not to flood terminal.
36115 * script/sh/lexer.c (grub_script_yylex): Remove command line length
36116 limit.
36117 * script/sh/script.c (grub_script_arg_add): Duplicate string.
36118
36119 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
36120
36121 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
36122 `report' grub_uint8_t *.
36123 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
36124 Use a 50-millisecond timeout rather than just repeating
36125 grub_usb_keyboard_getreport 50 times.
36126 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
36127
36128 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36129
36130 Rename *_partition_map to part_*
36131
36132 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
36133 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
36134 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
36135 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
36136 All users updated.
36137 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
36138 All users updated.
36139 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
36140 * util/grub-probe.c (probe_partmap): Don't transform partition name
36141 to get module name.
36142
36143 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36144
36145 Fix OpenBSD and NetBSD support.
36146
36147 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
36148 memory address conflict.
36149 (OPENBSD_MMAP_ACPI): New definition.
36150 (OPENBSD_MMAP_NVS): Likewise.
36151 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
36152 and OPENBSD_MMAP_NVS.
36153 Add memory map terminator
36154 Explicit cast when calling grub_unix_real_boot.
36155 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
36156
36157 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36158
36159 Let user specify NetBSD root device.
36160
36161 * loader/i386/bsd.c (netbsd_root): New variable.
36162 (netbsd_opts): New option 'root'.
36163 (NETBSD_ROOT_ARG): New macro.
36164 (grub_netbsd_boot): Use 'netbsd_root'.
36165 (grub_bsd_unload): Free 'netbsd_root'.
36166 (grub_cmd_netbsd): Fill 'netbsd_root'.
36167
36168 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36169
36170 Support for 64-bit NetBSD.
36171
36172 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
36173 point when booting non-FreeBSD.
36174
36175 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36176
36177 Support --no-smp and --no-acpi for NetBSD.
36178
36179 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
36180 (NETBSD_AB_NOACPI): Likewise.
36181 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
36182 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
36183
36184 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36185
36186 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
36187 errors.
36188 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
36189 errors. Call grub_error when needed.
36190
36191 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36192
36193 * commands/search.c (search_fs): Try searching without autoload first.
36194 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
36195 filesystem module explicitly for faster booting.
36196
36197 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
36198
36199 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
36200
36201 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
36202
36203 * util/grub.d/30_os-prober.in: Disable os-prober if
36204 `GRUB_DISABLE_OS_PROBER' was set to true.
36205
36206 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
36207
36208 * partmap/pc.c: Rename to ...
36209 * partmap/msdos.c: ... this. Update all users.
36210 (grub_pc_partition_map): Rename to ...
36211 (grub_msdos_partition_map): ... this. Update all users.
36212
36213 * parttool/pcpart.c: Rename to ...
36214 * parttool/msdospart.c: ... this. Update all users.
36215
36216 * include/grub/pc_partition.h: Rename to ...
36217 * include/grub/msdos_partition.h: ... this. Update all users.
36218 (grub_pc_partition_bsd_entry): Rename to ...
36219 (grub_msdos_partition_bsd_entry): ... this. Update all users.
36220 (grub_pc_partition_disk_label): Rename to ...
36221 (grub_msdos_partition_disk_label): ... this. Update all users.
36222 (grub_pc_partition_entry): Rename to ...
36223 (grub_msdos_partition_entry): ... this. Update all users.
36224 (grub_pc_partition_mbr): Rename to ...
36225 (grub_msdos_partition_mbr): ... this. Update all users.
36226 (grub_pc_partition): Rename to ...
36227 (grub_msdos_partition): ... this. Update all users.
36228 (grub_pc_partition_is_empty): Rename to ...
36229 (grub_msdos_partition_is_empty): ... this. Update all users.
36230 (grub_pc_partition_is_extended): Rename to ...
36231 (grub_msdos_partition_is_extended): ... this. Update all users.
36232 (grub_pc_partition_is_bsd): Rename to ...
36233 (grub_msdos_partition_is_bsd): ... this. Update all users.
36234
36235 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
36236 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
36237 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
36238 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
36239 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
36240 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
36241 (gpt_mod_LDFLAGS): Rename to ...
36242 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
36243 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
36244 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
36245 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
36246 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
36247 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
36248 (part_gpt_mod_LDFLAGS): ... this.
36249 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
36250 `pcpart.mod' to `msdospart.mod'.
36251 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
36252 to ...
36253 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
36254 (msdospart_mod_LDFLAGS): ... this.
36255
36256 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36257
36258 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
36259 (openbsd_opts): Likewise.
36260 (netbsd_opts): Likewise.
36261 (freebsd_flags): Added 0 terminator.
36262 (openbsd_flags): Likewise.
36263 (netbsd_flags): Likewise.
36264 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
36265 (grub_cmd_freebsd): Transformed into extended command.
36266 (grub_cmd_openbsd): Likewise.
36267 (grub_cmd_netbsd): Likewise.
36268 (cmd_freebsd): Changed type to grub_extcmd_t.
36269 (cmd_openbsd): Likewise.
36270 (cmd_netbsd): Likewise.
36271 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
36272 grub_cmd_openbsd as extended commands.
36273 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
36274 cmd_netbsd and cmd_openbsd
36275
36276 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
36277
36278 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
36279
36280 2009-08-21 Pavel Roskin <proski@gnu.org>
36281
36282 * Makefile.in (install-local): When checking if a file is in the
36283 build directory, use "test -e" to detect symlinks.
36284
36285 * Makefile.in (install-local): Remove all files in
36286 $(DESTDIR)$(pkglibdir) before installing new files there.
36287
36288 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36289
36290 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
36291 grub-mkelfimage.
36292
36293 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36294
36295 * util/grub-mkconfig.in: Don't use gfxterm by default if not
36296 explicitly specified by the user.
36297
36298 2009-08-18 Pavel Roskin <proski@gnu.org>
36299
36300 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
36301 grub_uint8_t pointer for data.
36302 * include/grub/fbutil.h (struct grub_video_fbblit_info):
36303 Likewise.
36304 * video/fb/fbutil.c: Remove unnecessary casts.
36305
36306 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36307
36308 VBE cleanup.
36309
36310 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
36311 (grub_vbe_set_video_mode): Save active mode info
36312 only after setting the mode.
36313 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
36314 second argument.
36315
36316 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36317
36318 Rename variables for clarity.
36319
36320 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
36321 (active_vbe_mode_info): ... this. All users updated.
36322 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
36323 All users updated.
36324 (initial_mode): Rename to ...
36325 (initial_vbe_mode): ... this. All users updated.
36326 (mode_in_use): Rename to ..
36327 (vbe_mode_in_use): ... this. All users updated.
36328 (mode_list): Rename to ..
36329 (vbe_mode_list): ... this. All users updated.
36330 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
36331 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
36332 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
36333 'mode_list_size' to 'vbe_mode_list_size'.
36334 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
36335 'best_mode_info' to 'best_vbe_mode_info' and
36336 'best_mode' to 'best_vbe_mode'
36337
36338 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36339
36340 Remove duplicate grub_video_fb_get_video_ptr.
36341
36342 * include/grub/fbutil.h (get_data_ptr): Rename to ...
36343 (grub_video_fb_get_video_ptr): ... this.
36344 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
36345 * video/fb/fbutil.c: Add comment about addressing.
36346 (get_data_ptr): Rename to ...
36347 (grub_video_fb_get_video_ptr): ... this. All users updated.
36348 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
36349
36350 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36351
36352 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
36353 grub_dprintf() that was just added.
36354
36355 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36356
36357 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36358 (DEFAULT_VIDEO_MODE): Remove macros.
36359 (grub_linux_boot): Remove assumption that Linux has FB support,
36360 and use "text" as default video mode.
36361
36362 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36363
36364 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36365 grub_dprintf.
36366 * fs/fat.c (grub_fat_read_data): Likewise.
36367
36368 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36369
36370 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36371 payload.
36372 (grub_module): Likewise.
36373
36374 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36375
36376 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36377 mbi->cmdline but free playground.
36378
36379 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36380
36381 Handle group offset on UFS1.
36382
36383 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36384 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36385
36386 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36387
36388 Split ufs.mod into ufs1.mod and ufs2.mod.
36389
36390 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36391 (grub_fstest_SOURCES): Likewise.
36392 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36393 (ufs_mod_SOURCES): Remove.
36394 (ufs_mod_CFLAGS): Likewise.
36395 (ufs_mod_LDFLAGS): Likewise.
36396 (ufs1_mod_SOURCES): New variable.
36397 (ufs1_mod_CFLAGS): Likewise.
36398 (ufs1_mod_LDFLAGS): Likewise.
36399 (ufs2_mod_SOURCES): New variable.
36400 (ufs2_mod_CFLAGS): Likewise.
36401 (ufs2_mod_LDFLAGS): Likewise.
36402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36403 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36404 Likewise.
36405 (grub_emu_SOURCES): Likewise.
36406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36408 (grub_setup_SOURCES): Likewise.
36409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36410 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36411 (grub_setup_SOURCES): Likewise.
36412 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36413 Likewise.
36414 * fs/ufs2.c: New file.
36415 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36416
36417 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36418
36419 Framebuffer split.
36420
36421 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36422 subsystem at the end.
36423 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36424 (video_fb_mod_SOURCES): New variable.
36425 (video_fb_mod_CFLAGS): Likewise.
36426 (video_fb_mod_LDFLAGS): Likewise.
36427 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36428 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36429 * video/i386/pc/vbeblit.c: Moved from here ...
36430 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36431 * video/i386/pc/vbefill.c: Moved from here ...
36432 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36433 * video/i386/pc/vbeutil.c: Moved from here ...
36434 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36435 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36436 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36437 * include/grub/i386/pc/vbefill.h: Moved from here ...
36438 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36439 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36440 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36441 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36442 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36443 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36444 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36445 (grub_video_adapter): Added 'get_info_and_fini'.
36446 (grub_video_get_info_and_fini): New prototype.
36447 (grub_video_set_mode): make modestring const char *.
36448 * loader/i386/linux.c (grub_linux_setup_video): Use
36449 grub_video_get_info_and_fini.
36450 (grub_linux_boot): Move modesetting just before booting.
36451 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36452 grub_video_get_info_and_fini.
36453 * video/i386/pc/vbe.c: Moved framebuffer part ...
36454 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36455 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36456 grub_video_fbstd_colors and grub_video_fb_set_palette.
36457 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36458 grub_video_fb_init.
36459 (grub_video_vbe_fini): Use grub_video_fb_fini.
36460 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36461 render_target and use grub_video_fb_set_active_render_target and
36462 grub_video_fb_set_palette.
36463 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36464 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36465 (grub_video_vbe_adapter): Use framebuffer.
36466 * video/video.c (grub_video_get_info_and_fini): New function.
36467 (grub_video_set_mode): Make modestring const char *.
36468 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36469 values are already initialised.
36470
36471 2009-08-14 Pavel Roskin <proski@gnu.org>
36472
36473 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36474 ABS and APPLE_CC.
36475 * boot/i386/pc/diskboot.S: Likewise.
36476 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36477 sectors allow compilation on MacOSX.
36478 * conf/i386-pc.rmk: Enable unconditional compilation of
36479 lnxboot.img.
36480
36481 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
36482
36483 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36484 * util/grub.d/00_header.in: Enter interruptible sleep if
36485 GRUB_HIDDEN_TIMEOUT is set.
36486
36487 2009-08-13 Yves Blusseau <blusseau@zetam.org>
36488
36489 * include/grub/symbol.h: Add the LOCAL macro.
36490 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36491 starting with "L_".
36492
36493 2009-08-13 Pavel Roskin <proski@gnu.org>
36494
36495 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36496 any modern compilers we support.
36497
36498 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36499 Use local labels starting with "L_" so that Apple assembler
36500 knows they are local.
36501
36502 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36503
36504 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36505 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36506 (bsd_kernel_types): ... this enum.
36507
36508 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36509 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36510 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36511
36512 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36513 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36514 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36515 messages.
36516
36517 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36518
36519 * util/grub-dumpdevtree: Moved from here ...
36520 * util/i386/efi/grub-dumpdevtree: ... to here.
36521 (hexify): New function. Converts a string to its hex version.
36522 Generate hex versions of "efi" and "device-properties" by calling
36523 hexify() on the ASCII strings rather than by hardcoding numbers.
36524
36525 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36526
36527 * fs/jfs.c: Update copyright year.
36528
36529 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36530
36531 * util/grub.d/00_header.in: Fix a comment.
36532 * util/grub.d/10_linux.in: Likewise.
36533 * util/grub.d/10_windows.in: Likewise.
36534 * util/grub.d/10_hurd.in: Likewise.
36535
36536 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36537
36538 * util/grub-mkconfig.in: Allow the user to specify the used font
36539 with GRUB_FONT.
36540
36541 2009-08-08 Pavel Roskin <proski@gnu.org>
36542
36543 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36544 available, xfs.mod needs it now.
36545
36546 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36547 the "g" modifier in sed when the intention is to strip something
36548 once. This fixes comparison of kernels with multiple dashes.
36549
36550 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36551 on it. Add missing space before closing bracket. Fix
36552 misleading formatting.
36553
36554 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36555
36556 * docs/grub.texi: Major overhaul. Remove all sections that are
36557 specific to GRUB Legacy, or mostly composed of Legacy-specific
36558 information.
36559
36560 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36561
36562 * docs/version.texi: New file. Provides version information for
36563 grub.texi.
36564
36565 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36566
36567 * docs/grub.texi: Update CVS information to SVN.
36568 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36569
36570 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36571
36572 * util/grub-mkconfig.in: Remove a wrong `fi'.
36573
36574 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36575
36576 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36577 (grub_jfs_uuid): New function.
36578 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36579
36580 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36581
36582 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36583 of it to ...
36584 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36585 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36586
36587 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36588
36589 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36590 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36591 Update all users.
36592
36593 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36594 not just "vmlinu[zx]".
36595 Moved from here ...
36596 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36597 all users.
36598
36599 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36600 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36601 all users.
36602
36603 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36604
36605 * util/grub.d/10_freebsd.in: Use an absolute device path for
36606 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36607
36608 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
36609
36610 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36611 handling of multiple abstraction modules.
36612
36613 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36614
36615 Fix a bug resulting in black screen when loading Linux using a
36616 packed video mode.
36617
36618 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36619 function.
36620
36621 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36622 (grub_vbe_bios_getset_dac_palette_width): New function.
36623 (grub_vbe_bios_get_dac_palette_width)
36624 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36625 grub_vbe_bios_getset_dac_palette_width()).
36626
36627 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36628 check for return status.
36629 (grub_vbe_get_video_mode_info): When getting information for a packed
36630 mode (<= 8 bpp), obtain DAC palette width using
36631 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36632 {red,green,blue}_mark_size.
36633
36634 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
36635
36636 * commands/search.c (options): Fix help output to match actual code.
36637
36638 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36639
36640 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36641 of homegrown code.
36642
36643 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36644
36645 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36646 on XFS or ReiserFS.
36647
36648 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36649
36650 Support Apple partition map with sector size different from 512 bytes.
36651
36652 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36653 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36654 and 'apart.partmap_size'.
36655
36656 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36657 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36658
36659 Fix cpuid command.
36660
36661 * commands/i386/cpuid.c (options): New variable.
36662 (grub_cmd_cpuid): Return real error.
36663 (GRUB_MOD_INIT(cpuid)): Declare options.
36664
36665 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36666
36667 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36668 valid.
36669
36670 2009-07-31 Bean <bean123ch@gmail.com>
36671
36672 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36673 log2_inode.
36674 (grub_fshelp_node): Move inode field to the end.
36675 (grub_xfs_data): Remove inode field.
36676 (grub_xfs_inode_block): Calculate inode size using sblock.
36677 (grub_xfs_inode_offset): Likewise.
36678 (grub_xfs_read_inode): Calculate inode size using sblock.
36679 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36680 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36681 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36682 to match inode size.
36683 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36684 not accessible when data is null.
36685 (grub_xfs_open): Likewise.
36686
36687 2009-07-31 Bean <bean123ch@gmail.com>
36688
36689 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36690 Don't change pv->disk if it's already set.
36691
36692 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36693 (grub_raid_register): ... here.
36694 (grub_raid_rescan): Removed.
36695
36696 * include/grub/raid.h (grub_raid_rescan): Removed.
36697
36698 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36699 (fstest): Replace grub_raid_rescan with module fini function followed
36700 by init function.
36701
36702 * util/grub-probe.c: Add include file <grub/raid.h>.
36703 (probe_raid_level): New function.
36704 (probe): Detect abstraction by walking the disk device, support two
36705 level of abstraction (LVM on RAID) when detecting partition map.
36706
36707 2009-07-31 Pavel Roskin <proski@gnu.org>
36708
36709 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36710 to grub_zalloc(), it was erroneous.
36711 Reported by Bean <bean123ch@gmail.com>
36712
36713 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36714
36715 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
36716 embedding zone, not only the first one.
36717
36718 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
36719
36720 * term/gfxterm.c (clear_char): New function.
36721 (grub_virtual_screen_setup): Use clear_char.
36722 (scroll_up): Likewise.
36723 (grub_virtual_screen_cls): Likewise.
36724
36725 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
36726
36727 * util/deviceiter.c (get_acceleraid_disk_name): New static
36728 function.
36729 (grub_util_iterate_devices): Handle Accelraid devices.
36730 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36731
36732 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36733
36734 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36735 separator for the suggested gfxpayload string (';' collides with the
36736 parser and needs escaping).
36737
36738 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36739
36740 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36741 Clear direction flag before jumping to OS.
36742 (grub_multiboot2_real_boot): Likewise.
36743
36744 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36745
36746 * util/i386/pc/grub-install: Fix parsing of --disk-module
36747 option.
36748
36749 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36750
36751 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36752 when embedding.
36753
36754 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
36755
36756 * util/grub-mkconfig.in (package_version): New variable.
36757 Use it do display the version.
36758
36759 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36760
36761 * kern/file.c (grub_file_open): Revert to previous check with
36762 grub_errno.
36763
36764 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36765
36766 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36767 from help line. It's out of sync with code.
36768
36769 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36770
36771 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36772 entries on failed boot.
36773
36774 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36775
36776 * kern/file.c (grub_file_open): Fix an error check.
36777
36778 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36779
36780 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36781 partition map couldn't be identified.
36782
36783 2009-07-23 Pavel Roskin <proski@gnu.org>
36784
36785 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36786 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36787 case of little endian words becomes just an optimization.
36788 Respect const modifier.
36789 (md5_final): Use code that doesn't depend on endianness.
36790
36791 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36792 to avoid loss of upper bits if align is unsigned and shorter
36793 than addr.
36794
36795 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36796
36797 UUID support for UFS
36798
36799 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36800 (grub_ufs_uuid): New function.
36801 (grub_ufs_fs): add .uuid
36802
36803 2009-07-21 Pavel Roskin <proski@gnu.org>
36804
36805 * kern/dl.c (grub_dl_check_header): Make static.
36806
36807 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
36808
36809 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36810 add drivemap for Vista. It breaks Windows 7.
36811
36812 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36813
36814 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36815 128 bytes
36816
36817 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36818
36819 Add BFS support
36820
36821 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36822 (grub_fstest_SOURCES): Likewise.
36823 (pkglib_MODULES): Add befs.mod.
36824 (befs_mod_SOURCES): New variable.
36825 (befs_mod_CFLAGS): Likewise.
36826 (befs_mod_LDFLAGS): Likewise.
36827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36828 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36829 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36830 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36831 (grub_setup_SOURCES): Likewise.
36832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36834 (grub_setup_SOURCES): Likewise.
36835 * fs/befs.c: New file.
36836 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36837 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36838 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36839 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36840 (B_KEY_INDEX_ALIGN): New declaration.
36841 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36842 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36843 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36844 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36845 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36846 (grub_afs_mount) [MODE_BFS]: Likewise.
36847 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36848 (grub_afs_fs): Use GRUB_AFS_FSNAME
36849 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36850 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36851 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36852 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36853
36854 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36855
36856 * util/getroot.c (find_root_device): Add support for MacOSX.
36857 * util/hostdisk.c: Likewise.
36858
36859 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36860
36861 * font/font.c (find_glyph): Check whether a font is present to avoid
36862 segmentation fault.
36863
36864 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
36865
36866 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36867
36868 2009-07-20 Pavel Roskin <proski@gnu.org>
36869
36870 * configure.ac: Trim excessively wordy excuses.
36871
36872 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36873
36874 Add symlink, mtime and label support to AtheFS.
36875
36876 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36877 (grub_afs_iterate_dir): Handle symlinks.
36878 (grub_afs_open): Use grub_afs_read_symlink.
36879 (grub_afs_dir): Likewise.
36880 Pass mtime.
36881 (grub_afs_label): New function.
36882 (grub_afs_fs): Add grub_afs_label.
36883 (grub_afs_read_symlink): New function.
36884
36885 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36886
36887 Fix AtheFS support.
36888
36889 * fs/afs.c: Fix comments style.
36890 (grub_afs_blockrun): Declare as packed.
36891 (grub_afs_datastream): Likewise.
36892 (grub_afs_bnode): Likewise.
36893 (grub_afs_btree): Likewise.
36894 (grub_afs_sblock): Likewise.
36895 Declare `name' as char.
36896 (grub_afs_inode): Declare as packed.
36897 Change void *vnode to grub_uint32_t unused.
36898 (grub_afs_iterate_dir): Check that key_size is positive.
36899 (grub_afs_mount): Don't read superblock twice.
36900 (grub_afs_dir): Don't free node in case of error,
36901 grub_fshelp_find_file already handles this.
36902 (grub_afs_open): Likewise.
36903
36904 2009-07-19 Pavel Roskin <proski@gnu.org>
36905
36906 * Makefile.in: Remove LIBLZO and enable_lzo.
36907 * conf/i386-pc.rmk: Remove lzo support.
36908 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36909 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36910 support.
36911 * kern/i386/pc/lzo1x.S: Remove.
36912 * kern/i386/pc/startup.S: Remove lzo support.
36913 * util/i386/pc/grub-mkimage.c: Likewise.
36914
36915 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36916
36917 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36918 * fs/xfs.c (grub_xfs_dir): Likewise.
36919 * fs/afs.c (grub_afs_dir): Likewise.
36920 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36921 (grub_iso9660_open): Likewise.
36922 * fs/jfs.c (grub_jfs_open): Likewise.
36923 * fs/ext2.c (grub_ext2_dir): Likewise.
36924 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36925 * script/sh/lexer.c (grub_script_yylex): Likewise.
36926
36927 2009-07-16 Pavel Roskin <proski@gnu.org>
36928
36929 * configure.ac: Never add "-c" to CFLAGS.
36930
36931 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36932
36933 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36934 grub_cv_cc_efiemu should be used.
36935
36936 * configure.ac: Typo fixes.
36937
36938 * kern/mm.c (grub_zalloc): New function.
36939 (grub_debug_zalloc): Likewise.
36940 * include/grub/mm.h: Declare grub_zalloc() and
36941 grub_debug_zalloc().
36942 * util/misc.c (grub_zalloc): New function.
36943 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36944 instead of grub_malloc(), remove unneeded initializations.
36945 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36946 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36947 * commands/parttool.c (grub_cmd_parttool): Likewise.
36948 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36949 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36950 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36951 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36952 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36953 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36954 (grub_cmd_efiemu_pnvram): Likewise.
36955 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36956 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36957 (grub_iso9660_iterate_dir): Likewise.
36958 * fs/jfs.c (grub_jfs_opendir): Likewise.
36959 * fs/ntfs.c (list_file): Likewise.
36960 (grub_ntfs_mount): Likewise.
36961 * kern/disk.c (grub_disk_open): Likewise.
36962 * kern/dl.c (grub_dl_load_core): Likewise.
36963 * kern/elf.c (grub_elf_file): Likewise.
36964 * kern/env.c (grub_env_context_open): Likewise.
36965 (grub_env_set): Likewise.
36966 (grub_env_set_data_slot): Likewise.
36967 * kern/file.c (grub_file_open): Likewise.
36968 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36969 * loader/i386/multiboot.c (grub_module): Likewise.
36970 * loader/xnu.c (grub_xnu_create_key): Likewise.
36971 (grub_xnu_create_value): Likewise.
36972 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36973 (read_config_file): Likewise.
36974 * normal/menu_entry.c (make_screen): Likewise.
36975 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36976 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36977 * script/sh/script.c (grub_script_parse): Likewise.
36978 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36979 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36980 * video/readers/png.c (grub_png_output_byte): Likewise.
36981 (grub_video_reader_png): Likewise.
36982
36983 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36984
36985 Enable all targets that can be built by default
36986
36987 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
36988 grub-mkfont and grub-fstest if they can be built
36989
36990 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36991
36992 Fix hang and segmentation fault in grub-emu-usb
36993
36994 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36995 * util/usb.c (grub_libusb_devices): likewise
36996 (grub_libusb_init): rename to ...
36997 (GRUB_MOD_INIT (libusb)):...this
36998 (grub_libusb_fini): rename to ..
36999 (GRUB_MOD_FINI (libusb)):...this
37000 * disk/usbms.c (grub_usbms_transfer): fix retry logic
37001 * include/grub/disk.h (grub_raid_init): removed, it's useless
37002 (grub_raid_fini): likewise
37003 (grub_lvm_init): likewise
37004 (grub_lvm_fini): likewise
37005 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
37006 by grub_init_all
37007
37008 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
37009
37010 Fix libusb
37011
37012 * Makefile.in (LIBUSB): new macro
37013 * genmk.rb (Utility/print_tail): new method
37014 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
37015 (top level): call util.print_tail at the end.
37016
37017 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
37018
37019 Make FreeBSD accept zpool.cache
37020
37021 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
37022 type is /boot/zfs/zpool.cache
37023
37024 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
37025
37026 Fix 64-bit efiemu
37027
37028 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
37029 correct wrong typedef
37030 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
37031
37032 2009-07-15 Pavel Roskin <proski@gnu.org>
37033
37034 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
37035 * kern/disk.c (struct grub_disk_cache): Likewise.
37036
37037 * commands/probe.c (options): Typo fix.
37038
37039 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
37040 Increase to 0x5a to accommodate FAT32. Adjust other offsets
37041 accordingly.
37042 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
37043
37044 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
37045 the end of "Error" to make the message more readable.
37046
37047 * boot/i386/pc/boot.S (kernel_segment): Remove.
37048 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
37049 for destination.
37050
37051 * boot/i386/pc/boot.S (boot_version): Remove.
37052 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
37053 Remove.
37054
37055 * include/grub/i386/pc/boot.h: Sort all offsets.
37056 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
37057 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
37058 * boot/i386/pc/boot.S: Assert location of every offset listed in
37059 include/grub/i386/pc/boot.h.
37060
37061 2009-07-13 Pavel Roskin <proski@gnu.org>
37062
37063 * include/grub/i386/coreboot/machine.h: Rename
37064 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
37065 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
37066 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
37067
37068 * kern/dl.c: Force native word size to suppress warnings when
37069 compiling grub-emu.
37070
37071 * kern/device.c (grub_device_iterate): Change struct part_ent to
37072 hold the name, not a pointer to it. Use one grub_malloc() per
37073 partition, not two. Free partition_name if grub_malloc() fails.
37074 Set ents to NULL only before grub_partition_iterate() is called.
37075
37076 2009-07-11 Bean <bean123ch@gmail.com>
37077
37078 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
37079 childname.
37080
37081 2009-07-10 Bean <bean123ch@gmail.com>
37082 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
37083
37084 * kern/ieee1275/openfw.c (grub_children_iterate)
37085 (grub_devalias_iterate): Fix size evaluation for property or path
37086 strings, which was broken since r2132.
37087
37088 2009-07-07 Pavel Roskin <proski@gnu.org>
37089
37090 * commands/search.c (search_file): Merge into ...
37091 (search_fs): ... this. Accept search type as argument.
37092 (grub_cmd_search): Pass search type to search_fs().
37093
37094 * include/grub/util/console.h: New file.
37095 * util/console.c: Use it instead of grub/machine/console.h.
37096 * util/grub-emu.c: Likewise.
37097
37098 * lib/arg.c (find_long_option): Remove.
37099 (find_long): Add `len' argument, make `s' const char *.
37100 (grub_arg_parse): Parse long options in place, not in a
37101 temporary buffer.
37102
37103 2009-07-06 Pavel Roskin <proski@gnu.org>
37104
37105 * commands/search.c (search_fs): Fix potential NULL pointer
37106 dereference.
37107
37108 * commands/search.c (search_fs): Replace QUID macro with quid_fn
37109 function pointer.
37110
37111 2009-07-06 Daniel Mierswa <impulze@impulze.org>
37112
37113 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
37114 comparison.
37115
37116 2009-07-05 Pavel Roskin <proski@gnu.org>
37117
37118 * include/grub/i386/linux.h (struct linux_kernel_params):
37119 Restore padding3, it's still needed.
37120
37121 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
37122 FreeBSD.
37123 * util/osdetect.lua: Likewise.
37124
37125 2009-07-05 Bean <bean123ch@gmail.com>
37126
37127 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
37128
37129 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
37130 (grub_lua_getenv): Likewise.
37131 (grub_lua_setenv): Likewise.
37132 (save_errno): New function.
37133 (push_result): Likewise.
37134 (grub_lua_enum_device): Likewise.
37135 (grub_lua_enum_file): Likewise.
37136 (grub_lua_file_open): Likewise.
37137 (grub_lua_file_close): Likewise.
37138 (grub_lua_file_seek): Likewise.
37139 (grub_lua_file_read): Likewise.
37140 (grub_lua_file_getline): Likewise.
37141 (grub_lua_file_getsize): Likewise.
37142 (grub_lua_file_getpos): Likewise.
37143 (grub_lua_file_eof): Likewise.
37144 (grub_lua_file_exist): Likewise.
37145 (grub_lua_add_menu): Likewise.
37146
37147 * script/lua/grub_lua.h (isupper): New inline function.
37148 (islower): Likewise.
37149 (ispunct): Likewise.
37150 (isxdigit): Likewise.
37151 (strcspn): Change to normal function.
37152 (strpbkr): New function declaration.
37153 (memchr): Likewise.
37154
37155 * script/lua/grub_main.c (scan_str): New function.
37156 (strcspn): Likewise.
37157 (strpbrk): Likewise.
37158 (memchr): Likewise.
37159
37160 * script/lua/linit.c (lualibs): Enable the string library.
37161
37162 * util/osdetect.lua: New file.
37163
37164 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
37165
37166 * include/grub/i386/linux.h (struct linux_kernel_params): Add
37167 `capabilities' member.
37168
37169 2009-07-02 Pavel Roskin <proski@gnu.org>
37170
37171 * genparttoollist.sh: Add missing newline at the end.
37172
37173 2009-07-01 Pavel Roskin <proski@gnu.org>
37174
37175 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
37176
37177 * util/hostdisk.c (open_device): Remove `const' from
37178 `sysctl_size', as sysctlbyname() can change it (in this case it
37179 doesn't actually happen).
37180
37181 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
37182 using signed long int constants.
37183
37184 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
37185 constant to avoid a warning on FreeBSD.
37186
37187 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
37188 where it's needed.
37189
37190 * Makefile.in: Install include/grub/machine symlink.
37191
37192 * Makefile.in: When installing symlinks, use "cp -fR", which
37193 works on FreeBSD and MacOSX.
37194 From Yves Blusseau <cl7m42e02@sneakemail.com>
37195
37196 * kern/dl.c (grub_dl_resolve_symbol): Make static.
37197 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
37198
37199 * util/misc.c: Move grub_reboot() and grub_halt() ...
37200 * util/grub-emu.c: ... here. Make main_env static.
37201 * include/grub/util/misc.h: Remove main_env.
37202
37203 * kern/mm.c: Use correct format to print size_t.
37204
37205 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
37206 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
37207 * kern/powerpc/dl.c: Likewise.
37208 * kern/sparc64/dl.c: Likewise.
37209 * kern/x86_64/dl.c: Likewise.
37210
37211 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37212
37213 Fix grub-emu build on sparc64-ieee1275.
37214
37215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
37216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
37217
37218 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37219
37220 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
37221 (grub_reboot, grub_halt): New functions.
37222
37223 * util/i386/pc/misc.c: Delete. Update all users.
37224 * util/sparc64/ieee1275/misc.c: Likewise.
37225 * util/powerpc/ieee1275/misc.c: Likewise.
37226
37227 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37228
37229 * conf/i386.rmk (setjmp_mod_SOURCES)
37230 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
37231 * conf/common.rmk (setjmp_mod_SOURCES)
37232 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
37233 to use $(target_cpu).
37234 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
37235 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
37236 * conf/powerpc-ieee1275.rmk: Likewise.
37237 * conf/sparc64-ieee1275.rmk: Likewise.
37238
37239 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
37240 $(target_cpu) for kern/$(target_cpu)/dl.c.
37241 * conf/i386-efi.rmk: Likewise.
37242 * conf/i386-ieee1275.rmk: Likewise.
37243 * conf/x86_64-efi.rmk: Likewise.
37244 * conf/i386-coreboot.rmk: Likewise.
37245 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
37246 $(target_cpu) for kern/$(target_cpu)/dl.c and for
37247 kern/$(target_cpu)/cache.S.
37248 * conf/sparc64-ieee1275.rmk: Likewise.
37249
37250 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37251
37252 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
37253 type to `grub_uint8_t', and adjust `padding9' accordingly.
37254
37255 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37256
37257 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
37258
37259 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
37260 assembly in final jump, using register constraints.
37261
37262 (grub_linux_boot): For text mode, initialize `have_vga' using
37263 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
37264
37265 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
37266 right before the final jump.
37267
37268 Set `video_mode' to 0x3.
37269
37270 Document initialization of `video_page', `video_mode' and
37271 `video_ega_bx'.
37272
37273 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37274
37275 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
37276 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
37277 and set GRUB_LINUX_FLAG_QUIET appropriately.
37278
37279 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37280
37281 Fix build on Debian / sparc.
37282
37283 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
37284
37285 2009-06-28 Pavel Roskin <proski@gnu.org>
37286
37287 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
37288 fix a warning.
37289
37290 * util/grub.d/10_linux.in: Match SUSE style initrd names.
37291
37292 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37293
37294 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
37295 `err'.
37296
37297 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37298
37299 Revert r2338.
37300
37301 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
37302 file can't be opened. grub_file_open() is already supposed to set
37303 grub_errno / grub_errmsg appropriately.
37304 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37305
37306 2009-06-27 Pavel Roskin <proski@gnu.org>
37307 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37308
37309 * include/grub/dl.h: Include grub/elf.h.
37310 (struct grub_dl): Add symtab field.
37311 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
37312 GRUB_MODULES_MACHINE_READONLY.
37313 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
37314 of the header for read-only modules.
37315 (grub_dl_unload): Free mod->symtab for read-only modules.
37316 * kern/i386/dl.c: Use mod->symtab.
37317 * kern/powerpc/dl.c: Likewise.
37318 * kern/sparc64/dl.c: Likewise.
37319 * kern/x86_64/dl.c: Likewise.
37320
37321 * conf/i386-qemu.rmk: New file.
37322 * kern/i386/qemu/startup.S: Likewise.
37323 * kern/i386/qemu/mmap.c: Likewise.
37324 * boot/i386/qemu/boot.S: Likewise.
37325 * include/grub/i386/qemu/time.h: Likewise.
37326 * include/grub/i386/qemu/serial.h: Likewise.
37327 * include/grub/i386/qemu/kernel.h: Likewise.
37328 * include/grub/i386/qemu/console.h: Likewise.
37329 * include/grub/i386/qemu/boot.h: Likewise.
37330 * include/grub/i386/qemu/init.h: Likewise.
37331 * include/grub/i386/qemu/machine.h: Likewise.
37332 * include/grub/i386/qemu/loader.h: Likewise.
37333 * include/grub/i386/qemu/memory.h: Likewise.
37334
37335 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
37336 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
37337 [qemu] (pkglib_IMAGES): Add `boot.img'.
37338 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
37339 [qemu] (boot_img_FORMAT): New variables.
37340 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
37341 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
37342 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
37343 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
37344 [qemu] (kernel_img_FORMAT): New variables.
37345
37346 * configure.ac: Recognise `i386-qemu'.
37347
37348 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
37349 (for no compression).
37350 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
37351 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
37352 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
37353 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
37354 ifdefs).
37355
37356 2009-06-27 Pavel Roskin <proski@gnu.org>
37357
37358 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37359 read.
37360 * efiemu/prepare32.c: Likewise.
37361 * efiemu/prepare64.c: Likewise.
37362
37363 2009-06-26 Pavel Roskin <proski@gnu.org>
37364
37365 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37366 * include/grub/elf.h: Define symbols without "32" or "64" based
37367 on GRUB_TARGET_WORDSIZE.
37368 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37369 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37370 ELF definitions.
37371 * efiemu/loadcore64.c: Likewise.
37372 * loader/i386/bsd32.c: Likewise.
37373 * loader/i386/bsd64.c: Likewise.
37374 * kern/dl.c: Remove own ELF definitions.
37375 * util/i386/efi/grub-mkimage.c: Likewise.
37376
37377 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37378
37379 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37380 segment 0x0 unconditionally, because the reference generated by
37381 GAS is an absolute address.
37382
37383 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37384
37385 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37386 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37387
37388 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37389
37390 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37391 indexes. Check for -f explicitly.
37392 (search_file): Improve error message.
37393 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
37394
37395 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37396
37397 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37398 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37399
37400 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37401
37402 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37403 * conf/i386-ieee1275.rmk: Likewise.
37404 * conf/i386-coreboot.rmk: Likewise.
37405
37406 * kern/i386/pc/startup.S (grub_stop): Remove function.
37407 * kern/i386/ieee1275/startup.S: Likewise.
37408 * kern/i386/coreboot/startup.S: Likewise.
37409 * kern/i386/misc.S (grub_stop): New function.
37410
37411 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37412
37413 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37414 * kern/i386/realmode.S (real_to_prot): ... to here.
37415
37416 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37417
37418 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37419 with `kernel.img'.
37420 (kernel_elf_SOURCES): Rename to ...
37421 (kernel_img_SOURCES): ... this.
37422 (kernel_elf_HEADERS): Rename to ...
37423 (kernel_img_HEADERS): ... this. Update all users.
37424 (kernel_elf_ASFLAGS): Rename to ...
37425 (kernel_img_ASFLAGS): ... this.
37426 (kernel_elf_CFLAGS): Rename to ...
37427 (kernel_img_CFLAGS): ... this.
37428 (kernel_elf_LDFLAGS): Rename to ...
37429 (kernel_img_LDFLAGS): ... this.
37430 * conf/i386-coreboot.rmk: Likewise.
37431 * conf/powerpc-ieee1275.rmk: Likewise.
37432
37433 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37434 with "kernel.img".
37435
37436 2009-06-21 Pavel Roskin <proski@gnu.org>
37437
37438 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37439 to match nested functions.
37440 * loader/sparc64/ieee1275/linux.c: Likewise.
37441
37442 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37443
37444 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37445
37446 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37447 all i386 platforms.
37448
37449 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37450
37451 Fix asm file handling on ELF, and remove workarounds.
37452
37453 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
37454 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
37455 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37456 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37457
37458 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37459
37460 Load BSD ELF modules
37461
37462 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37463 and loader/i386/bsd64.c
37464 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37465 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37466 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37467 (grub_freebsd_load_elfmodule32): New declaration
37468 (grub_freebsd_load_elfmoduleobj64): Likewise
37469 (grub_freebsd_load_elf_meta32): Likewise
37470 (grub_freebsd_load_elf_meta64): Likewise
37471 (grub_freebsd_add_meta): Likewise
37472 (grub_freebsd_add_meta_module): Likewise
37473 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37474 (grub_freebsd_add_meta_module): Likewise and move module-specific
37475 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37476 (grub_cmd_freebsd): Add elf-kernel specific parts
37477 based on grub_freebsd_add_meta_module
37478 (grub_cmd_freebsd_module): Add type parsing moved from
37479 grub_freebsd_add_meta_module
37480 (grub_cmd_freebsd_module_elf): New function
37481 (cmd_freebsd_module_elf): New variable
37482 (GRUB_MOD_INIT): Register freebsd_module_elf
37483 * loader/i386/bsd32.c: New file
37484 * loader/i386/bsd64.c: Likewise
37485 * loader/i386/bsdXX.c: Likewise
37486 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37487 (grub_elf64_load): Likewise
37488 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37489 All users updated
37490 (grub_elf64_load_hook_t): Likewise
37491
37492 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
37493
37494 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37495 variable.
37496 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37497 don't write a menu entry for recovery mode.
37498
37499 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37500
37501 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37502 after it's no longer needed.
37503
37504 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37505
37506 * include/grub/i386/loader.h (grub_linux_prot_size)
37507 (grub_linux_tmp_addr, grub_linux_real_addr)
37508 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37509 GRUB_MACHINE_PCBIOS.
37510 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37511 common grub_util_info() call to ...
37512 (generate_image): ... here.
37513 Fix use of uninitialized memory, comparison of signed with
37514 unsigned integers and memory leak.
37515 Remove bogus module address message.
37516
37517 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37518
37519 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37520 grub_raid_register
37521 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37522
37523 2009-06-19 Pavel Roskin <proski@gnu.org>
37524
37525 * configure.ac: Remove stray AC_MSG_CHECKING.
37526
37527 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37528
37529 * disk/scsi.c (grub_scsi_open): use continue instead of big if
37530
37531 2009-06-18 Pavel Roskin <proski@gnu.org>
37532
37533 * conf/common.rmk: Add fs_file.mod.
37534 * disk/fs_file.c: New file.
37535 * include/grub/disk.h (enum grub_disk_dev_id): Add
37536 GRUB_DISK_DEVICE_FILE_ID.
37537
37538 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37539
37540 Fix build with Apple's toolchain. Part 2
37541
37542 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37543 a fake start
37544
37545 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37546
37547 Fix build with Apple's toolchain. Part 1
37548
37549 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37550 for long calls
37551 * configure.ac: remove a leftover AC_MSG_RESULT
37552 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
37553 Apple's toolchain
37554
37555 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37556
37557 Fix warnings
37558
37559 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37560 (decomp_block): initialize ch
37561 use grub_memcpy instead of memcpy
37562
37563 2009-06-17 Pavel Roskin <proski@gnu.org>
37564
37565 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37566 version, use declarations needed to use vga_text as the startup
37567 console.
37568
37569 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37570 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37571 the kernel.
37572 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37573 and grub_at_keyboard_fini(), it's done on module load and
37574 unload.
37575
37576 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
37577
37578 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37579 file can't be found.
37580 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37581
37582 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37583
37584 Fix newline handling
37585
37586 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
37587 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
37588 (grub_script_yylex): don't segfault on unterminated script
37589 newline terminates command and variable
37590
37591 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37592
37593 avoid double grub_adjust_range call. Bug reported by David Simner
37594
37595 * kern/disk.c (grub_disk_write): change to raw disk access before
37596 calling disk_read
37597
37598 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
37599
37600 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37601 spaces, for the benefit of help2man.
37602 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37603
37604 2009-06-16 Pavel Roskin <proski@gnu.org>
37605
37606 * kern/i386/halt.c: Include grub/machine/init.h.
37607 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37608
37609 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
37610
37611 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37612 drivemap menuentry.
37613
37614 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37615
37616 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37617 `echo' command.
37618
37619 2009-06-16 Pavel Roskin <proski@gnu.org>
37620
37621 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37622 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37623 save %dx, we only need %dl and we never change it.
37624 * boot/i386/pc/cdboot.S: Don't set the root drive.
37625 * boot/i386/pc/pxeboot.S: Likewise.
37626 * include/grub/i386/pc/boot.h: Remove
37627 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37628 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37629 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37630 * kern/i386/pc/init.c (make_install_device): Remove references
37631 to grub_root_drive.
37632 * kern/i386/pc/startup.S: Likewise.
37633 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37634
37635 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37636
37637 xnu_uuid command
37638
37639 * commands/xnu_uuid.c: new file
37640 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37641 (xnu_uuid_mod_SOURCES): new variable
37642 (xnu_uuid_mod_CFLAGS): likewise
37643 (xnu_uuid_mod_LDFLAGS): likewise
37644 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37645 * conf/i386-ieee1275.rmk: likewise
37646 * conf/i386-pc.rmk: likewise
37647 * conf/powerpc-ieee1275.rmk: likewise
37648 * conf/sparc64-ieee1275.rmk: likewise
37649 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37650
37651 2009-06-16 Pavel Roskin <proski@gnu.org>
37652
37653 * configure.ac: Avoid '==' in test command, it's not portable.
37654
37655 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37656
37657 Probe command
37658
37659 * commands/probe.c: new file
37660 * conf/common.rmk (pkglib_MODULES): add probe.mod
37661 (probe_mod_SOURCES): new variable
37662 (probe_mod_CFLAGS): likewise
37663 (probe_mod_LDFLAGS): likewise
37664 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37665 * conf/i386-ieee1275.rmk: likewise
37666 * conf/i386-pc.rmk: likewise
37667 * conf/powerpc-ieee1275.rmk: likewise
37668 * conf/sparc64-ieee1275.rmk: likewise
37669
37670 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37671
37672 Fix handling of string like \"hello\" and "a
37673 b"
37674
37675 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37676 (grub_script_yylex): fix parsing of quoting, escaping and newline
37677
37678 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37679
37680 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
37681 handling
37682
37683 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
37684
37685 * util/grub-mkconfig.in: Fix parsing of --output option.
37686
37687 2009-06-12 Pavel Roskin <proski@gnu.org>
37688
37689 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37690 genmk.rb don't need to be generated or installed.
37691
37692 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37693
37694 * commands/i386/pc/drivemap_int13h.S: add more comments
37695
37696 2009-06-11 Pavel Roskin <proski@gnu.org>
37697
37698 * Makefile.in (uninstall): Uninstall manuals.
37699
37700 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37701 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37702 and update-grub_lib in two places.
37703 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37704
37705 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37706 a compiler warning.
37707
37708 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37709 `entry_lo' to fix variable shadowing.
37710
37711 2009-06-11 Christian Franke <franke@computer.org>
37712
37713 * kern/misc.c (__enable_execute_stack): Add missing return type
37714 to prevent gcc warning.
37715
37716 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37717
37718 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37719
37720 2009-06-11 Pavel Roskin <proski@gnu.org>
37721
37722 * Makefile.in: Don't rely on any scripts being executable.
37723 Always use $(SHELL) to run shell scripts.
37724
37725 * configure.ac: Always define ___main if using -nostdlib. This
37726 fixes tests on Cygwin.
37727
37728 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37729
37730 UDF fix
37731
37732 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
37733 is in bytes and not in blocks
37734
37735 2009-06-11 Pavel Roskin <proski@gnu.org>
37736
37737 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37738 warning.
37739
37740 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37741
37742 * util/grub.d/30_os-prober.in: Fix a comment. Source
37743 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37744 to set the root device. Place drivemap command in the generated
37745 chain entry.
37746
37747 2009-06-11 Pavel Roskin <proski@gnu.org>
37748
37749 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37750 have long been resolved.
37751
37752 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
37753
37754 * util/grub.d/10_linux.in: Capitalise "Linux".
37755
37756 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37757
37758 2009-06-11 Pavel Roskin <proski@gnu.org>
37759
37760 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37761 fix a gcc warning and ensure that the function won't ever exit.
37762
37763 * kern/i386/ieee1275/init.c: Add missing prototype for
37764 grub_stop_floppy().
37765
37766 * loader/ieee1275/multiboot2.c [__i386__]: Include
37767 grub/cpu/multiboot.h.
37768
37769 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37770 casts to short - they are not portable and cause warnings. Fix
37771 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37772
37773 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37774
37775 Drivemap fixes
37776
37777 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37778 new function
37779 (grub_get_root_biosnumber_saved): new variable
37780 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37781 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
37782 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
37783 %dx after the call if necessary
37784 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37785 (boot_mod_SOURCES): remove
37786 (boot_mod_CFLAGS): remove
37787 (boot_mod_LDFLAGS): remove
37788 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37789 (boot_mod_SOURCES): new variable
37790 (boot_mod_CFLAGS): likewise
37791 (boot_mod_LDFLAGS): likewise
37792 * conf/i386-efi.rmk: likewise
37793 * conf/i386-ieee1275.rmk: likewise
37794 * conf/i386-pc.rmk: likewise
37795 * conf/powerpc-ieee1275.rmk: likewise
37796 * conf/sparc64-ieee1275.rmk: likewise
37797 * conf/x86_64-efi.rmk: likewise
37798 * include/grub/i386/pc/biosnum.h: new file
37799 * lib/i386/pc/biosnum.c: likewise
37800 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37801 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37802 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
37803
37804 2009-06-10 Pavel Roskin <proski@gnu.org>
37805
37806 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37807 Use separate variables. Read only the file size at the end, but
37808 not the checksum that we don't use.
37809
37810 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37811 Adjust all callers.
37812
37813 * kern/ieee1275/openfw.c: Remove libc includes.
37814 * kern/ieee1275/cmain.c: Likewise.
37815 * include/grub/ieee1275/ieee1275.h: Likewise.
37816
37817 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37818 compiler warnings.
37819
37820 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37821
37822 * Makefile.in: Remove all trailing whitespace.
37823 * conf/i386-pc.rmk: Likewise.
37824 * conf/powerpc-ieee1275.rmk: Likewise.
37825 * conf/sparc64-ieee1275.rmk: Likewise.
37826 * docs/grub.texi: Likewise.
37827 * docs/texinfo.tex: Likewise.
37828 * disk/fs_uuid.c: Likewise.
37829 * disk/lvm.c: Likewise.
37830 * disk/scsi.c: Likewise.
37831 * disk/ata.c: Likewise.
37832 * disk/ieee1275/ofdisk.c: Likewise.
37833 * disk/i386/pc/biosdisk.c: Likewise.
37834 * disk/host.c: Likewise.
37835 * disk/raid.c: Likewise.
37836 * disk/efi/efidisk.c: Likewise.
37837 * disk/usbms.c: Likewise.
37838 * disk/memdisk.c: Likewise.
37839 * disk/loopback.c: Likewise.
37840 * kern/powerpc/dl.c: Likewise.
37841 * kern/device.c: Likewise.
37842 * kern/dl.c: Likewise.
37843 * kern/sparc64/dl.c: Likewise.
37844 * kern/ieee1275/ieee1275.c: Likewise.
37845 * kern/term.c: Likewise.
37846 * kern/fs.c: Likewise.
37847 * kern/i386/dl.c: Likewise.
37848 * kern/i386/pc/startup.S: Likewise.
37849 * kern/i386/pc/init.c: Likewise.
37850 * kern/i386/pc/mmap.c: Likewise.
37851 * kern/i386/pc/lzo1x.S: Likewise.
37852 * kern/i386/ieee1275/init.c: Likewise.
37853 * kern/i386/realmode.S: Likewise.
37854 * kern/i386/tsc.c: Likewise.
37855 * kern/partition.c: Likewise.
37856 * kern/corecmd.c: Likewise.
37857 * kern/file.c: Likewise.
37858 * kern/efi/efi.c: Likewise.
37859 * kern/efi/init.c: Likewise.
37860 * kern/efi/mm.c: Likewise.
37861 * kern/main.c: Likewise.
37862 * kern/err.c: Likewise.
37863 * kern/env.c: Likewise.
37864 * kern/disk.c: Likewise.
37865 * kern/generic/millisleep.c: Likewise.
37866 * kern/generic/rtc_get_time_ms.c: Likewise.
37867 * kern/misc.c: Likewise.
37868 * kern/parser.c: Likewise.
37869 * genmk.rb: Likewise.
37870 * configure.ac: Likewise.
37871 * boot/i386/pc/diskboot.S: Likewise.
37872 * boot/i386/pc/pxeboot.S: Likewise.
37873 * boot/i386/pc/boot.S: Likewise.
37874 * boot/i386/pc/lnxboot.S: Likewise.
37875 * boot/i386/pc/cdboot.S: Likewise.
37876 * parttool/pcpart.c: Likewise.
37877 * video/readers/tga.c: Likewise.
37878 * video/video.c: Likewise.
37879 * video/bitmap.c: Likewise.
37880 * lib/envblk.c: Likewise.
37881 * lib/i386/setjmp.S: Likewise.
37882 * fs/xfs.c: Likewise.
37883 * fs/afs.c: Likewise.
37884 * fs/fat.c: Likewise.
37885 * fs/ntfs.c: Likewise.
37886 * fs/udf.c: Likewise.
37887 * fs/affs.c: Likewise.
37888 * fs/iso9660.c: Likewise.
37889 * fs/hfs.c: Likewise.
37890 * fs/fshelp.c: Likewise.
37891 * fs/ext2.c: Likewise.
37892 * fs/jfs.c: Likewise.
37893 * fs/reiserfs.c: Likewise.
37894 * fs/hfsplus.c: Likewise.
37895 * fs/minix.c: Likewise.
37896 * fs/cpio.c: Likewise.
37897 * fs/sfs.c: Likewise.
37898 * fs/ufs.c: Likewise.
37899 * efiemu/prepare.c: Likewise.
37900 * efiemu/loadcore_common.c: Likewise.
37901 * efiemu/runtime/efiemu.sh: Likewise.
37902 * efiemu/runtime/efiemu.S: Likewise.
37903 * efiemu/runtime/efiemu.c: Likewise.
37904 * efiemu/pnvram.c: Likewise.
37905 * efiemu/main.c: Likewise.
37906 * efiemu/i386/pc/cfgtables.c: Likewise.
37907 * efiemu/i386/loadcore64.c: Likewise.
37908 * efiemu/i386/loadcore32.c: Likewise.
37909 * efiemu/loadcore.c: Likewise.
37910 * efiemu/symbols.c: Likewise.
37911 * efiemu/mm.c: Likewise.
37912 * include/grub/autoefi.h: Likewise.
37913 * include/grub/datetime.h: Likewise.
37914 * include/grub/term.h: Likewise.
37915 * include/grub/hfs.h: Likewise.
37916 * include/grub/lvm.h: Likewise.
37917 * include/grub/i386/tsc.h: Likewise.
37918 * include/grub/i386/linux.h: Likewise.
37919 * include/grub/i386/xnu.h: Likewise.
37920 * include/grub/i386/efiemu.h: Likewise.
37921 * include/grub/i386/pc/biosdisk.h: Likewise.
37922 * include/grub/i386/pc/memory.h: Likewise.
37923 * include/grub/i386/pc/vbe.h: Likewise.
37924 * include/grub/parttool.h: Likewise.
37925 * include/grub/video.h: Likewise.
37926 * include/grub/memory.h: Likewise.
37927 * include/grub/fs.h: Likewise.
37928 * include/grub/partition.h: Likewise.
37929 * include/grub/xnu.h: Likewise.
37930 * include/grub/efi/api.h: Likewise.
37931 * include/grub/efi/pe32.h: Likewise.
37932 * include/grub/efi/memory.h: Likewise.
37933 * include/grub/multiboot.h: Likewise.
37934 * include/grub/usbdesc.h: Likewise.
37935 * include/grub/multiboot2.h: Likewise.
37936 * include/grub/acpi.h: Likewise.
37937 * include/grub/efiemu/efiemu.h: Likewise.
37938 * include/grub/disk.h: Likewise.
37939 * include/grub/ieee1275/ieee1275.h: Likewise.
37940 * include/grub/net.h: Likewise.
37941 * include/grub/machoload.h: Likewise.
37942 * include/grub/macho.h: Likewise.
37943 * include/multiboot.h: Likewise.
37944 * genmoddep.awk: Likewise.
37945 * normal/main.c: Likewise.
37946 * normal/menu_entry.c: Likewise.
37947 * normal/menu_viewer.c: Likewise.
37948 * normal/completion.c: Likewise.
37949 * normal/cmdline.c: Likewise.
37950 * normal/misc.c: Likewise.
37951 * normal/datetime.c: Likewise.
37952 * bus/usb/usbtrans.c: Likewise.
37953 * bus/usb/ohci.c: Likewise.
37954 * bus/usb/uhci.c: Likewise.
37955 * bus/usb/usb.c: Likewise.
37956 * mmap/efi/mmap.c: Likewise.
37957 * mmap/i386/pc/mmap_helper.S: Likewise.
37958 * mmap/i386/pc/mmap.c: Likewise.
37959 * mmap/i386/mmap.c: Likewise.
37960 * mmap/i386/uppermem.c: Likewise.
37961 * mmap/mmap.c: Likewise.
37962 * commands/acpi.c: Likewise.
37963 * commands/echo.c: Likewise.
37964 * commands/blocklist.c: Likewise.
37965 * commands/loadenv.c: Likewise.
37966 * commands/usbtest.c: Likewise.
37967 * commands/boot.c: Likewise.
37968 * commands/parttool.c: Likewise.
37969 * commands/search.c: Likewise.
37970 * commands/cat.c: Likewise.
37971 * commands/i386/pc/play.c: Likewise.
37972 * commands/i386/pc/drivemap.c: Likewise.
37973 * commands/i386/pc/vbeinfo.c: Likewise.
37974 * commands/i386/pc/acpi.c: Likewise.
37975 * commands/i386/pc/vbetest.c: Likewise.
37976 * commands/ls.c: Likewise.
37977 * commands/cmp.c: Likewise.
37978 * commands/test.c: Likewise.
37979 * commands/efi/acpi.c: Likewise.
37980 * commands/gptsync.c: Likewise.
37981 * commands/help.c: Likewise.
37982 * partmap/amiga.c: Likewise.
37983 * partmap/apple.c: Likewise.
37984 * partmap/acorn.c: Likewise.
37985 * partmap/pc.c: Likewise.
37986 * partmap/sun.c: Likewise.
37987 * partmap/gpt.c: Likewise.
37988 * script/sh/lexer.c: Likewise.
37989 * script/sh/function.c: Likewise.
37990 * font/font.c: Likewise.
37991 * font/font_cmd.c: Likewise.
37992 * loader/powerpc/ieee1275/linux.c: Likewise.
37993 * loader/efi/chainloader.c: Likewise.
37994 * loader/multiboot_loader.c: Likewise.
37995 * loader/macho.c: Likewise.
37996 * loader/i386/multiboot.c: Likewise.
37997 * loader/i386/linux.c: Likewise.
37998 * loader/i386/pc/linux.c: Likewise.
37999 * loader/i386/pc/multiboot2.c: Likewise.
38000 * loader/i386/pc/chainloader.c: Likewise.
38001 * loader/i386/pc/xnu.c: Likewise.
38002 * loader/i386/bsd_trampoline.S: Likewise.
38003 * loader/i386/efi/linux.c: Likewise.
38004 * loader/i386/multiboot_elfxx.c: Likewise.
38005 * loader/i386/bsd_helper.S: Likewise.
38006 * loader/i386/bsd.c: Likewise.
38007 * loader/i386/linux_trampoline.S: Likewise.
38008 * loader/i386/xnu_helper.S: Likewise.
38009 * loader/i386/xnu.c: Likewise.
38010 * loader/i386/bsd_pagetable.c: Likewise.
38011 * loader/i386/multiboot_helper.S: Likewise.
38012 * loader/xnu.c: Likewise.
38013 * loader/xnu_resume.c: Likewise.
38014 * io/gzio.c: Likewise.
38015 * term/efi/console.c: Likewise.
38016 * term/terminfo.c: Likewise.
38017 * term/ieee1275/ofconsole.c: Likewise.
38018 * term/i386/pc/serial.c: Likewise.
38019 * term/i386/pc/vesafb.c: Likewise.
38020 * term/i386/pc/vga.c: Likewise.
38021 * term/usb_keyboard.c: Likewise.
38022 * term/gfxterm.c: Likewise.
38023 * aclocal.m4: Likewise.
38024 * util/lvm.c: Likewise.
38025 * util/grub.d/30_os-prober.in: Likewise.
38026 * util/grub.d/10_hurd.in: Likewise.
38027 * util/console.c: Likewise.
38028 * util/grub-macho2img.c: Likewise.
38029 * util/grub-probe.c: Likewise.
38030 * util/hostfs.c: Likewise.
38031 * util/i386/pc/grub-mkimage.c: Likewise.
38032 * util/i386/pc/grub-setup.c: Likewise.
38033 * util/i386/efi/grub-mkimage.c: Likewise.
38034 * util/grub-mkconfig.in: Likewise.
38035 * util/raid.c: Likewise.
38036 * util/resolve.c: Likewise.
38037 * util/grub-mkdevicemap.c: Likewise.
38038 * util/grub-emu.c: Likewise.
38039 * util/getroot.c: Likewise.
38040 * util/hostdisk.c: Likewise.
38041 * util/usb.c: Likewise.
38042 * util/grub-editenv.c: Likewise.
38043 * util/misc.c: Likewise.
38044
38045 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
38046
38047 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
38048 `genparttoollist.sh'.
38049 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
38050 Add `*.sh' to the list find searches for and change `mdate.sh'
38051 to `mdate-sh'.
38052
38053 2009-06-10 Pavel Roskin <proski@gnu.org>
38054
38055 * include/grub/multiboot2.h: Provide compatibility defines for
38056 multiboot2.h.
38057 * include/multiboot2.h: Include stdint.h only if needed, using
38058 angle brackets.
38059 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
38060 grub/multiboot2.h.
38061 * loader/ieee1275/multiboot2.c: Likewise.
38062 * loader/multiboot2.c: Likewise.
38063 * loader/multiboot_loader.c: Likewise.
38064
38065 * configure.ac: Use -nostdlib when probing for the target. It
38066 should not be required to have libc for the target.
38067
38068 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
38069 they fail without libc headers for the target.
38070 * include/grub/powerpc/libgcc.h: Use weak attribute for all
38071 exports.
38072 * include/grub/sparc64/libgcc.h: Likewise. Don't use
38073 preprocessor conditionals.
38074
38075 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
38076 build system doesn't need to be aware of the tar.c internals.
38077
38078 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
38079
38080 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
38081
38082 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
38083
38084 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
38085 disk limit to 26 for IDE, Virtio, Xen and SCSI.
38086
38087 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
38088
38089 * util/i386/pc/grub-install.in: Change the error message if UUIDs
38090 aren't available if ata.mod gets used.
38091
38092 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
38093
38094 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
38095 initialising controller.
38096 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38097
38098 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
38099
38100 * util/i386/pc/grub-install.in: Add a parameter --disk-module
38101 to choose between ata and biosdisk module on i386-pc.
38102
38103 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
38104
38105 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
38106 Subclass and Programming Interface fields in terms of the 3 byte
38107 Class Code register.
38108 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38109
38110 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
38111 interface is OHCI. Add grub_dprintf for symmetry with
38112 bus/usb/uhci.c.
38113 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
38114 interface is UHCI. Add interf variable for programming
38115 interface. Print interface with class/subclass.
38116
38117 * bus/usb/ohci.c: Set interf with correct field.
38118
38119 * bus/usb/uhci.c: Remove unneeded doubled lines.
38120 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
38121 Remove whitespace inside comment.
38122
38123 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
38124
38125 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
38126 as fallback an equivalent option without depth.
38127
38128 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
38129
38130 Not fail if unable to retrieve C/H/S on LBA disks
38131
38132 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
38133 if unable to retrieve C/H/S on LBA disks
38134
38135 2009-06-08 Pavel Roskin <proski@gnu.org>
38136
38137 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
38138 about aliasing.
38139
38140 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
38141
38142 * Makefile.in (uninstall): Remove all $lib_DATA files.
38143
38144 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
38145
38146 Bugfix: install on partitionless device
38147
38148 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
38149 is a whole disk
38150
38151 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
38152
38153 * Makefile.in (uninstall): Remove all $include_DATA files.
38154
38155 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
38156
38157 * commands/true.c: New file. Implement the true and false commands.
38158 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
38159 (true_mod_SOURCES): New variable.
38160 (true_mod_CFLAGS): Likewise.
38161 (true_mod_LDFLAGS): Likewise.
38162
38163 2009-06-05 Colin D Bennett <colin@gibibit.com>
38164
38165 Optimized font character lookup using binary search instead of linear
38166 search. Fonts now are required to have the character index ordered by
38167 code point.
38168
38169 * font/font.c (load_font_index): Verify that fonts have ordered
38170 character indices.
38171 (find_glyph): Use binary search instead of linear search to find a
38172 character in a font.
38173
38174 2009-06-05 Michael Scherer <misc@mandriva.org>
38175
38176 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
38177 uses case sensitive btree.
38178 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
38179 only for case insensitive filesystems.
38180
38181 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
38182
38183 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
38184 * conf/common.rmk (search_mod_CFLAGS): likewise
38185
38186 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38187
38188 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
38189 compensate a compiler bug
38190
38191 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38192
38193 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
38194 instead of '\b'
38195
38196 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38197
38198 Definitions for creating asm symbols with Apple's CC
38199
38200 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
38201 [APPLE_CC] (VARIABLE): likewise
38202
38203 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38204
38205 Disable lnxboot.img when compiled
38206 with Apple's CC
38207
38208 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
38209 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
38210 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
38211 [! APPLE_CC] (CODE_LENG): skip
38212 [! APPLE_CC] (setup_sects): likewise
38213 [! APPLE_CC]: skip filling
38214
38215 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38216
38217 Address in trampolines based on 32-bit registers when compiled
38218 with Apple's CC
38219
38220 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
38221 for addresses
38222 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
38223
38224 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38225
38226 Avoid aliases when compiling with Apple's CC for PCBIOS machine
38227
38228 * kern/misc.c [APPLE_CC] (memcpy): new function
38229 [APPLE_CC] (memmove): likewise
38230 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
38231 (memcpy): define alias conditionally on !APPLE_CC
38232 (memset): likewise
38233 (abort): likewise
38234 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
38235 APPLE_CC are defined
38236 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
38237 (grub_assert_fail): make prototype conditional
38238
38239 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38240
38241 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
38242
38243 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
38244 grub-macho2img
38245 (CLEANFILES): add grub-macho2img
38246 (grub_macho2img_SOURCES): new variable
38247 * kern/i386/pc/startup.S (bss_start): new variable
38248 (bss_end): likewise
38249 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
38250 * util/grub-macho2img.c: new file
38251
38252 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38253
38254 Use objconv when compiling with Apple's CC
38255
38256 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
38257 (efiemu64.o): likewise
38258 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
38259 when compiling with Apple's CC
38260 (efiemu64_s.o): likewise
38261 * configure.ac: check for objconv when compiling with Apple's CC
38262 * genmk.rb: use objconv for modules when compiled with Apple's CC
38263
38264 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38265
38266 Define segment as well as section when compiling with
38267 Apple's CC
38268
38269 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
38270 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
38271 (efiemu_convert_pointer): likewise
38272 (efiemu_set_virtual_address_map): likewise
38273 (efiemu_convert_pointer): likewise
38274 (efiemu_getcrc32): likewise
38275 (init_crc32_table): likewise
38276 (reflect): likewise
38277 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
38278 (GRUB_MOD_DEP): likewise
38279
38280 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38281
38282 Allow a compilation without -mcmodel=large
38283
38284 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
38285 when compiled without -mcmodel=large
38286 (filter_memory_map): remove memory post 4 GiB when compiled
38287 without -mcmodel=large
38288 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
38289 TARGET_CFLAGS when -mcmodel=large isn't supported
38290
38291 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38292
38293 Remove nested functions in efiemu core
38294
38295 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
38296
38297 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38298
38299 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
38300
38301 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
38302 temporary storage
38303 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
38304 using Apple's CC
38305 (grub_cpu_is_tsc_supported): likewise
38306 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
38307
38308 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38309
38310 Absolute addressing through constant with Apple's cc
38311
38312 * kern/i386/pc/startup.S: Define necessary constants
38313 and address through it when using ABS with Apple's CC
38314 * boot/i386/pc/diskboot.S: likewise
38315 * boot/i386/pc/boot.S: likewise
38316 * boot/i386/pc/lnxboot.S: likewise
38317 * boot/i386/pc/cdboot.S: likewise
38318 * mmap/i386/pc/mmap_helper.S: likewise
38319 * commands/i386/pc/drivemap_int13h.S: likewise
38320
38321 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38322
38323 Check if compiler is apple cc
38324
38325 * Makefile.in (ASFLAGS): new variable
38326 (TARGET_ASFLAGS): likewise
38327 (TARGET_MODULE_FORMAT): likewise
38328 (TARGET_APPLE_CC): likewise
38329 (OBJCONV): likewise
38330 (TARGET_IMG_CFLAGS): likewise
38331 (TARGET_CPPFLAGS): add includedir
38332 * configure.ac: call grub_apple_cc and grub_apple_target_cc
38333 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
38334 Check for linker script only if compiler isn't Apple's CC
38335 (TARGET_MODULE_FORMAT): set
38336 (TARGET_APPLE_CC): likewise
38337 (TARGET_ASFLAGS): likewise
38338 (ASFLAGS): likewise
38339 Check for objcopy only if compiler isn't Apple's CC
38340 Check for BSS symbol only if compiler isn't Apple's CC
38341 * genmk.rb: adapt nm options if we use Apple's utils
38342 * aclocal.m4 (grub_apple_cc): new test
38343 (grub_apple_target_cc): likewise
38344
38345 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38346
38347 Simplify sed expressions and improve awk
38348
38349 * Makefile.in (install-local): simplify sed expression
38350 * gencmdlist.sh: likewise
38351 * genmoddep.awk: avoid adding module as a dependency of itself
38352
38353 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38354
38355 Add missing start symbols
38356
38357 * boot/i386/pc/boot.S: add start
38358 * boot/i386/pc/pxeboot.S: likewise
38359
38360 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38361
38362 Fix wrong assumptions with grub-mkimage on EFI
38363
38364 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
38365 (relocate_addresses): consider both r_addend and value at offset
38366 (make_mods_section): zerofill modinfo and header
38367 (convert_elf): write prefix here
38368
38369 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38370
38371 Use .asciz instead of .string
38372
38373 * i386/pc/diskboot.S: use .asciz instead of .string
38374 * i386/pc/boot.S: likewise
38375 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38376 (GRUB_MOD_NAME): likewise
38377
38378 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38379
38380 gfxpayload support
38381
38382 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38383 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38384 (grub_video_setup): remove
38385 (grub_video_set_mode): new prototype
38386 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38387 (vid_mode): remove
38388 (linux_vesafb_res): compile only on PCBIOS
38389 (grub_linux_boot): support gfxpayload
38390 * loader/i386/pc/xnu.c (video_hook): new function
38391 (grub_xnu_set_video): support gfxpayload
38392 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38393 (DEFAULT_VIDEO_HEIGHT): likewise
38394 (DEFAULT_VIDEO_FLAGS): likewise
38395 (DEFAULT_VIDEO_MODE): new definition
38396 (video_hook): new function
38397 (grub_gfxterm_init): use grub_video_set_mode
38398 * util/grub.d/30_os-prober.in: remove explicit modesetting before
38399 loading xnu
38400 * video/video.c (grub_video_setup): removed
38401 (grub_video_set_mode): new function based on grub_gfxterm_init and
38402 grub_video_setup
38403
38404 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38405
38406 Avoid calling biosdisk in drivemap
38407
38408 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38409 (revparse_biosdisk): likewise
38410 (list_mappings): derive name from id directly
38411 (grub_cmd_drivemap): use tryparse_diskstring
38412
38413 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38414
38415 Script fixes
38416
38417 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38418 (grub_lexer_param): add tokenonhold
38419 (grub_script_create_cmdline): remove cmdline. All callers updated
38420 (grub_script_function_create): make functionname
38421 grub_script_arg. All callers updated
38422 (grub_script_execute_argument_to_string): new prototype
38423 * kern/parser.c (state_transitions): reorder
38424 (grub_parser_cmdline_state): fix a bug and make more compact
38425 * script/sh/execute.c (grub_script_execute_argument_to_string):
38426 make global
38427 (grub_script_execute_cmdline): use new format
38428 * script/sh/function.c (grub_script_function_create): make functionname
38429 grub_script_arg. All callers updated
38430 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
38431 (grub_script_yylex): remove
38432 (grub_script_yylex2): renamed to ...
38433 (grub_script_yylex): ...renamed
38434 parse the expressions like a${b}c
38435 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38436 (GRUB_PARSER_TOKEN_VAR): remove
38437 (GRUB_PARSER_TOKEN_NAME): likewise
38438 ("if"): declare as typeless
38439 ("while"): likewise
38440 ("function"): likewise
38441 ("else"): likewise
38442 ("then"): likewise
38443 ("fi"): likewise
38444 (text): remove
38445 (argument): likewise
38446 (script): accept empty scripts and make exit on error
38447 (arguments): use GRUB_PARSER_TOKEN_ARG
38448 (function): likewise
38449 (command): move error handling to script
38450 (menuentry): move grub_script_lexer_ref before
38451 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
38452 argument. All callers updated
38453
38454 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38455
38456 Prevent GRUB from probing floppies during boot.
38457
38458 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38459 * commands/search.c (options): Add --no-floppy.
38460 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38461 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38462 --no-floppy when searching for UUIDs.
38463
38464 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38465
38466 Simplify the code duplication in commands/search.c.
38467
38468 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38469 (search_fs): ... this. Update all users.
38470
38471 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
38472
38473 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38474
38475 2009-05-28 Pavel Roskin <proski@gnu.org>
38476
38477 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38478 Remove the original symlink explicitly.
38479
38480 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38481 just one slash. That's how grub_fshelp_find_file() does it.
38482
38483 2009-05-26 Pavel Roskin <proski@gnu.org>
38484
38485 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38486 to `str'.
38487
38488 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38489 possibly unused.
38490
38491 2009-05-25 Christian Franke <franke@computer.org>
38492
38493 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38494 register.
38495 (grub_atapi_identify): Add wait after drive select.
38496 (grub_ata_identify): Do more strict status register check before
38497 calling grub_atapi_identify (). Suppress error message if status
38498 register is 0x00 after command failure. Add status register
38499 check after PIO read to avoid bogus identify due to stuck DRQ.
38500 Thanks to Pavel Roskin for testing.
38501 (grub_device_initialize): Remove unsafe status register check.
38502 Thanks to 'phcoder' for problem report and patch.
38503 Prevent sign extension in debug message.
38504
38505 2009-05-23 Colin D Bennett <colin@gibibit.com>
38506
38507 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38508 definition file, and functions defined in `normal/menu.c' have had
38509 their prototypes moved to `include/grub/menu.h' for consistency.
38510
38511 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38512 from normal.h.
38513 (grub_menu_get_entry): Likewise.
38514 (grub_menu_get_timeout): Likewise.
38515 (grub_menu_set_timeout): Likewise.
38516 (grub_menu_execute_entry): Likewise.
38517 (grub_menu_execute_with_fallback): Likewise.
38518 (grub_menu_entry_run): Likewise.
38519
38520 * include/grub/normal.h: Re-ordered and grouped function
38521 prototypes by file that the function is defined in.
38522 (grub_menu_execute_callback): Removed; moved to menu.h.
38523 (grub_menu_get_entry): Likewise.
38524 (grub_menu_get_timeout): Likewise.
38525 (grub_menu_set_timeout): Likewise.
38526 (grub_menu_execute_entry): Likewise.
38527 (grub_menu_execute_with_fallback): Likewise.
38528 (grub_menu_entry_run): Likewise.
38529 (grub_menu_addentry): Renamed from this ...
38530 (grub_normal_add_menu_entry): ... to this.
38531
38532 * normal/main.c (grub_menu_addentry): Renamed from this ...
38533 (grub_normal_add_menu_entry): ... to this.
38534
38535 * script/sh/execute.c (grub_script_execute_menuentry): Update
38536 reference to renamed grub_menu_addentry function.
38537
38538 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
38539
38540 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38541
38542 2009-05-22 Pavel Roskin <proski@gnu.org>
38543
38544 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38545 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38546 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38547 compiling for the i386 targets, but not for the utilities.
38548
38549 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38550 to grub_uint8_t.
38551 (grub_root_drive): Likewise.
38552 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38553 remove alignment.
38554 (grub_root_drive): Change size to byte.
38555 (grub_start_addr): Remove.
38556 (grub_end_addr): Likewise.
38557 (grub_apm_bios_info): Likewise.
38558
38559 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
38560
38561 * normal/i386: Remove.
38562 * normal/powerpc: Likewise.
38563 * normal/sparc64: Likewise.
38564 * normal/x86_64: Likewise.
38565
38566 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38567
38568 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
38569 * loader/i386/linux_trampoline.S: Fix indentation
38570 * loader/i386/xnu_helper.S: Likewise
38571
38572 2009-05-18 Colin D Bennett <colin@gibibit.com>
38573
38574 Display error messages when parsing a Lua statement fails.
38575 Previously, executing a syntactically invalid statement like
38576 ")foo" or "bar;" would silently fail.
38577
38578 * script/lua/grub_main.c (handle_lua_error): New function.
38579 (grub_lua_parse_line): Improved reporting of Lua parser and
38580 execution errors.
38581
38582 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38583
38584 Remove -Werror which causes build to fail on some systems
38585
38586 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38587 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38588 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
38589
38590 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38591
38592 trampoline for linux on 64-bit platform
38593
38594 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38595 loader/i386/efi/linux_trampoline.S
38596 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
38597 declaration
38598 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38599 here
38600 * loader/i386/linux_trampoline.S: moved here
38601 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38602 trampoline
38603 (jumpvector): removed
38604 (grub_linux_trampoline_start): new declaration
38605 (grub_linux_trampoline_end): likewise
38606 (grub_linux_boot): use trampoline when on 64-bit platform
38607 * loader/i386/linux.c: likewise
38608
38609 2009-05-16 Pavel Roskin <proski@gnu.org>
38610
38611 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38612 const to avoid a warning.
38613 (grub_lua_setenv): Likewise.
38614 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38615 lmsg to fix a warning.
38616
38617 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38618
38619 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
38620 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38621 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38622 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38623 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38624 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38625 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38626 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38627
38628 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38629
38630 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38631
38632 2009-05-16 Bean <bean123ch@gmail.com>
38633
38634 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38635 (lua_mod_SOURCES): New variable.
38636 (lua_mod_CFLAGS): Likewise.
38637 (lua_mod_LDFLAGS): Likewise.
38638
38639 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38640 (setjmp_mod_SOURCES): New variable.
38641 (setjmp_mod_CFLAGS): Likewise.
38642 (setjmp_LDFLAGS): Likewise.
38643
38644 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38645 (setjmp_mod_SOURCES): New variable.
38646 (setjmp_mod_CFLAGS): Likewise.
38647 (setjmp_LDFLAGS): Likewise.
38648
38649 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38650 (setjmp_mod_SOURCES): New variable.
38651 (setjmp_mod_CFLAGS): Likewise.
38652 (setjmp_LDFLAGS): Likewise.
38653
38654 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38655 (setjmp_mod_SOURCES): New variable.
38656 (setjmp_mod_CFLAGS): Likewise.
38657 (setjmp_LDFLAGS): Likewise.
38658
38659 * normal/i386/setjmp.S: Moved from here ...
38660 * lib/i386/setjmp.S: ... Moved here
38661 * normal/x86_64/setjmp.S: Moved from here ...
38662 * lib/x86_64/setjmp.S: ... Moved here
38663 * normal/powerpc/setjmp.S: Moved from here ...
38664 * lib/powerpc/setjmp.S: ... Moved here
38665 * normal/sparc64/setjmp.S: Moved from here ...
38666 * lib/sparc64/setjmp.S: ... Moved here
38667
38668 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38669 returns_twice in mingw.
38670
38671 * script/lua/grub_lib.c: New file.
38672 * script/lua/grub_lib.h: Likewise.
38673 * script/lua/grub_lua.h: Likewise.
38674 * script/lua/grub_main.c: Likewise.
38675 * script/lua/lapi.c: Likewise.
38676 * script/lua/lapi.h: Likewise.
38677 * script/lua/lauxlib.c: Likewise.
38678 * script/lua/lauxlib.h: Likewise.
38679 * script/lua/lbaselib.c: Likewise.
38680 * script/lua/lcode.c: Likewise.
38681 * script/lua/lcode.h: Likewise.
38682 * script/lua/ldblib.c: Likewise.
38683 * script/lua/ldebug.c: Likewise.
38684 * script/lua/ldebug.h: Likewise.
38685 * script/lua/ldo.c: Likewise.
38686 * script/lua/ldo.h: Likewise.
38687 * script/lua/ldump.c: Likewise.
38688 * script/lua/lfunc.c: Likewise.
38689 * script/lua/lfunc.h: Likewise.
38690 * script/lua/lgc.c: Likewise.
38691 * script/lua/lgc.h: Likewise.
38692 * script/lua/linit.c: Likewise.
38693 * script/lua/liolib.c: Likewise.
38694 * script/lua/llex.c: Likewise.
38695 * script/lua/llex.h: Likewise.
38696 * script/lua/llimits.h: Likewise.
38697 * script/lua/lmathlib.c: Likewise.
38698 * script/lua/lmem.c: Likewise.
38699 * script/lua/lmem.h: Likewise.
38700 * script/lua/loadlib.c: Likewise.
38701 * script/lua/lobject.c: Likewise.
38702 * script/lua/lobject.h: Likewise.
38703 * script/lua/lopcodes.c: Likewise.
38704 * script/lua/lopcodes.h: Likewise.
38705 * script/lua/loslib.c: Likewise.
38706 * script/lua/lparser.c: Likewise.
38707 * script/lua/lparser.h: Likewise.
38708 * script/lua/lstate.c: Likewise.
38709 * script/lua/lstate.h: Likewise.
38710 * script/lua/lstring.c: Likewise.
38711 * script/lua/lstring.h: Likewise.
38712 * script/lua/lstrlib.c: Likewise.
38713 * script/lua/ltable.c: Likewise.
38714 * script/lua/ltable.h: Likewise.
38715 * script/lua/ltablib.c: Likewise.
38716 * script/lua/ltm.c: Likewise.
38717 * script/lua/ltm.h: Likewise.
38718 * script/lua/lua.h: Likewise.
38719 * script/lua/luaconf.h: Likewise.
38720 * script/lua/lualib.h: Likewise.
38721 * script/lua/lundump.c: Likewise.
38722 * script/lua/lundump.h: Likewise.
38723 * script/lua/lvm.c: Likewise.
38724 * script/lua/lvm.h: Likewise.
38725 * script/lua/lzio.c: Likewise.
38726 * script/lua/lzio.h: Likewise.
38727
38728 2009-05-16 Bean <bean123ch@gmail.com>
38729
38730 * include/grub/kernel.h (grub_module_header_types): Add type
38731 OBJ_TYPE_CONFIG.
38732
38733 * kern/main.c (grub_load_config): New function.
38734 (grub_main): Call grub_load_config to read boot config.
38735
38736 * grub-mkimage (generate_image): New parameter config_path.
38737 (options): New option --config.
38738 (main): Parse --config option, and pass it to generate_image.
38739
38740 2009-05-14 Christian Franke <franke@computer.org>
38741
38742 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38743 This fixes build on Cygwin.
38744
38745 2009-05-14 Pavel Roskin <proski@gnu.org>
38746
38747 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38748 jump. This saves two bytes, so the typical case of 2 swapped
38749 drives would fit 32 bytes.
38750
38751 2009-05-13 Pavel Roskin <proski@gnu.org>
38752
38753 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38754 grub_uint32_t to avoid a warning.
38755
38756 * loader/i386/linux.c (allocate_pages): When assigning
38757 real_mode_mem, cast through grub_size_t to fix a warning. The
38758 code already makes sure that the value would fit a pointer.
38759 (grub_linux_setup_video): Cast render_target->data to
38760 grub_size_t to fix a warning.
38761
38762 2009-05-13 Javier Martín <lordhabbit@gmail.com>
38763
38764 * commands/i386/pc/drivemap.c: New file - implement drivemap
38765 command.
38766 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38767 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38768
38769 2009-05-13 Pavel Roskin <proski@gnu.org>
38770
38771 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38772 embedding_area_exists.
38773
38774 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38775
38776 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38777 it easier to understand / work with.
38778 Improve warning messages for cases where there's no embedding area,
38779 or when it is too small (or core.img too large).
38780
38781 2009-05-13 Pavel Roskin <proski@gnu.org>
38782
38783 * loader/i386/pc/multiboot2.c: Add necessary includes for
38784 grub_multiboot2_real_boot().
38785
38786 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38787 PX record is always little-endian. We only need the lower 2
38788 bytes of the mode.
38789
38790 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38791 facilitate code reuse.
38792 (grub_cpio_mount): Use "struct head", not a char buffer. This
38793 fixes a warning reported by gcc 4.4.
38794
38795 * kernel/disk.c (grub_disk_read): Use void pointer for the
38796 buffer.
38797 (grub_disk_write): Use const void pointer for the buffer.
38798 Adjust all callers. Remove unnecessary casts.
38799
38800 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38801
38802 * util/i386/pc/grub-install.in: Update copyright year.
38803
38804 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38805
38806 gptsync
38807
38808 * commands/gptsync.c: new file
38809 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38810 (gptsync_mod_SOURCES): new variable
38811 (gptsync_mod_CFLAGS): likewise
38812 (gptsync_mod_LDFLAGS): likewise
38813 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
38814 new definition
38815 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38816 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38817 * conf/i386-ieee1275.rmk: likewise
38818 * conf/i386-pc.rmk: likewise
38819 * conf/powerpc-ieee1275.rmk: likewise
38820
38821 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38822
38823 Fixed grub-emu
38824
38825 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38826 (grub_dl_ref): likewise
38827
38828 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38829
38830 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38831 split in two functions (one for msdos and one for gpt).
38832
38833 2009-05-08 Pavel Roskin <proski@gnu.org>
38834
38835 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38836 not modified.
38837
38838 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38839 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38840 Initialize them with -1. Add sanity check for bad1. Eliminate
38841 nerr variable.
38842
38843 2009-05-08 David S. Miller <davem@davemloft.net>
38844
38845 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38846
38847 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38848
38849 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
38850 existence.
38851
38852 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
38853
38854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38855 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
38856
38857 2009-05-05 David S. Miller <davem@davemloft.net>
38858
38859 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38860
38861 2009-05-05 Pavel Roskin <proski@gnu.org>
38862
38863 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38864 of grub_dl_ref() and grub_dl_unref().
38865 * commands/parttool.c: Remove preprocessor conditionals around
38866 grub_dl_ref() and grub_dl_unref().
38867 * fs/affs.c: Likewise.
38868 * fs/afs.c: Likewise.
38869 * fs/cpio.c: Likewise.
38870 * fs/ext2.c: Likewise.
38871 * fs/fat.c: Likewise.
38872 * fs/hfs.c: Likewise.
38873 * fs/hfsplus.c: Likewise.
38874 * fs/iso9660.c: Likewise.
38875 * fs/jfs.c: Likewise.
38876 * fs/minix.c: Likewise.
38877 * fs/ntfs.c: Likewise.
38878 * fs/reiserfs.c: Likewise.
38879 * fs/sfs.c: Likewise.
38880 * fs/udf.c: Likewise.
38881 * fs/ufs.c: Likewise.
38882 * fs/xfs.c: Likewise.
38883 * include/grub/dl.h: Likewise.
38884 * loader/xnu.c: Likewise.
38885
38886 2009-05-04 Pavel Roskin <proski@gnu.org>
38887
38888 * commands/acpi.c: Remove unused variable my_mod.
38889 * partmap/amiga.c: Likewise.
38890 * partmap/apple.c: Likewise.
38891 * partmap/gpt.c: Likewise.
38892 * partmap/pc.c: Likewise.
38893 * partmap/sun.c: Likewise.
38894 * term/gfxterm.c: Likewise.
38895 * term/i386/pc/vesafb.c: Likewise.
38896 * term/i386/pc/vga.c: Likewise.
38897
38898 2009-05-04 David S. Miller <davem@davemloft.net>
38899
38900 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38901 pointer args to grub_ieee1275_get_property().
38902
38903 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38904
38905 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38906 devices, and do not traverse down under controller nodes.
38907
38908 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38909 (grub_ofdisk_open): Use it to un-escape "," characters.
38910 * kern/disk.c (find_part_sep): New.
38911 (grub_disk_open): Use it to find the first non-escaped ','
38912 character in the disk name.
38913 * util/ieee1275/devicemap.c (escape_of_path): New.
38914 (grub_util_emit_devicemap_entry): Use it.
38915 * util/sparc64/ieee1275/grub-install.in: Update script to
38916 strip partition specifiers properly by not triggering on
38917 '\' escaped ',' characters.
38918
38919 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38920
38921 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38922 to 0x300.
38923 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38924 resolutions.
38925 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38926 on documentation from Wikipedia).
38927
38928 2009-05-04 Pavel Roskin <proski@gnu.org>
38929
38930 * disk/ata.c: Spelling fixes.
38931 * disk/raid.c: Likewise.
38932 * disk/usbms.c: Likewise.
38933 * disk/dmraid_nvidia.c: Likewise.
38934 * kern/ieee1275/openfw.c: Likewise.
38935 * kern/ieee1275/init.c: Likewise.
38936 * kern/ieee1275/cmain.c: Likewise.
38937 * boot/i386/pc/cdboot.S: Likewise.
38938 * video/readers/png.c: Likewise.
38939 * video/i386/pc/vbe.c: Likewise.
38940 * fs/udf.c: Likewise.
38941 * fs/hfs.c: Likewise.
38942 * fs/reiserfs.c: Likewise.
38943 * efiemu/runtime/efiemu.c: Likewise.
38944 * efiemu/main.c: Likewise.
38945 * efiemu/mm.c: Likewise.
38946 * include/grub/elf.h: Likewise.
38947 * include/grub/xnu.h: Likewise.
38948 * include/grub/usbdesc.h: Likewise.
38949 * include/grub/usb.h: Likewise.
38950 * include/grub/script_sh.h: Likewise.
38951 * include/grub/lib/LzmaEnc.h: Likewise.
38952 * include/grub/efiemu/efiemu.h: Likewise.
38953 * include/grub/command.h: Likewise.
38954 * normal/menu.c: Likewise.
38955 * normal/main.c: Likewise.
38956 * normal/datetime.c: Likewise.
38957 * bus/usb/uhci.c: Likewise.
38958 * mmap/i386/uppermem.c: Likewise.
38959 * mmap/mmap.c: Likewise.
38960 * commands/acpi.c: Likewise.
38961 * commands/test.c: Likewise.
38962 * partmap/apple.c: Likewise.
38963 * font/font.c: Likewise.
38964 * loader/sparc64/ieee1275/linux.c: Likewise.
38965 * loader/macho.c: Likewise.
38966 * loader/i386/bsd_trampoline.S: Likewise.
38967 * loader/i386/bsd.c: Likewise.
38968 * loader/xnu.c: Likewise.
38969 * term/i386/pc/vesafb.c: Likewise.
38970 * term/usb_keyboard.c: Likewise.
38971 * util/resolve.c: Likewise.
38972 * util/getroot.c: Likewise.
38973
38974 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38975
38976 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38977
38978 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38979
38980 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38981 build error.
38982
38983 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38984
38985 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38986 parameter only available on BIOS.
38987
38988 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38989
38990 Removed wrong semicolon in declaration
38991
38992 * grub/misc.h (grub_dprintf): remove semicolon
38993
38994 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38995
38996 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38997 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38998 is done by grub_cmd_linux() now).
38999 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
39000 restore video to text mode.
39001 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
39002 indicates lack of "vga=" parameter. "vga=0" is mapped to
39003 `GRUB_LINUX_VID_MODE_NORMAL'.
39004
39005 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
39006
39007 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
39008 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
39009 and `normal/script.c'. Add `kern/rescue_reader.c',
39010 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
39011 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
39012 `grub_script.tab.c'.
39013
39014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39015 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39017 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39018 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39019
39020 * Makefile.in: Remove duplicated 2008 in Copyright line.
39021
39022 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
39023
39024 * util/misc.c (grub_util_warn): New function. Emits a warning
39025 unconditionally.
39026 * include/grub/util/misc.h (grub_util_warn): New declaration.
39027
39028 * util/i386/pc/grub-install.in: Understand --force and pass it down
39029 to grub-setup.
39030
39031 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
39032 down to setup().
39033 (setup): Improve error messages and add warnings when requested to
39034 install in odd layouts. Refuse to install using blocklists unless
39035 --force was set.
39036
39037 2009-05-04 martin f. krafft <madduck@madduck.net>
39038
39039 * disk/raid.c (grub_raid_scan_device): Improve debug message.
39040
39041 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
39042
39043 Updated copyright year
39044
39045 * fs/hfsplus.c: updated copyright year
39046
39047 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
39048
39049 HFS+ UUID
39050
39051 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
39052 in the space previously used by unused3
39053 (grub_hfsplus_uuid): new function
39054 (grub_hfsplus_fs): added uuid field
39055
39056 2009-05-03 Pavel Roskin <proski@gnu.org>
39057
39058 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
39059 suppress warnings. It's no longer needed.
39060 * disk/host.c: Likewise.
39061 * disk/ata_pthru.c: Likewise.
39062 * disk/loopback.c: Likewise.
39063 * hook/datehook.c: Likewise.
39064 * parttool/pcpart.c: Likewise.
39065 * fs/i386/pc/pxe.c: Likewise.
39066 * fs/ntfscomp.c: Likewise.
39067 * efiemu/main.c: Likewise.
39068 * mmap/mmap.c: Likewise.
39069 * commands/crc.c: Likewise.
39070 * commands/hexdump.c: Likewise.
39071 * commands/hdparm.c: Likewise.
39072 * commands/acpi.c: Likewise.
39073 * commands/echo.c: Likewise.
39074 * commands/minicmd.c: Likewise.
39075 * commands/blocklist.c: Likewise.
39076 * commands/memrw.c: Likewise.
39077 * commands/loadenv.c: Likewise.
39078 * commands/usbtest.c: Likewise.
39079 * commands/lsmmap.c: Likewise.
39080 * commands/boot.c: Likewise.
39081 * commands/parttool.c: Likewise.
39082 * commands/configfile.c: Likewise.
39083 * commands/search.c: Likewise.
39084 * commands/ieee1275/suspend.c: Likewise.
39085 * commands/cat.c: Likewise.
39086 * commands/i386/pc/pxecmd.c: Likewise.
39087 * commands/i386/pc/play.c: Likewise.
39088 * commands/i386/pc/halt.c: Likewise.
39089 * commands/i386/pc/vbeinfo.c: Likewise.
39090 * commands/i386/pc/vbetest.c: Likewise.
39091 * commands/lspci.c: Likewise.
39092 * commands/date.c: Likewise.
39093 * commands/handler.c: Likewise.
39094 * commands/ls.c: Likewise.
39095 * commands/test.c: Likewise.
39096 * commands/cmp.c: Likewise.
39097 * commands/efi/loadbios.c: Likewise.
39098 * commands/efi/fixvideo.c: Likewise.
39099 * commands/halt.c: Likewise.
39100 * commands/help.c: Likewise.
39101 * commands/reboot.c: Likewise.
39102 * hello/hello.c: Likewise.
39103 * script/sh/main.c: Likewise.
39104 * loader/xnu.c: Likewise.
39105 * term/terminfo.c: Likewise.
39106 * term/i386/pc/serial.c: Likewise.
39107 * term/usb_keyboard.c: Likewise.
39108
39109 2009-05-03 David S. Miller <davem@davemloft.net>
39110
39111 * normal/menu.c: Include grub/parser.h
39112
39113 2009-05-03 Pavel Roskin <proski@gnu.org>
39114
39115 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
39116 not char*.
39117 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
39118 Suggested by Javier Martín <lordhabbit@gmail.com>
39119
39120 * util/i386/pc/grub-mkrescue.in: Allow for the case when
39121 efiemu??.o doesn't exist.
39122 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
39123 copying.
39124
39125 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
39126
39127 FreeBSD 64-bit support
39128
39129 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
39130 and loader/i386/bsd_trampoline.S
39131 (bsd_mod_ASFLAGS): new variable
39132 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
39133 (FREEBSD_MODTYPE_KERNEL64): likewise
39134 (grub_bsd64_trampoline_start): likewise
39135 (grub_bsd64_trampoline_end): likewise
39136 (grub_bsd64_trampoline_selfjump): likewise
39137 (grub_bsd64_trampoline_gdt): likewise
39138 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
39139 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
39140 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
39141 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
39142 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
39143 of "attrib" member
39144 * loader/i386/bsd_pagetable.c: new file
39145 * loader/i386/bsd_trampoline.S: likewise
39146 * loader/i386/bsd.c (ALIGN_QWORD): new macro
39147 (ALIGN_VAR): likewise
39148 (entry_hi): new variable
39149 (kern_end_mdofs): likewise
39150 (is_64bit): likewise
39151 (grub_freebsd_add_meta): use ALIGN_VAR
39152 (grub_e820_mmap): new declaration
39153 (grub_freebsd_add_mmap): new function
39154 (grub_freebsd_add_meta_module): support 64 bit kernels
39155 (grub_freebsd_list_modules): use ALIGN_VAR
39156 (gdt_descriptor): new declaration
39157 (grub_freebsd_boot): support 64 bit kernels
39158 (grub_bsd_elf64_hook): new function
39159 (grub_bsd_load_elf): support elf64
39160
39161 2009-05-03 Bean <bean123ch@gmail.com>
39162
39163 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
39164 after we get the result of if statement.
39165
39166 2009-05-03 Bean <bean123ch@gmail.com>
39167
39168 * Makefile.in (enable_efiemu): New variable.
39169
39170 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
39171 set.
39172 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
39173 path.
39174 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
39175 path, add -mno-red-zone option.
39176 (efiemu64_s.o): Likewise.
39177 (efiemu64.o): Use macro $^ for source file.
39178
39179 * configure.ac (--enable-efiemu): New option.
39180
39181 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
39182
39183 xnu support
39184
39185 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
39186 (pkglib_MODULES): add xnu.mod
39187 (xnu_mod_SOURCES): new variable
39188 (xnu_mod_CFLAGS): likewise
39189 (xnu_mod_LDFLAGS): likewise
39190 (xnu_mod_ASFLAGS): likewise
39191 * conf/i386-pc.rmk: likewise
39192 * conf/x86_64-efi.rmk: likewise
39193 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
39194 new declaration
39195 * include/grub/i386/macho.h: new file
39196 * include/grub/i386/xnu.h: likewise
39197 * include/grub/macho.h: likewise
39198 * include/grub/machoload.h: likewise
39199 * include/grub/x86_64/macho.h: likewise
39200 * include/grub/x86_64/xnu.h: likewise
39201 * include/grub/xnu.h: likewise
39202 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
39203 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
39204 * loader/i386/efi/xnu.c: new file
39205 * loader/i386/pc/xnu.c: likewise
39206 * loader/i386/xnu.c: likewise
39207 * loader/i386/xnu_helper.S: likewise
39208 * loader/macho.c: likewise
39209 * loader/xnu.c: likewise
39210 * loader/xnu_resume.c: likewise
39211 * util/grub-dumpdevtree: likewise
39212 * include/grub/i386/pit.h: include grub/err.h
39213 (grub_pit_wait): export
39214 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
39215
39216 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39217
39218 Efiemu
39219
39220 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
39221 _linux_efi, linux_efi.
39222 new files in grub-emu
39223 new targets efiemu32.o and efiemu64.o
39224 * loader/linux_normal_efiemu.c: likewise
39225 * loader/i386/efi/linux.c: added preliminary efiemu support
39226 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
39227 files to copy
39228 * include/grub/autoefi.h: new file
39229 * include/grub/i386/efiemu.h: likewise
39230 * include/grub/i386/pc/efiemu.h: likewise
39231 * include/grub/efi/api.h: add LL suffix when necessary
39232 new definitions relating to tables
39233 * include/grub/efiemu/efiemu.h: new file
39234 * include/grub/efiemu/runtime.h: likewise
39235 * efiemu/prepare.c: likewise
39236 * efiemu/loadcore_common.c: likewise
39237 * efiemu/loadcore64.c: likewise
39238 * efiemu/runtime/efiemu.sh: likewise
39239 * efiemu/runtime/efiemu.S: likewise
39240 * efiemu/runtime/efiemu.c: likewise
39241 * efiemu/runtime/config.h: likewise
39242 * efiemu/prepare32.c: likewise
39243 * efiemu/main.c: likewise
39244 * efiemu/modules/pnvram.c: likewise
39245 * efiemu/modules/i386: likewise
39246 * efiemu/modules/i386/pc: likewise
39247 * efiemu/modules/acpi.c: likewise
39248 * efiemu/i386/pc/cfgtables.c: likewise
39249 * efiemu/i386/loadcore64.c: likewise
39250 * efiemu/i386/loadcore32.c: likewise
39251 * efiemu/prepare64.c: likewise
39252 * efiemu/loadcore.c: likewise
39253 * efiemu/symbols.c: likewise
39254 * efiemu/mm.c: likewise
39255 * efiemu/loadcore32.c: likewise
39256
39257 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39258
39259 ACPI spoofing
39260
39261 * commands/acpi.c: new file
39262 * commands/i386/pc/acpi.c: likewise
39263 * commands/efi/acpi.c: likewise
39264 * include/grub/acpi.h: likewise
39265 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
39266 (acpi_mod_SOURCES): new variable
39267 (acpi_mod_CFLAGS): likewise
39268 (acpi_mod_LDFLAGS): likewise
39269 * conf/i386-efi.rmk: likewise
39270 * conf/x86_64-efi.rmk: likewise
39271
39272 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39273
39274 Missing part from mmap patch
39275
39276 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
39277 (grub_mmap_unregister)
39278 (grub_mmap_free_and_unregister): use grub_mmap_register
39279
39280 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39281
39282 Mmap services
39283
39284 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
39285 * loader/i386/linux.c (find_mmap_size): likewise
39286 (allocate_pages): likewise
39287 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
39288 (grub_fill_multiboot_mmap): likewise
39289 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
39290 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
39291 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
39292 (OPENBSD_MMAP_RESERVED): likewise
39293 * include/grub/i386/pc/memory.h: include grub/memory.h
39294 (grub_lower_mem): removed
39295 (grub_upper_mem): likewise
39296 (GRUB_MACHINE_MEMORY_ACPI): new definition
39297 (GRUB_MACHINE_MEMORY_NVS): likewise
39298 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
39299 (GRUB_MACHINE_MEMORY_HOLE): likewise
39300 (grub_machine_mmap_register): likewise
39301 (grub_machine_mmap_unregister): likewise
39302 (grub_machine_get_upper): likewise
39303 (grub_machine_get_lower): likewise
39304 (grub_machine_get_post64): likewise
39305 * include/grub/i386/efi/memory.h: new file
39306 * include/grub/x86_64/efi/memory.h: likewise
39307 * include/grub/efi/memory.h: likewise
39308 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
39309 (mmap_mod_SOURCES): new variable
39310 (mmap_mod_LDFLAGS): likewise
39311 (mmap_mod_ASFLAGS): likewise
39312 * conf/i386-coreboot.rmk: likewise
39313 * conf/i386-ieee1275.rmk: likewise
39314 * conf/i386-efi.rmk: likewise
39315 * conf/x86_64-efi.rmk: likewise
39316 * include/grub/types.h (UINT_TO_PTR): new macro
39317 (PTR_TO_UINT32): likewise
39318 (PTR_TO_UINT64): likewise
39319 * include/grub/memory.h: new file
39320 * mmap/i386/pc/mmap.c: likewise
39321 * mmap/i386/pc/mmap_helper.S: likewise
39322 * mmap/i386/uppermem.c: likewise
39323 * mmap/mmap.c: likewise
39324 * mmap/efi/mmap.c: likewise
39325 * kern/i386/coreboot/init.c (grub_machine_init): don't use
39326 grub_upper_mem
39327 * kern/i386/pc/init.c (grub_lower_mem): removed variable
39328 (grub_upper_mem): likewise
39329 (grub_machine_init): don't use grub_upper_mem,
39330 make grub_lower_mem local
39331 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
39332 grub_mmap_iterate and grub_mmap_get_upper
39333 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
39334
39335 2009-05-02 Bean <bean123ch@gmail.com>
39336
39337 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
39338 script/sh/parser.y.
39339 (pkglib_MODULES): Add normal.mod and sh.mod.
39340 (normal_SOURCES): New variable.
39341 (normal_mod_CFLAGS): Likewise.
39342 (normal_mod_LDFLAGS): Likewise.
39343 (sh_mod_SOURCES): Likewise.
39344 (sh_mod_CFLAGS): Likewise.
39345 (sh_mod_LDFLAGS): Likewise.
39346
39347 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
39348 script/sh/lexer.c_DEPENDENCIES.
39349 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
39350 kern/rescue_reader.c and kern/rescue_parser.c.
39351 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
39352 (grub_emu_SOURCES): Change source files.
39353 (pkglib_MODULES): Remove normal.mod.
39354 (normal_SOURCES): Removed.
39355 (normal_mod_CFLAGS): Likewise.
39356 (normal_mod_LDFLAGS): Likewise.
39357 * conf/i386-coreboot.rmk: Likewise.
39358 * conf/i386-efi.rmk: Likewise.
39359 * conf/i386-ieee1276.rmk: Likewise.
39360 * conf/powerpc-ieee1275.rmk: Likewise.
39361 * conf/sparc64-ieee1275.rmk: Likewise.
39362 * conf/x86_64-efi.rmk: Likewise.
39363
39364 * include/grub/command.h (grub_command_execute): New inline function.
39365
39366 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39367
39368 * include/grub/normal.h: Remove <grub/setjmp.h>.
39369 (grub_fs_module_list): Moved to normal/autofs.c.
39370 (grub_exit_env): Removed.
39371 (grub_command_execute): Likewise.
39372 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39373 parameter script.
39374 (read_command_list): New function declaration.
39375 (read_fs_list): Likewise.
39376
39377 * include/parser.h: Include <grub/reader.h>.
39378 (grub_parser_split_cmdline): Change type of getline parameter.
39379 (grub_parser): New structure.
39380 (grub_parser_class): New variable.
39381 (grub_parser_execute): New function declaration.
39382 (grub_register_rescue_parser): Likewise.
39383 (grub_parser_register): New inline function.
39384 (grub_parser_unregister): Likewise.
39385 (grub_parser_get_current): Likewise.
39386 (grub_parser_set_current): Likewise.
39387
39388 * include/grub/reader.h: New file.
39389 * kern/reader.c: Likewise.
39390 * kern/rescue_parser.c: Likewise.
39391 * kern/rescue_reader.c: Likewise.
39392 * normal/autofs.c: Likewise.
39393 * normal/dyncmd.c: Likewise.
39394
39395 * include/grub/rescue.h: Removed.
39396 * normal/command.h: Likewise.
39397
39398 * include/grub/script.h: Moved to ...
39399 * include/grub/script_sh.h: ... Moved here.
39400 * normal/execute.c: Moved to ...
39401 * script/sh/execute.c: ... Moved here.
39402 * normal/function.c: Moved to ...
39403 * script/sh/function.c: ... Moved here.
39404 * normal/lexer.c: Moved to ...
39405 * script/sh/lexer.c: ... Moved here.
39406 * normal/parser.y: Moved to ...
39407 * script/sh/parser.y: ... Moved here.
39408 * normal/script.c: Moved to ...
39409 * script/sh/script.c: ... Moved here.
39410
39411 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39412 <grub/reader.h>.
39413 (grub_exit_env): Removed.
39414 (fs_module_list): Moved to normal/autofs.c.
39415 (grub_file_getline): Don't handle comment here.
39416 (free_menu): Skip removed field entry->commands.
39417 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39418 script parameter.
39419 (read_config_file): Removed nested parameter, change getline function.
39420 (grub_enter_normal_mode): Removed.
39421 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39422 (read_command_list): Likewise.
39423 (autoload_fs_module): Moved to normal/autofs.c.
39424 (read_fs_list): Likewise.
39425 (reader_nested): New variable.
39426 (grub_normal_execute): Run parser.sh to switch to sh parser.
39427 (grub_cmd_rescue): Removed.
39428 (cmd_normal): Removed.
39429 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39430 rescue command.
39431 (grub_cmdline_run): New function.
39432 (grub_normal_reader_init): Likewise.
39433 (grub_normal_read_line): Likewise.
39434 (grub_env_write_pager): Likewise.
39435 (cmdline): New variable.
39436 (grub_normal_reader): Likewise.
39437 (GRUB_MOD_INIT): Register normal reader and set as current, register
39438 pager hook, register normal command with grub_register_command_prio,
39439 so that it won't show up in command.lst.
39440 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39441 grub_fs_autoload_hook.
39442
39443 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39444 (grub_menu_execute_entry): Replace grub_script_execute with
39445 grub_parser_execute, change parameter to grub_command_execute.
39446
39447 * normal/menu_text.c: Remove <grub/script.h>.
39448
39449 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39450 and <grub/parser.h>.
39451 (run): Change editor_getline to use new parser interface. Change
39452 parameter to grub_command_execute.
39453
39454 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39455 <grub/reader.h> and <grub/parser.h>.
39456 (grub_load_normal_mode): Execute normal command.
39457 (grub_main): Call grub_register_core_commands,
39458 grub_register_rescue_parser and grub_register_rescue_reader, use
39459 grub_reader_loop to enter input loop.
39460
39461 * kern/parser.c (grub_parser_split_cmdline): Change type of
39462 getline parameter.
39463 (grub_parser_class): New variable.
39464 (grub_parser_execute): New function.
39465
39466 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39467 * loader/multiboot2.c: Likewise.
39468 * loader/sparc64/ieee1275/linux.c: Likewise.
39469
39470 * util/grub-emu.c (read_command_list): New dummy function.
39471
39472 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39473
39474 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39475 count to 16 for CCISS and IDA.
39476
39477 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39478
39479 * normal/menu_text.c (grub_wait_after_message): Print a newline
39480 after waiting for user input.
39481
39482 * loader/i386/linux.c: Include `<grub/normal.h>'.
39483 (grub_cmd_linux): Improve the error message about `ask' mode, by
39484 waiting for user input so it's not missed (we can do this, since
39485 user requested interaction).
39486
39487 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39488
39489 Added missing lst to grub-mkrescue
39490
39491 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39492 and ${input_dir}/parttool.lst
39493
39494 2009-04-30 David S. Miller <davem@davemloft.net>
39495
39496 * util/hostdisk.c (device_is_wholedisk): New function.
39497 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39498 zero only if device_is_wholedisk() returns true.
39499
39500 * util/hostdisk.c (convert_system_partition_to_system_disk):
39501 Handle virtual disk devices named /dev/vdiskX as found on sparc
39502 and powerpc.
39503
39504 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39505 lettered partition specifier is found, convert to numbered.
39506
39507 2009-04-29 David S. Miller <davem@davemloft.net>
39508
39509 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39510 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39511
39512 * normal/command.c: Add missing newline at end of file.
39513
39514 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39515 warnings.
39516 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39517 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39518 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39519 ihandles have a 32-bit type but need to be stored in a "void *".
39520
39521 2009-04-28 Pavel Roskin <proski@gnu.org>
39522
39523 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39524 not disk. Adjust all dependencies.
39525 (grub_fs_uuid_close): Use grub_device_close(), not
39526 grub_disk_close().
39527
39528 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39529 parent's partition, don't copy it by reference, as it gets freed
39530 on close.
39531
39532 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39533
39534 Preboot hooks support
39535
39536 * commands/boot.c (struct grub_preboot_t): new declaration
39537 (preboots_head): new variable
39538 (preboots_tail): likewise
39539 (grub_loader_register_preboot_hook): new function
39540 (grub_loader_unregister_preboot_hook): likewise
39541 (grub_loader_set): launch preboot hooks
39542 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39543 (grub_loader_register_preboot_hook): new declaration
39544 (grub_loader_unregister_preboot_hook): likewise
39545
39546 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39547
39548 Warning fix
39549
39550 * disk/scsi.c (grub_scsi_open): added missing cast when
39551 calling grub_dprintf
39552
39553 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39554
39555 Bug and warning fixes
39556
39557 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
39558 declaration
39559 * commands/test.c (test_parse): fixed bug with file tests and corrected
39560 declaration of find_file
39561
39562 2009-04-26 Pavel Roskin <proski@gnu.org>
39563
39564 * Makefile.in: Don't install empty manual pages if help2man is
39565 missing. Use help2man option for output, not shell redirection.
39566
39567 2009-04-26 David S. Miller <davem@davemloft.net>
39568
39569 * util/grub-mkdevicemap.c (make_device_map): Add missing
39570 NESTED_FUNC_ATTR to process_device().
39571
39572 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39573
39574 Test command
39575
39576 * commands/test.c: rewritten to use bash-like test
39577
39578 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39579
39580 Parttool autoloading and improvements
39581
39582 * Makefile.in (pkglib_DATA): add parttool.lst
39583 (parttool.lst): new target
39584 * genmk.rb: generate parttool-*
39585 (CLEANFILES): add #{parttool}
39586 (PARTTOOLFILES): new variable
39587 * genparttoollist.sh: new file
39588 * parttool/pcpart.c (grub_pcpart_boot): more feedback
39589 (grub_pcpart_type): likewise
39590 * commands/parttool.c (helpmsg): new variable
39591 (grub_cmd_parttool): output help if not enough arguments are supplied
39592 autoload modules
39593 (GRUB_MOD_INIT(parttool)): use helpmsg
39594
39595 2009-04-24 David S. Miller <davem@davemloft.net>
39596
39597 Avoiding opening same device multiple times in device iterator.
39598
39599 * kern/device.c: (grub_device_iterate): Define struct part_ent,
39600 and use it to build a list of partitions in iterate_disk() and
39601 iterate_partition().
39602
39603 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39604 on disk->data.
39605
39606 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39607 grub_devalias_iterate() result instead of unconditional 0.
39608 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39609 Also, capture hook return value, either directly or via
39610 grub_children_iterate(), and propagate to caller.
39611 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39612 grub_children_iterate): Return value is now 'int' instead of
39613 'grub_err_t'.
39614 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39615 like a proper iterator, stopping when hooks return non-zero.
39616 (grub_devalias_iterate): Likewise.
39617
39618 2009-04-23 David S. Miller <davem@davemloft.net>
39619
39620 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39621
39622 2009-04-22 David S. Miller <davem@davemloft.net>
39623
39624 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39625 is larger than address_cells, use that value for address_cells too.
39626
39627 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39628 IEEE1275_MAX_PATH_LEN): Define.
39629 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39630 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39631 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39632 'devtype'. Explicitly NULL terminate devalias expansion.
39633
39634 * util/sparc64/ieee1275/misc.c: New file.
39635 * util/sparc64/ieee1275/grub-setup.c: New file.
39636 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39637 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39638 * util/sparc64/ieee1275/grub-install.in: New file.
39639 * util/ieee1275/ofpath.c: New file.
39640 * util/ieee1275/devicemap.c: New file.
39641 * util/devicemap.c: New file.
39642 * util/deviceiter.c: New file.
39643 * kern/sparc64/ieee1275/init.c: New file.
39644 * include/grub/util/ofpath.h: New file.
39645 * include/grub/util/deviceiter.h: New file.
39646 * util/grub-mkdevicemap.c: Include deviceiter.h.
39647 Implement using grub_util_emit_devicemap_entry and
39648 grub_util_iterate_devices.
39649 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39650 util/devicemap.c into grub-mkdevicemap
39651 * conf/i386-efi.rmk: Likewise.
39652 * conf/i386-ieee1275.rmk: Likewise.
39653 * conf/i386-pc.rmk: Likewise.
39654 * conf/powerpc-ieee1275.rmk: Likewise.
39655 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39656 images and installation utilities. Build kernel as image
39657 instead of as elf binary. Use common rules as much as possible.
39658
39659 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
39660
39661 Correct GPT definition
39662
39663 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
39664 of "attrib" member
39665
39666 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
39667
39668 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39669
39670 2009-04-19 David S. Miller <davem@davemloft.net>
39671
39672 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39673 (grub_rescue_cmd_linux): Rename to...
39674 (grub_cmd_linux): and fix prototype.
39675 (grub_rescue_cmd_initrd): Rename to...
39676 (grub_cmd_initrd): and fix prototype.
39677 (cmd_linux, cmd_initrd): New.
39678 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39679 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39680
39681 2009-04-17 Pavel Roskin <proski@gnu.org>
39682
39683 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39684 format.
39685 (grub_ohci_transfer): Likewise.
39686
39687 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39688
39689 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39690 return without a value. Fix inconsistent indentation.
39691
39692 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39693 match struct grub_fs.
39694
39695 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39696 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39697 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39698 * commands/lspci.c (grub_lspci_iter): Likewise.
39699
39700 2009-04-16 Bean <bean123ch@gmail.com>
39701
39702 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39703 value.
39704
39705 2009-04-15 Pavel Roskin <proski@gnu.org>
39706
39707 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39708 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39709 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39710 definitions.
39711
39712 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39713
39714 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
39715 that no multiple data or metadata areas are supported and `Unknown
39716 metadata header'.
39717
39718 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39719
39720 Move loader out of the kernel
39721
39722 * kern/loader.c: moved to ...
39723 * commands/boot.c: ... moved here
39724 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39725 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39726 * include/grub/kernel.h (grub_machine_fini): export
39727 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39728 (grub_loader_set): likewise
39729 (grub_loader_unset): likewise
39730 (grub_loader_boot): likewise
39731 * conf/common.rmk: new module boot.mod
39732 (pkglib_MODULES): add boot.mod
39733 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39734 (grub_emu_SOURCES): likewise
39735 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39736 (grub_emu_SOURCES): likewise
39737 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39738 (grub_emu_SOURCES): likewise
39739 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39740 (grub_emu_SOURCES): likewise
39741 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39742 (grub_emu_SOURCES): likewise
39743 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39744 (grub_emu_SOURCES): likewise
39745 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
39746 (grub_emu_SOURCES): likewise
39747
39748 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39749
39750 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
39751
39752 * kern/misc.c (grub_itoa): Removed function
39753 (grub_ltoa): likewise
39754 (grub_vsprintf): use grub_lltoa
39755
39756 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39757
39758 Restore grub-emu
39759
39760 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39761 * conf/i386-coreboot.rmk: likewise
39762 * conf/i386-ieee1275.rmk: likewise
39763 * conf/powerpc-ieee1275.rmk: likewise
39764
39765 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39766
39767 * INSTALL: Add that `./autogen.sh' needs to be run before
39768 `./configure.'.
39769
39770 2009-04-14 Bean <bean123ch@gmail.com>
39771
39772 * Makefile.in (pkglib_DATA): Add handler.lst.
39773 (handler.lst): New rule.
39774
39775 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39776 * conf/i386-coreboot.rmk: Likewise.
39777 * conf/i386-ieee1275.rmk: Likewise.
39778 * conf/i386-efi.rmk: Likewise.
39779 * conf/x86_64-efi.rmk: Likewise.
39780 * conf/powerpc-ieee1275.rmk: Likewise.
39781 * conf/sparc64-ieee1275.rmk: Likewise.
39782
39783 * genhandlerlist.sh: New file.
39784
39785 * genmk.rb: Add rules to generate handler.lst.
39786
39787 * include/grub/normal.h (grub_file_getline): New function definition.
39788 (read_handler_list): Likewise.
39789 (free_handler_list): Likewise.
39790
39791 * include/grub/term.h (grub_term_register_input): Add name parameter
39792 for auto generation of handler.lst.
39793 (grub_term_register_output): Likewise.
39794
39795 * normal/handler.c: New file.
39796
39797 * normal/main.c (get_line): Renamed to grub_file_getline.
39798 (read_config_file): Use the newly renamed grub_file_getline.
39799 (read_command_list): Likewise.
39800 (read_fs_list): Likewise.
39801 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39802 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39803
39804 * term/efi/console.c (grub_console_init): Add name parameter for auto
39805 generation of handler.lst.
39806 * term/gfxterm.c: Likewise.
39807 * term/i386/pc/at_keyboard.c: Likewise.
39808 * term/i386/pc/console.c: Likewise.
39809 * term/i386/pc/serial.c: Likewise.
39810 * term/i386/pc/vesafb.c: Likewise.
39811 * term/i386/pc/vga.c: Likewise.
39812 * term/i386/pc/vga_text.c: Likewise.
39813 * term/ieee1275/ofconsole.c: Likewise.
39814 * term/usb_keyboard.c: Likewise.
39815
39816 2009-04-14 Bean <bean123ch@gmail.com>
39817
39818 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39819 properly with null character.
39820
39821 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39822
39823 * configure: Remove.
39824 * config.h.in: Likewise.
39825 * stamp-h.in: Likewise.
39826 * DISTLIST: Likewise.
39827 * conf/common.mk: Likewise.
39828 * conf/i386-coreboot.mk: Likewise.
39829 * conf/i386-efi.mk: Likewise.
39830 * conf/i386-ieee1275.mk: Likewise.
39831 * conf/i386.mk: Likewise.
39832 * conf/i386-pc.mk: Likewise.
39833 * conf/powerpc-ieee1275.mk: Likewise.
39834 * conf/sparc64-ieee1275.mk: Likewise.
39835 * conf/x86_64-efi.mk: Likewise.
39836
39837 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39838 develop on GRUB.
39839
39840 2009-04-14 John Stanley <jpsinthemix@verizon.net>
39841 David S. Miller <davem@davemloft.net>
39842
39843 * util/hostdisk.c (make_device_name): Fix buffer length
39844 calculations.
39845
39846 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39847
39848 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39849 <sys/param.h> and <sys/sysctl.h>.
39850 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39851 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39852 opening the device and reset them afterwards.
39853
39854 2009-04-13 Pavel Roskin <proski@gnu.org>
39855
39856 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39857 Reported by John Stanley <jpsinthemix@verizon.net>
39858
39859 2009-04-13 Robert Millan <rmh@aybabtu.com>
39860
39861 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
39862 that name for menuentries when appropriate.
39863
39864 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39865
39866 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39867
39868 2009-04-13 Robert Millan <rmh@aybabtu.com>
39869
39870 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39871 to Linux, simply abort telling the user it's no longer supported.
39872
39873 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39874
39875 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
39876 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
39877 `freebsd_loadenv' only when devices.hints exist.
39878
39879 2009-04-13 Pavel Roskin <proski@gnu.org>
39880
39881 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39882
39883 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39884
39885 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39886 partition number.
39887 (grub_drive): Likewise.
39888
39889 2009-04-13 David S. Miller <davem@davemloft.net>
39890
39891 * kern/sparc64/ieee1275/ieee1275.c: New file.
39892 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39893 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39894 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39895 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39896 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39897 grub_ieee1275_alloc_physmem): Declare new exported functions.
39898
39899 * include/grub/sparc64/ieee1275/loader.h: New file.
39900 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39901 * include/grub/sparc64/kernel.h: Likewise.
39902 * loader/sparc64/ieee1275/linux.c: Likewise.
39903
39904 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39905 (grub_fstest_SOURCES): Likewise.
39906
39907 * util/hostdisk.c (make_device_name): Do not make any assumptions
39908 about the length of drive names.
39909
39910 * kern/dl.c (grub_dl_load_file): Close file immediately when
39911 we are done using it.
39912
39913 2009-04-12 David S. Miller <davem@davemloft.net>
39914
39915 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39916 values. Noticed by Pavel Roskin.
39917
39918 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39919 target compiler.
39920
39921 * genmk.rb: Add more flexible image type specification, also
39922 pass --strip-unneeded to objcopy.
39923 * conf/i386-pc.rmk: Use *_FORMAT.
39924 * conf/i386-pc.mk: Rebuilt.
39925
39926 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39927 (OFDISK_HASH_SZ): Define.
39928 (ofdisk_hash): New hash table.
39929 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39930 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39931 instead of device phandle which is not unique.
39932
39933 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39934 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39935 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39936 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39937 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39938 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39939 GRUB_KERNEL_MACHINE_DATA_END): Define.
39940 (grub_kernel_image_size, grub_total_module_size): Declare.
39941
39942 2009-04-12 Pavel Roskin <proski@gnu.org>
39943
39944 * configure.ac: Change the logic when we check for target tools.
39945 Do it when the target is specified and it's different from the
39946 specified value of the host.
39947
39948 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
39949
39950 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39951 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39952 GNU/kFreeBSD. Check if a device is a character device. Use
39953 DIOCGMEDIASIZE to get the size.
39954 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39955 support for GNU/kFreeBSD.
39956 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39957 is a character device instead of a block device. Add support for
39958 FreeBSD device names.
39959
39960 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39961 is a character device instead of a block device.
39962
39963 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39964 is a character device instead of a block device.
39965
39966 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39967
39968 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39969 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39970 FreeBSD. Check if a device is a character device. Use
39971 DIOCGMEDIASIZE to get the size.
39972 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39973 support for FreeBSD.
39974 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39975 is a character device instead of a block device. Add support for
39976 FreeBSD device names.
39977
39978 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39979 a character device instead of a block device.
39980 (grub_util_check_char_device): New function.
39981
39982 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39983 a character device instead of a block device.
39984
39985 * include/grub/util/getroot.h (grub_util_check_char_device): New
39986 prototype.
39987
39988 2009-04-11 David S. Miller <davem@davemloft.net>
39989
39990 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39991 static libgcc.
39992 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39993 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39994 function, if present.
39995 (__bswapdi2): Likewise.
39996
39997 * include/grub/sparc64/ieee1275/boot.h: New file.
39998 * boot/sparc64/ieee1275/boot.S: Likewise.
39999 * boot/sparc64/ieee1275/diskboot.S: Likewise.
40000
40001 * kern/misc.c (grub_ltoa): New function.
40002 (grub_vsprintf): Use it to format 'long' integers.
40003
40004 2009-04-10 David S. Miller <davem@davemloft.net>
40005
40006 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
40007 slots are of type grub_ieee1275_cell_t.
40008 (grub_nand_read): Likewise.
40009 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
40010 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
40011 macros are used to compare values in arg/ret block of the call.
40012 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40013 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
40014 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
40015 grub_ieee1275_instance_to_path, grub_ieee1275_write,
40016 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
40017 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
40018 grub_ieee1275_close, grub_ieee1275_set_property,
40019 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
40020 grub_ieee1275_cell_t.
40021 * kern/ieee1275/openfw.c (grub_map): Likewise.
40022 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
40023 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
40024
40025 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
40026 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
40027 (grub_devalias_iterate): Likewise.
40028
40029 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
40030
40031 UFS improvements
40032
40033 * fs/ufs.c (INODE_NBLOCKS): new definition
40034 (struct grub_ufs_dirent): added fields for non-BSD dirents
40035 (grub_ufs_get_file_block): fixed double indirect handling
40036 (grub_ufs_lookup_symlink): use more robust way to determine whether
40037 symlink is inline
40038 (grub_ufs_find_file): support for non-BSD dirents
40039 (grub_ufs_dir): support for non-BSD dirents
40040
40041 2009-04-10 Bean <bean123ch@gnail.com>
40042
40043 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
40044 attribute, otherwise the size would be wrong for i386 platform.
40045
40046 * include/grub/pci.h (grub_pci_read_word): New inline function.
40047 (grub_pci_read_byte): Likewise.
40048 (grub_pci_write): Likewise.
40049 (grub_pci_write_word): Likewise.
40050 (grub_pci_write_byte): Likewise.
40051
40052 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
40053
40054 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
40055 (find_framebuf): Scan pci to locate the frame buffer address.
40056
40057 * commands/efi/fixvideo.c: New file.
40058
40059 * commands/efi/loadbios.c: Likewise.
40060
40061 * commands/memrw.c: Likewise.
40062
40063 * util/grub-dumpbios.in: Likewise.
40064
40065 * conf/common.rmk (grub-dumpbios): New utility.
40066 (pkglib_MODULES): New module memrw.mod.
40067 (memrw_mod_SOURCE): New macro.
40068 (memrw_mod_CFLAGS): Likewise.
40069 (memrw_mod_LDFLAGS): Likewise.
40070
40071 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
40072 fixvideo.mod.
40073 (loadbios_mod_SOURCE): New macro.
40074 (loadbios_mod_CFLAGS): Likewise.
40075 (loadbios_mod_LDFLAGS): Likewise.
40076 (fixvideo_mod_SOURCE): Likewise.
40077 (fixvideo_mod_CFLAGS): Likewise.
40078 (fixvideo_mod_LDFLAGS): Likewise.
40079
40080 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
40081 fixvideo.mod.
40082 (loadbios_mod_SOURCE): New macro.
40083 (loadbios_mod_CFLAGS): Likewise.
40084 (loadbios_mod_LDFLAGS): Likewise.
40085 (fixvideo_mod_SOURCE): Likewise.
40086 (fixvideo_mod_CFLAGS): Likewise.
40087 (fixvideo_mod_LDFLAGS): Likewise.
40088
40089 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
40090
40091 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
40092
40093 2009-04-07 David S. Miller <davem@davemloft.net>
40094
40095 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
40096 support for R_SPARC_OLO10 relocations. Fix compile warning for
40097 R_SPARC_WDISP30 case.
40098 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
40099
40100 2009-04-06 Pavel Roskin <proski@gnu.org>
40101
40102 * include/grub/misc.h (ARRAY_SIZE): New macro.
40103 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
40104 New macro.
40105 * loader/i386/linux.c (allocate_pages): Use free_pages().
40106 (grub_linux_unload): Don't use free_pages().
40107 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
40108 wrong index. Treat all other modes as text modes.
40109 (grub_cmd_linux): Initialize vid_mode unconditionally to
40110 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
40111
40112 * commands/help.c (print_command_help): Use cmd->prio, not
40113 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
40114
40115 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
40116
40117 Parttool
40118
40119 * parttool/pcpart.c: new file
40120 * commands/parttool.c: likewise
40121 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
40122 (parttool_mod_SOURCES): new variable
40123 (parttool_mod_CFLAGS): likewise
40124 (parttool_mod_LDFLAGS): likewise
40125 (pcpart_mod_SOURCES): likewise
40126 (pcpart_mod_CFLAGS): likewise
40127 (pcpart_mod_LDFLAGS): likewise
40128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
40129 and parttool/pcpart.c
40130 * conf/i386-efi.rmk: likewise
40131 * conf/i386-ieee1275.rmk: likewise
40132 * conf/i386-pc.rmk: likewise
40133 * conf/powerpc-ieee1275.rmk: likewise
40134 * conf/sparc64-ieee1275.rmk: likewise
40135 * conf/x86_64-ieee1275.rmk: likewise
40136
40137 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
40138
40139 Support for mtime and further expandability of dir command
40140
40141 * include/grub/lib/datetime.h: moved to ...
40142 * include/grub/datetime.h: ... moved here and added
40143 declaration of grub_unixtime2datetime. All users updated
40144 * include/grub/fs.h: new syntax for dir and mtime functions in
40145 struct grub_fs
40146 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
40147 and GRUB_FSHELP_FLAGS_MASK
40148 * commands/ls.c (grub_ls_list_files): Write mtime in long format
40149 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
40150 (grub_ext2_mtime): new function
40151 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
40152 (grub_hfsplus_mtime): new function
40153 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
40154 (GRUB_UFS_ATTR_FILE): likewise
40155 (GRUB_UFS_ATTR_LNK): likewise
40156 (struct grub_ufs_sblock): new fields mtime
40157 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
40158 all users updated
40159 (grub_ufs_dir): mtime support
40160 (grub_ufs_mtime): new function
40161 * fs/affs.c (grub_affs_dir): use new dir syntax
40162 * fs/afs.c (grub_afs_dir): likewise
40163 * fs/cpio.c (grub_cpio_dir): likewise
40164 * fs/fat.c (grub_fat_find_dir): likewise
40165 * fs/hfs.c (grub_hfs_dir): likewise
40166 * fs/iso9660.c (grub_iso9660_dir): likewise
40167 * fs/jfs.c (grub_jfs_dir): likewise
40168 * fs/minix.c (grub_minix_dir): likewise
40169 * fs/ntfs.c (grub_ntfs_dir): likewise
40170 * fs/reiserfs.c (grub_reiserfs_dir): likewise
40171 * fs/sfs.c (grub_sfs_dir): likewise
40172 * fs/xfs.c (grub_xfs_dir): likewise
40173 * util/hostfs.c (grub_hostfs_dir): likewise
40174 * lib/datetime.c: moved to ...
40175 * normal/datetime.c: ... moved here
40176 (grub_unixtime2datetime): new function
40177 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
40178 * normal/completion.c (iterate_dir): use new dir syntax
40179 * normal/misc.c (grub_normal_print_device_info): tell the
40180 last modification time of a volume
40181 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
40182 * conf/common.rmk: added lib/datetime.c to ls.mod
40183 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
40184 (normal_mod_SOURCES): likewise
40185 (datetime_mod_SOURCES): Removed lib/datetime.c
40186 * conf/i386-efi.rmk: likewise
40187 * conf/i386-ieee1275.rmk: likewise
40188 * conf/i386-pc.rmk: likewise
40189 * conf/powerpc-ieee1275.rmk: likewise
40190 * conf/sparc64-ieee1275.rmk: likewise
40191 * conf/x86_64-efi.rmk: likewise
40192
40193 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
40194
40195 Trim trailing spaces in FAT label and support mtools-like labels
40196
40197 * fs/fat.c (grub_fat_iterate_dir): New function based
40198 on grub_fat_find_dir
40199 (grub_fat_find_dir): use grub_fat_iterate_dir
40200 (grub_fat_label): likewise
40201
40202 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
40203
40204 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
40205 and command.h
40206 remove extraneous kernel_elf_HEADERS
40207
40208 2009-04-04 Bean <bean123ch@gnail.com>
40209
40210 * include/grub/util/misc.h: Add dummy function fsync for mingw.
40211
40212 * util/misc.c: Likewise.
40213
40214 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40215
40216 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
40217 instead of grub_printf.
40218
40219 2009-04-03 Robert Millan <rmh@aybabtu.com>
40220
40221 * loader/i386/linux.c (grub_linux_setup_video): Fill
40222 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
40223 values from `mode info' structure instead of hardcoded
40224 values.
40225
40226 2009-04-01 Pavel Roskin <proski@gnu.org>
40227
40228 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
40229 unused now.
40230 * genmk.rb: Likewise.
40231 * configure.ac: Likewise.
40232
40233 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
40234
40235 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
40236 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
40237
40238 2009-04-01 David S. Miller <davem@davemloft.net>
40239
40240 * normal/sparc64/setjmp.S: Fix setjmp implementation.
40241 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
40242 (grub_setjmp): Mark with 'returns_twice' attribute.
40243 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
40244 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
40245 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
40246
40247 2009-04-01 Robert Millan <rmh@aybabtu.com>
40248
40249 Reapply fix from 2008-07-28 which was accidentally reverted; also
40250 perform the same fix to a similar check in same function.
40251
40252 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40253 with the same number are found, just use issue a warning with
40254 grub_dprintf(), as this error has been reported to be non-fatal.
40255
40256 2009-03-31 Pavel Roskin <proski@gnu.org>
40257
40258 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
40259 for cross-compilation.
40260
40261 2009-03-30 Robert Millan <rmh@aybabtu.com>
40262
40263 Fix i386-ieee1275 build.
40264
40265 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
40266 Remove declaration.
40267
40268 2009-03-30 Pavel Roskin <proski@gnu.org>
40269
40270 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
40271 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
40272 zero-terminated, rely only on the strlen value. Fix comparison
40273 of strings differing in length.
40274
40275 2009-03-30 Robert Millan <rmh@aybabtu.com>
40276
40277 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
40278 checking for abi version. Improve error messages on BIOS to notify
40279 user about `linux16' command.
40280
40281 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
40282
40283 Leak fixes
40284
40285 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
40286 in case of collision
40287 * disk/scsi.c (grub_scsi_open): free scsi in case of error
40288
40289 2009-03-29 Robert Millan <rmh@aybabtu.com>
40290
40291 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
40292 set `vid_mode' accordingly.
40293 (grub_linux_boot): Process `vid_mode' and set video mode.
40294
40295 2009-03-29 Robert Millan <rmh@aybabtu.com>
40296
40297 * util/grub.d/10_linux.in (linux_entry): New function.
40298 Factorize generation of Linux boot entries.
40299
40300 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
40301
40302 Make the format of Environment Block plain text. The boot loader
40303 part is not tested well yet.
40304
40305 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
40306 (buffer): Removed.
40307 (envblk): Likewise.
40308 (usage): Remove "info" and "clear". Add "unset". Update the
40309 description of "set", as this does not delete variables any
40310 longer.
40311 (create_envblk_file): Complete rewrite.
40312 (open_envblk_file): Likewise.
40313 (cmd_info): Removed.
40314 (cmd_list): Likewise.
40315 (cmd_set): Likewise.
40316 (cmd_clear): Likewise.
40317 (list_variables): New function.
40318 (write_envblk): Likewise.
40319 (set_variables): Likewise.
40320 (unset_variables): Likewise.
40321 (main): Complete rewrite.
40322
40323 * commands/loadenv.c (buffer): Removed.
40324 (envblk): Likewise.
40325 (open_envblk_file): New function.
40326 (read_envblk_file): Complete rewrite.
40327 (grub_cmd_load_env): Likewise.
40328 (grub_cmd_list_env): Likewise.
40329 (struct blocklist): New struct.
40330 (free_blocklists): New function.
40331 (check_blocklists): Likewise.
40332 (write_blocklists): Likewise.
40333 (grub_cmd_save_env): Complete rewrite.
40334
40335 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
40336 a plain text signature.
40337 (GRUB_ENVBLK_MAXLEN): Removed.
40338 (struct grub_envblk): Complete rewrite.
40339 (grub_envblk_find): Removed.
40340 (grub_envblk_insert): Likewise.
40341 (grub_envblk_open): New prototype.
40342 (grub_envblk_set): Likewise.
40343 (grub_envblk_delete): Put const to VALUE.
40344 (grub_envblk_iterate): Put const to NAME and VALUE.
40345 (grub_envblk_close): New prototype.
40346 (grub_envblk_buffer): New inline function.
40347 (grub_envblk_size): Likewise.
40348
40349 * lib/envblk.c: Include grub/mm.h.
40350 (grub_env_find): Removed.
40351 (grub_envblk_open): New function.
40352 (grub_envblk_close): Likewise.
40353 (escaped_value_len): Likewise.
40354 (find_next_line): Likewise.
40355 (grub_envblk_insert): Removed.
40356 (grub_envblk_set): New function.
40357 (grub_envblk_delete): Complete rewrite.
40358 (grub_envblk_iterate): Likewise.
40359
40360 2009-03-28 Robert Millan <rmh@aybabtu.com>
40361
40362 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40363 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40364 variables. Use 16-bit loader.
40365 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40366 loader.
40367 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40368 (grub_linux16_boot): ... this. Update all users.
40369 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40370 (grub_linux_boot): ... this. Update all users.
40371
40372 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40373 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40374 commands to `linux16' and `initrd16'.
40375 (GRUB_MOD_FINI(linux)): Rename to ...
40376 (GRUB_MOD_FINI(linux16)): ... this.
40377
40378 2009-03-24 Pavel Roskin <proski@gnu.org>
40379
40380 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40381 not just for compilation.
40382
40383 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40384
40385 Move multiboot helper out of kernel
40386
40387 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40388 `loader/i386/multiboot_helper.S'.
40389 * conf/i386-coreboot.rmk: Likewise
40390 * conf/i386-ieee1275.rmk: Likewise
40391
40392 * kern/i386/loader.S: Move multiboot helpers from here...
40393 * loader/i386/multiboot_helper.S: ...moved here
40394 * include/grub/i386/loader.h: Move declarations of multiboot
40395 helpers from here...
40396 * include/grub/i386/multiboot.h: ...moved here
40397 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40398
40399 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40400
40401 * kern/env.c (grub_env_context_open): Added an argument to specify
40402 whether a new context inherits exported variables from current
40403 one. This is useful when making a sandbox to interpret a config
40404 file.
40405 All callers updated.
40406
40407 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40408
40409 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40410
40411 * kern/env.c (grub_env_context_close): Fix memory leaks.
40412
40413 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40414
40415 * normal/main.c (grub_normal_execute): Added an argument
40416 BATCH to specify if an interactive interface should be provided
40417 after reading a config file.
40418 All callers updated.
40419 (read_command_list): Prevent being executed twice.
40420 (read_fs_list): Likewise.
40421
40422 * include/grub/normal.h (grub_normal_execute): Updated the
40423 prototype.
40424
40425 2009-03-22 Pavel Roskin <proski@gno.org>
40426
40427 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40428 _start.
40429 * kern/i386/pc/startup.S: Likewise.
40430 * kern/i386/efi/startup.S: Likewise.
40431 * kern/i386/ieee1275/startup.S: Likewise.
40432 * kern/i386/coreboot/startup.S: Likewise.
40433 * kern/x86_64/efi/startup.S: Likewise.
40434
40435 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40436 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40437 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40438
40439 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40440
40441 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40442
40443 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40444 limit detection.
40445 Use vaddr of correct segment for entry_point.
40446
40447 2009-03-21 Bean <bean123ch@gmail.com>
40448
40449 * commands/blocklist.c: Add include file <grub/command.h>, remove
40450 <grub/normal.h> and <grub/arg.h>.
40451 (grub_cmd_blocklist): Use the new command interface.
40452 (GRUB_MOD_INIT): Likewise.
40453 (GRUB_MOD_FINI): Likewise.
40454 * commands/boot.c: Likewise.
40455 * commands/cat.c: Likewise.
40456 * commands/cmp.c: Likewise.
40457 * commands/configfile.c: Likewise.
40458 * commands/crc.c: Likewise.
40459 * commands/echo.c: Likewise.
40460 * commands/halt.c: Likewise.
40461 * commands/handler.c: Likewise.
40462 * commands/hdparm.c: Likewise.
40463 * commands/help.c: Likewise.
40464 * commands/hexdump.c: Likewise.
40465 * commands/loadenv.c: Likewise.
40466 * commands/ls.c: Likewise.
40467 * commands/lsmmap.c: Likewise.
40468 * commands/lspci.c: Likewise.
40469 * commands/loadenv.c: Likewise.
40470 * commands/read.c: Likewise.
40471 * commands/reboot.c: Likewise.
40472 * commands/search.c: Likewise.
40473 * commands/sleep.c: Likewise.
40474 * commands/test.c: Likewise.
40475 * commands/usbtest.c: Likewise.
40476 * commands/videotest.c: Likewise.
40477 * commands/i386/cpuid.c: Likewise.
40478 * commands/i386/pc/halt.c: Likewise.
40479 * commands/i386/pc/play.c: Likewise.
40480 * commands/i386/pc/pxecmd.c: Likewise.
40481 * commands/i386/pc/vbeinfo.c: Likewise.
40482 * commands/i386/pc/vbetest.c: Likewise.
40483 * commands/ieee1275/suspend.c: Likewise.
40484 * disk/loopback.c: Likewise.
40485 * font/font_cmd.c: Likewise.
40486 * hello/hello.c: Likewise.
40487 * loader/efi/appleloader.c: Likewise.
40488 * loader/efi/chainloader.c: Likewise.
40489 * loader/i386/bsd.c: Likewise.
40490 * loader/i386/efi/linux.c: Likewise.
40491 * loader/i386/ieee1275/linux.c: Likewise.
40492 * loader/i386/linux.c: Likewise.
40493 * loader/i386/pc/chainloader.c: Likewise.
40494 * loader/i386/pc/linux.c: Likewise.
40495 * loader/powerpc/ieee1275/linux.c: Likewise.
40496 * loader/multiboot_loader.c: Likewise.
40497 * term/gfxterm.c: Likewise.
40498 * term/i386/pc/serial.c: Likewise.
40499 * term/terminfo.c: Likewise.
40500
40501 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40502 * term/i386/pc/vga.c: Likewise.
40503 * video/readers/jpeg.c: Likewise.
40504 * video/readers/png.c: Likewise.
40505 * video/readers/tga.c: Likewise.
40506
40507 * util/grub-fstest (cmd_loopback): Removed.
40508 (cmd_blocklist): Likewise.
40509 (cmd_ls): Likewise.
40510 (grub_register_command): Likewise.
40511 (grub_unregister_command): Likewise.
40512 (execute_command): Use grub_command_find to locate command and execute
40513 it.
40514
40515 * include/grub/efi/chainloader.h: Removed.
40516 * loader/efi/chainloader_normal.c: Likewise.
40517 * loader/i386/bsd_normal.c: Likewise.
40518 * loader/i386/pc/chainloader_normal.c: Likewise.
40519 * loader/i386/pc/multiboot_normal.c: Likewise.
40520 * loader/linux_normal.c: Likewise.
40521 * loader/multiboot_loader_normal.c: Likewise.
40522 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40523
40524 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40525 and grub_register_command_p1.
40526
40527 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40528 kern/command.c, lib/arg.c and commands/extcmd.c.
40529 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40530 (minicmd_mod_SOURCES): New variable.
40531 (minicmd_mod_CFLAGS): Likewise.
40532 (minicmd_mod_LDFLAGS): Likewise.
40533 (extcmd_mod_SOURCES): Likewise.
40534 (extcmd_mod_CFLAGS): Likewise.
40535 (extcmd_mod_LDFLAGS): Likewise.
40536 (boot_mod_SOURCES): Removed.
40537 (boot_mod_CFLAGS): Likewise.
40538 (boot_mod_LDFLAGS): Likewise.
40539
40540 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40541 kern/corecmd.c.
40542 (kernel_img_HEADERS): Add command.h.
40543 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40544 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40545 and lib/arg.c.
40546 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40547 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40548 remove the corresponding normal mode command.
40549 (normal_mod_SOURCES): Remove normal/arg.c.
40550 * conf/i386-coreboot.rmk: Likewise.
40551 * conf/i386-efi.rmk: Likewise.
40552 * conf/i386-ieee1275.rmk: Likewise.
40553 * conf/powerpc-ieee1275.rmk: Likewise.
40554 * conf/x86_64-efi.rmk: Likewise.
40555
40556 * include/grub/arg.h: Move from here ...
40557 * include/grub/lib/arg.h: ... to here.
40558
40559 * normal/arg.c: Move from here ...
40560 * lib/arg.c: ... to here.
40561
40562 * commands/extcmd.c: New file.
40563 * commands/minicmd.c: Likewise.
40564 * include/grub/command.h: Likewise.
40565 * include/grub/extcmd.h: Likewise.
40566 * kern/command.c: Likewise.
40567 * kern/corecmd.c: Likewise.
40568
40569 * kern/list.c (grub_list_iterate): Return int instead of void.
40570 (grub_list_insert): New function.
40571 (grub_prio_list_insert): Likewise.
40572
40573 * kern/rescue.c (grub_rescue_command): Removed.
40574 (grub_rescue_command_list): Likewise.
40575 (grub_rescue_register_command): Likewise.
40576 (grub_rescue_unregister_command): Likewise.
40577 (grub_rescue_cmd_boot): Move to minicmd.c
40578 (grub_rescue_cmd_help): Likewise.
40579 (grub_rescue_cmd_info): Likewise.
40580 (grub_rescue_cmd_boot): Likewise.
40581 (grub_rescue_cmd_testload): Likewise.
40582 (grub_rescue_cmd_dump): Likewise.
40583 (grub_rescue_cmd_rmmod): Likewise.
40584 (grub_rescue_cmd_lsmod): Likewise.
40585 (grub_rescue_cmd_exit): Likewise.
40586 (grub_rescue_print_devices): Moved to corecmd.c.
40587 (grub_rescue_print_files): Likewise.
40588 (grub_rescue_cmd_ls): Likewise.
40589 (grub_rescue_cmd_insmod): Likewise.
40590 (grub_rescue_cmd_set): Likewise.
40591 (grub_rescue_cmd_unset): Likewise.
40592 (attempt_normal_mode): Use grub_command_find to get normal module.
40593 (grub_enter_rescue_mode): Use grub_register_core_commands to register
40594 commands, remove grub_rescue_register_command calls.
40595
40596 * normal/command.c (grub_register_command): Removed.
40597 (grub_unregister_command): Likewise.
40598 (grub_command_find): Likewise.
40599 (grub_iterate_commands): Likewise.
40600 (rescue_command): Likewise.
40601 (export_command): Moved to corecmd.c.
40602 (set_command): Removed.
40603 (unset_command): Likewise.
40604 (insmod_command): Likewise.
40605 (rmmod_command): Likewise.
40606 (lsmod_command): Likewise.
40607 (grub_command_init): Likewise.
40608
40609 * normal/completion.c (iterate_command): Use cmd->prio to check for
40610 active command.
40611 (complete_arguments): Use grub_extcmd_t structure to find options.
40612 (grub_normal_do_completion): Change function grub_iterate_commands to
40613 grub_command_iterate.
40614
40615 * normal/execute.c (grub_script_execute_cmd): No need to parse
40616 argument here.
40617
40618 * normal/main.c (grub_dyncmd_dispatcher): New function.
40619 (read_command_list): Register unload commands as dyncmd.
40620 (grub_cmd_normal): Use new command interface, register rescue,
40621 unregister normal at entry, register normal, unregister rescue at exit.
40622
40623 * include/grub/list.h (grub_list_test_t): New type.
40624 (grub_list_iterate): Return int instead of void.
40625 (grub_list_insert): New function.
40626 (GRUB_AS_NAMED_LIST_P): New macro.
40627 (GRUB_AS_PRIO_LIST): Likewise.
40628 (GRUB_AS_PRIO_LIST_P): Likewise.
40629 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40630 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40631 (grub_prio_list): New structure.
40632 (grub_prio_list_insert): New function.
40633 (grub_prio_list_remove): New inline function.
40634
40635 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40636 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40637 (GRUB_COMMAND_FLAG_MENU): Likewise.
40638 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40639 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40640 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40641 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40642 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40643 (grub_command): Likewise.
40644 (grub_register_command): Likewise.
40645 (grub_command_find): Likewise.
40646 (grub_iterate_commands): Likewise.
40647 (grub_command_init): Likewise.
40648 (grub_arg_parse): Likewise.
40649 (grub_arg_show_help): Likewise.
40650
40651 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40652 (grub_rescue_unregister_command): Likewise.
40653
40654 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40655 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40656 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40657
40658 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40659 grub_rescue_cmd_initrd.
40660 * include/grub/i386/loader.h: Likewise.
40661 * include/grub/x86_64/loader.h: Likewise.
40662
40663 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40664
40665 2009-03-21 Bean <bean123ch@gmail.com>
40666
40667 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40668 instead of stat in mingw environment.
40669
40670 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40671
40672 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40673
40674 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40675 AC_CONFIG_LINKS.
40676
40677 2009-03-21 Bean <bean123ch@gmail.com>
40678
40679 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40680 out of range error.
40681
40682 2009-03-18 Michel Dänzer <michel@daenzer.net>
40683
40684 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40685 checking inode flags for EXT4_EXTENTS_FLAG.
40686
40687 2009-03-18 Robert Millan <rmh@aybabtu.com>
40688
40689 * loader/i386/linux.c: Include `<grub/video.h>' and
40690 `<grub/i386/pc/vbe.h>'..
40691 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40692 (grub_linux32_boot): Attempt to configure video settings with
40693 grub_linux_setup_video().
40694 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40695 to avoid grub_console_fini() which would step out of graphical mode
40696 unconditionally.
40697
40698 2009-03-14 Robert Millan <rmh@aybabtu.com>
40699
40700 Fix build on powerpc.
40701 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40702
40703 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40704
40705 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40706 background image command.
40707
40708 2009-03-12 Colin D Bennett <colin@gibibit.com>
40709
40710 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40711 (grub_gfxterm_putchar): Extract pairs of identical calls to
40712 draw_cursor out of conditional blocks.
40713
40714 2009-03-11 Pavel Roskin <proski@gnu.org>
40715
40716 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40717 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40718
40719 2009-03-11 Robert Millan <rmh@aybabtu.com>
40720
40721 * loader/i386/multiboot_elfxx.c
40722 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40723
40724 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
40725
40726 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40727 `kern/handler.c'.
40728
40729 2009-03-11 Robert Millan <rmh@aybabtu.com>
40730
40731 * loader/i386/multiboot.c (code_size): New variable.
40732 (grub_multiboot): Define offsets by adding to `code_size' rather
40733 than subtracting from `grub_multiboot_payload_size'. Provide
40734 4-byte alignment to MBI and others by increasing
40735 `boot_loader_name_length' appropriately.
40736
40737 * loader/i386/multiboot_elfxx.c
40738 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40739
40740 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
40741
40742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40743 `fs/ext2.c'.
40744
40745 2009-03-08 Robert Millan <rmh@aybabtu.com>
40746
40747 Make loader/i386/linux.c usable on i386-pc again.
40748
40749 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40750 memory to heap.
40751 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40752 `#error' stanza.
40753
40754 2009-03-07 Bean <bean123ch@gmail.com>
40755
40756 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40757 allocation.
40758
40759 2009-03-06 Robert Millan <rmh@aybabtu.com>
40760
40761 Fix display issue on terminals with screen size other than 80x25
40762 (e.g. gfxterm with resolution higher than 640x480).
40763
40764 * normal/main.c (grub_normal_init_page): Display title text in a
40765 position relative to the center of the terminal instead of relying
40766 on a hardcoded offset.
40767
40768 2009-03-04 Robert Millan <rmh@aybabtu.com>
40769
40770 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40771 installed.
40772
40773 * Makefile.in (host_kernel): New variable.
40774 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40775 scripts instead of just the windows one.
40776 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40777
40778 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40779
40780 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40781 `kern/handler.c'.
40782 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40784 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40788
40789 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40790
40791 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40792 or if there's no space for the disk label and print the partition number on a
40793 invalid magic.
40794
40795 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40796
40797 * util/misc.c: Include <time.h>.
40798 (grub_millisleep): New function.
40799
40800 2009-03-04 Bean <bean123ch@gmail.com>
40801
40802 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40803 another option -mno-red-zone.
40804
40805 * commands/handler.c: Change module description.
40806
40807 * kern/handler.c: Add missing space at the end of description line.
40808
40809 * kern/list.c: Likewise.
40810
40811 2009-03-03 Robert Millan <rmh@aybabtu.com>
40812
40813 Move more components to the relocation area, and fix mbi pointer
40814 handling to use the destination rather than the origin (thanks to
40815 Vladimir Serbinenko for spotting).
40816
40817 * loader/i386/multiboot.c (mbi_dest): New variable.
40818 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40819 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40820 relocation area.
40821
40822 2009-03-01 Bean <bean123ch@gmail.com>
40823
40824 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
40825 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40826 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40827 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40828
40829 * loader/i386/efi/linux.c (acpi_guid): New variable.
40830 (acpi_guid): Likewise.
40831 (EBDA_SEG_ADDR): New constant.
40832 (LOW_MEM_ADDR): Likewise.
40833 (FAKE_EBDA_SEG): Likewise.
40834 (fake_bios_data): New function.
40835 (grub_linux_boot): Call fake_bios_data.
40836
40837 2009-03-01 Bean <bean123ch@gmail.com>
40838
40839 * commands/terminal.c: Removed.
40840
40841 * commands/handler.c: New file.
40842
40843 * include/grub/list.h: Likewise.
40844
40845 * include/grub/handler.h: Likewise.
40846
40847 * kern/list.c: Likewise.
40848
40849 * kern/handler.c: Likewise.
40850
40851 * kern/term.h: Include header file <grub/handler.h>.
40852 (grub_term_input): Move next field to the beginning.
40853 (grub_term_output): Likewise.
40854 (grub_term_input_class): New variable.
40855 (grub_term_output_class): Likewise.
40856 (grub_term_register_input): Changed to inline function.
40857 (grub_term_register_output): Likewise.
40858 (grub_term_unregister_input): Likewise.
40859 (grub_term_unregister_output): Likewise.
40860 (grub_term_set_current_input): Likewise.
40861 (grub_term_set_current_output): Likewise.
40862 (grub_term_get_current_input): Likewise.
40863 (grub_term_get_current_output): Likewise.
40864 (grub_term_iterate_input): Removed.
40865 (grub_term_iterate_output): Likewise.
40866
40867 * kern/term.c (grub_term_list_input): Removed.
40868 (grub_term_list_output): Likewise.
40869 (grub_term_input_class): New variable.
40870 (grub_term_output_class): Likewise.
40871 (grub_cur_term_input): Change variable as macro.
40872 (grub_cur_term_output): Likewise.
40873 (grub_term_register_input): Removed.
40874 (grub_term_register_output): Likewise.
40875 (grub_term_unregister_input): Likewise.
40876 (grub_term_unregister_output): Likewise.
40877 (grub_term_set_current_input): Likewise.
40878 (grub_term_set_current_output): Likewise.
40879 (grub_term_iterate_input): Likewise.
40880 (grub_term_iterate_output): Likewise.
40881 (grub_term_get_current_input): Likewise.
40882 (grub_term_get_current_output): Likewise.
40883
40884 * util/grub-editenv.c: Include header file <grub/handler.h>.
40885 (grub_term_get_current_input): Removed.
40886 (grub_term_get_current_output): Likewise.
40887 (grub_term_input_class): New variable.
40888 (grub_term_output_class): Likewise.
40889
40890 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40891 (grub_term_get_current_output): Likewise.
40892 (grub_term_input_class): New variable.
40893 (grub_term_output_class): Likewise.
40894
40895 * util/grub-probe.c (grub_term_get_current_input): Removed.
40896 (grub_term_get_current_output): Likewise.
40897 (grub_term_input_class): New variable.
40898 (grub_term_output_class): Likewise.
40899
40900 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40901 (grub_term_get_current_output): Likewise.
40902 (grub_term_input_class): New variable.
40903 (grub_term_output_class): Likewise.
40904
40905 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40906 (terminal_mod_SOURCES): Likewise.
40907 (terminal_mod_CFLAGS): Likewise.
40908 (terminal_mod_LDFLAGS): Likewise.
40909
40910 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40911 handler.c.
40912 (kernel_img_SOURCES): Add list.c and handler.c.
40913 (kernel_img_HEADERS): Add list.h and handler.h.
40914
40915 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40916 handler.c.
40917 (kernel_mod_SOURCES): Add list.c and handler.c.
40918 (kernel_mod_HEADERS): Add list.h and handler.h.
40919
40920 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40921 handler.c.
40922 (kernel_elf_SOURCES): Add list.c and handler.c.
40923 (kernel_elf_HEADERS): Add list.h and handler.h.
40924
40925 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40926 handler.c.
40927 (kernel_elf_SOURCES): Add list.c and handler.c.
40928 (kernel_elf_HEADERS): Add list.h and handler.h.
40929
40930 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40931 handler.c.
40932 (kernel_mod_SOURCES): Add list.c and handler.c.
40933 (kernel_mod_HEADERS): Add list.h and handler.h.
40934
40935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40936 handler.c.
40937 (kernel_elf_SOURCES): Add list.c and handler.c.
40938 (kernel_elf_HEADERS): Add list.h and handler.h.
40939
40940 2009-02-27 Robert Millan <rmh@aybabtu.com>
40941
40942 Factorize elf32 / elf64 code in Multiboot loader. This will
40943 prevent it from getting out of sync again.
40944
40945 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40946 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40947 grub_multiboot_load_elf64): Move from here ...
40948 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40949 grub_multiboot_load_elf): ... to here (new file).
40950
40951 2009-02-27 Robert Millan <rmh@aybabtu.com>
40952
40953 * util/grub.d/10_linux.in: Rename "single-user mode" to
40954 "recovery mode".
40955
40956 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40957
40958 Don't leak in SCSI code.
40959 * disk/scsi.c (grub_scsi_close): free `scsi'.
40960
40961 2009-02-27 Robert Millan <rmh@aybabtu.com>
40962
40963 * loader/i386/pc/multiboot.c: Move from here ...
40964 * loader/i386/multiboot.c: ... to here. Update all users.
40965
40966 2009-02-27 Robert Millan <rmh@aybabtu.com>
40967
40968 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40969 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40970
40971 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
40972
40973 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40974 b-tree.
40975
40976 2009-02-27 Robert Millan <rmh@aybabtu.com>
40977
40978 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40979 `0x' qualifier as 0 when base is specified as parameter).
40980
40981 2009-02-24 Bean <bean123ch@gmail.com>
40982
40983 * configure.ac: Check for -mcmodel=large in x86_64 target.
40984
40985 * include/grub/efi/api.h (efi_call_10): New macro.
40986 (efi_wrap_10): New function.
40987
40988 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40989 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40990 (GRUB_PE32_REL_BASED_LOW): Likewise.
40991 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40992 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40993 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40994 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40995 (GRUB_PE32_REL_BASED_REL): Likewise.
40996 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40997 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40998 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40999
41000 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
41001 issue.
41002
41003 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
41004 (efi_wrap_10): New function.
41005
41006 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
41007
41008 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
41009 MB/MBP model (NV chipset).
41010 (devdata_devs): Add devpath_5 to the list.
41011
41012 * load/i386/efi/linux.c (video_base): Remove variable.
41013 (RGB_MASK): New macro.
41014 (RGB_MAGIC): Likewise.
41015 (LINE_MIN): Likewise.
41016 (LINE_MAX): Likewise.
41017 (FBTEST_STEP): Likewise.
41018 (FBTEST_COUNT): Likewise.
41019 (fb_list): New variable.
41020 (grub_find_video_card): Remove function.
41021 (find_framebuf): New function.
41022 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
41023 line length.
41024
41025 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
41026 problem for x86_64.
41027
41028 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
41029
41030 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
41031
41032 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
41033 coding tool name.
41034
41035 2009-02-22 Robert Millan <rmh@aybabtu.com>
41036
41037 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
41038 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
41039 in our relocation, instead of using it directly from heap. Also
41040 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
41041
41042 2009-02-21 Robert Millan <rmh@aybabtu.com>
41043
41044 Implement USB keyboard support (based on patch by Marco Gerards)
41045
41046 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
41047 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
41048 (usb_keyboard_mod_LDFLAGS): New variables.
41049
41050 * term/usb_keyboard.c: New file.
41051
41052 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
41053
41054 Corrected wrong declaration
41055
41056 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
41057
41058 2009-02-14 Christian Franke <franke@computer.org>
41059
41060 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
41061 (grub_lspci_iter): Print class code and programming interface byte.
41062
41063 2009-02-14 Christian Franke <franke@computer.org>
41064
41065 * gendistlist.sh: Ignore `.svn' directories.
41066
41067 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
41068
41069 * fs/fat.c: Add 2009 to Copyright line.
41070
41071 2009-02-14 Christian Franke <franke@computer.org>
41072
41073 * commands/hdparm.c: New file. Provides `hdparm' command
41074 which sends ATA commands via grub_disk_ata_pass_through ().
41075
41076 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
41077
41078 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
41079 and <grub/cpu/io.h> to include/grub/ata.h.
41080 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
41081 (GRUB_CDROM_SECTOR_SIZE): Remove.
41082 (GRUB_ATA_*): Move to include/grub/ata.h.
41083 (GRUB_ATAPI_*): Likewise.
41084 (enum grub_ata_commands): Likewise.
41085 (enum grub_ata_timeout_milliseconds): Likewise.
41086 (struct grub_ata_device): Likewise.
41087 (grub_ata_regset): Likewise.
41088 (grub_ata_regget): Likewise.
41089 (grub_ata_regset2): Likewise.
41090 (grub_ata_regget2): Likewise.
41091 (grub_ata_check_ready): Likewise.
41092 (grub_ata_wait_not_busy): Remove static, exported in
41093 include/grub/ata.h.
41094 (grub_ata_wait_drq): Likewise.
41095 (grub_ata_pio_read): Likewise.
41096
41097 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
41098 function for hdparm.mod.
41099
41100 * include/grub/ata.h: New file, contains declarations from
41101 disk/ata.c.
41102 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
41103
41104 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
41105 (grub_disk_ata_pass_through): New exported variable.
41106
41107 * kern/disk.c (grub_disk_ata_pass_through): New variable.
41108
41109 2009-02-13 Colin D Bennett <colin@gibibit.com>
41110
41111 Support multiple fallback entries, and provide an API to support
41112 executing default+fallback menu entries. Renamed the `terminal' menu
41113 viewer to `text'.
41114
41115 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
41116 variable declaration.
41117 (grub_menu_execute_callback): New structure declaration.
41118 (grub_menu_execute_callback_t): New typedef.
41119 (grub_menu_execute_with_fallback): New function declaration.
41120 (grub_menu_get_entry): Likewise.
41121 (grub_menu_get_timeout): Likewise.
41122 (grub_menu_set_timeout): Likewise.
41123
41124 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
41125
41126 * normal/menu.c (grub_wait_after_message): Moved to
41127 `normal/menu_text.c'.
41128 (draw_border): Likewise.
41129 (print_message): Likewise.
41130 (print_entry): Likewise.
41131 (print_entries): Likewise.
41132 (grub_menu_init_page): Likewise.
41133 (get_entry_number): Likewise.
41134 (print_timeout): Likewise.
41135 (run_menu): Likewise.
41136 (grub_menu_execute_entry): Likewise.
41137 (show_text_menu): Likewise.
41138 (get_and_remove_first_entry_number): New function.
41139 (grub_menu_execute_with_fallback): Likewise.
41140 (get_entry): Renamed to ...
41141 (grub_menu_get_entry): .. this and made it global.
41142 (get_timeout): Renamed to ...
41143 (grub_menu_get_timeout): ... this and made it global.
41144 (set_timeout): Renamed to ...
41145 (grub_menu_set_timeout): ... this and made it global.
41146 (grub_normal_terminal_menu_viewer): Renamed to ...
41147 (grub_normal_text_menu_viewer): ... this.
41148
41149 * normal/menu_text.c: New file. Extracted text-menu-specific code
41150 from normal/menu.c.
41151
41152 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
41153 (normal_mod_SOURCES): Likewise.
41154
41155 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41156 (normal_mod_SOURCES): Likewise.
41157
41158 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41159 (normal_mod_SOURCES): Likewise.
41160
41161 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
41162 (normal_mod_SOURCES): Likewise.
41163
41164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41165 (normal_mod_SOURCES): Likewise.
41166
41167 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41168 (normal_mod_SOURCES): Likewise.
41169
41170 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41171 (normal_mod_SOURCES): Likewise.
41172
41173 2009-02-11 Robert Millan <rmh@aybabtu.com>
41174
41175 * util/grub.d/00_header.in: Update old reference to `font' command.
41176
41177 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
41178
41179 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
41180
41181 Based on patch from Javier Martín.
41182
41183 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
41184
41185 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
41186 to avoid false positives with FAT.
41187 (grub_fstest_SOURCES): Likewise.
41188 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41189 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41192 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41193 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41194
41195 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
41196
41197 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
41198 bpb.version_specific.fat12_or_fat16.fstype and
41199 bpb.version_specific.fat32.fstype.
41200
41201 2009-02-08 Robert Millan <rmh@aybabtu.com>
41202
41203 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
41204
41205 2009-02-08 Robert Millan <rmh@aybabtu.com>
41206
41207 * Makefile.in (host_os, host_cpu): New variables.
41208 (target_os): Remove. Update all users.
41209
41210 2009-02-08 Marco Gerards <marco@gnu.org>
41211
41212 * Makefile.in (enable_grub_emu_usb): New variable.
41213 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
41214 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
41215 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
41216 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
41217 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
41218 `usbtest.mod' and `usbms.mod'.
41219 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
41220 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
41221 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
41222 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
41223 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
41224 variables.
41225
41226 * disk/usbms.c: New file.
41227
41228 * include/grub/usb.h: Likewise.
41229
41230 * include/grub/usbtrans.h: Likewise.
41231
41232 * include/grub/usbdesc.h: Likewise.
41233
41234 * bus/usb/usbtrans.c: Likewise.
41235
41236 * bus/usb/ohci.c: Likewise.
41237
41238 * bus/usb/uhci.c: Likewise.
41239
41240 * bus/usb/usbhub.c: Likewise.
41241
41242 * bus/usb/usb.c: Likewise.
41243
41244 * commands/usbtest.c: Likewise.
41245
41246 * util/usb.c: Likewise.
41247
41248 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
41249
41250 * configure.ac: Test for libusb presence.
41251
41252 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
41253
41254 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
41255
41256 * kern/mm.c: Add more comments.
41257
41258 2009-02-08 Robert Millan <rmh@aybabtu.com>
41259
41260 Patch from Javier Martín.
41261 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
41262 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
41263
41264 2009-02-08 Robert Millan <rmh@aybabtu.com>
41265
41266 * fs/cpio.c: Split tar functionality to ...
41267 * fs/tar.c: ... here (new file). Update all users.
41268
41269 2009-02-07 Robert Millan <rmh@aybabtu.com>
41270
41271 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
41272 backward-incompatible features.
41273
41274 Based on patch from Javier Martín, with some adjustments.
41275
41276 2009-02-07 Michael Scherer <misc@mandriva.org>
41277
41278 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
41279
41280 2009-02-07 Robert Millan <rmh@aybabtu.com>
41281
41282 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
41283 position of `disk/lvm.c' to ensure grub_init_all() always picks it
41284 after the RAID stuff.
41285
41286 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
41287
41288 Fixes problem when running vbetest command as reported by
41289 Vladimir Serbinenko <phcoder@gmail.com>.
41290
41291 * (grub_vbe_set_video_mode): Fixed problem with text modes.
41292
41293 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
41294
41295 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
41296 /dev/md/NpN style mdraid devices.
41297
41298 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41299
41300 * util/unifont2pff.rb: Remove.
41301
41302 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41303
41304 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
41305 `#'.
41306
41307 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41308
41309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
41310 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41311 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41312 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41314 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41315 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41316
41317 2009-02-02 Christian Franke <franke@computer.org>
41318
41319 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
41320
41321 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
41322
41323 * INSTALL: Note that we now require at least autoconf 2.59 and
41324 that LZO is optional.
41325
41326 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41327
41328 Base on patch on bug #24154 created by Tomas Tintera
41329 <trosos@seznam.cz>.
41330
41331 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
41332
41333 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41334
41335 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
41336 <bero@arklinux.org>.
41337
41338 * normal/parser.y (script_init): Add missing semicolon.
41339
41340 2009-01-31 Colin D Bennett <colin@gibibit.com>
41341
41342 * normal/main.c: Add include to grub/menu_viewer.h.
41343 (free_menu_entry_classes): Added.
41344 (grub_normal_menu_addentry): Added class property handling.
41345 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
41346 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
41347
41348 * normal/menu_viewer.c: New file.
41349
41350 * normal/menu.c (run_menu_entry): Renamed to ...
41351 (grub_menu_execute_entry): ... this and made it as global.
41352 (grub_menu_run): Renamed to ...
41353 (show_text_menu): ... this and made it local.
41354 (show_text_menu): Adapt to new function names.
41355 (grub_normal_terminal_menu_viewer): New global variable.
41356
41357 * include/grub/menu.h: New file.
41358
41359 * include/grub/menu_viewer.h: New file.
41360
41361 * include/grub/normal.h: Added include to grub/menu.h.
41362 (grub_menu_entry): Moved to include/grub/menu.h.
41363 (grub_menu_entry_t): Likewise.
41364 (grub_menu): Likewise.
41365 (grub_menu_t): Likewise.
41366 (grub_normal_terminal_menu_viewer): Added.
41367 (grub_menu_execute_entry): Likewise.
41368 (grub_menu_run): Removed.
41369
41370 * DISTLIST: Added include/grub/menu.h.
41371 Added include/grub/menu_viewer.h.
41372 Added normal/menu_viewer.c.
41373
41374 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41375
41376 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41377 arglist for menutitle arguments.
41378
41379 * normal/main.c (grub_normal_menu_addentry): Likewise.
41380
41381 * normal/parser.y (menuentry): Likewise.
41382
41383 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41384
41385 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41386 (grub_script_create_cmdmenu): Likewise.
41387
41388 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41389
41390 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41391 changes.
41392
41393 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41394
41395 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41396
41397 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41398
41399 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41400
41401 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41402
41403 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41404
41405 2009-01-30 Christian Franke <franke@computer.org>
41406
41407 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41408 in option help text.
41409
41410 2009-01-27 Pavel Roskin <proski@gnu.org>
41411
41412 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41413
41414 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41415
41416 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41417
41418 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41419
41420 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41421 unregister function.
41422
41423 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41424
41425 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41426
41427 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41428
41429 * util/grub-mkfont.c (usage): Fix typo.
41430
41431 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41432
41433 2009-01-26 Daniel Mierswa <impulze@impulze.org>
41434
41435 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41436
41437 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41438
41439 * kern/misc.c (grub_strcasecmp): New function.
41440 (grub_strcasecmp): Use grub_size_t instead of int for length.
41441 Fix return value.
41442 * include/grub/misc.h: Update function prototypes.
41443
41444 2009-01-26 Robert Millan <rmh@aybabtu.com>
41445
41446 * configure.ac: Fix cross-compilation check.
41447
41448 2009-01-22 Christian Franke <franke@computer.org>
41449
41450 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41451 (precision) digit string. Allow `.format2' without `format1' (width).
41452 Limit input chars for `%s' output to `format2' if specified. This is
41453 compatible with standard printf ().
41454
41455 2009-01-22 Christian Franke <franke@computer.org>
41456
41457 * disk/ata.c (grub_ata_wait_status): Replace by ...
41458 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41459 other status bits may be invalid while BSY is asserted.
41460 (grub_ata_check_ready): New function.
41461 (grub_ata_cmd): Removed.
41462 (grub_ata_wait_drq): New function.
41463 (grub_ata_strncpy): Remove inline.
41464 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41465 and error check now done by grub_ata_wait_drq ().
41466 (grub_ata_pio_write): Likewise.
41467 (grub_atapi_identify): Set DEV before check for !BSY. Use
41468 grub_ata_wait_drq () to wait for data.
41469 (grub_ata_device_initialize): Add status register check to
41470 detect missing SATA slave devices. Add debug messages.
41471 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41472 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41473 transfer loop by grub_ata_pio_write ().
41474 (grub_ata_identify): Set DEV before check for !BSY. Use
41475 grub_ata_wait_drq () to wait for data.
41476 (grub_ata_setaddress): Set DEV before check for !BSY.
41477 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41478 read/write in one loop. Fix invalid command on write. Fix incomplete
41479 command on (size % batch) == 0. Add missing error check after write of
41480 last block. Add debug messages.
41481 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41482
41483 2009-01-19 Christian Franke <franke@computer.org>
41484
41485 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41486 (GRUB_ATAPI_IREASON_*): Likewise.
41487 (grub_ata_pio_write): Fix timeout error return.
41488 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41489 (grub_atapi_wait_drq): New function.
41490 (grub_atapi_packet): New parameter `size'.
41491 Use grub_atapi_wait_drq () and direct write instead of
41492 grub_ata_pio_write ().
41493 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41494 reads the number of bytes requested by the device for each DRQ
41495 assertion.
41496 (grub_atapi_write): Remove old implementation, return not
41497 implemented instead.
41498
41499 2009-01-19 Christian Franke <franke@computer.org>
41500
41501 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41502 of 512 to calculate data size.
41503 (grub_scsi_read12): Likewise.
41504 (grub_scsi_write10): Likewise.
41505 (grub_scsi_write12): Likewise.
41506 (grub_scsi_read): Adjust size according to blocksize.
41507 Add checks for invalid blocksize and unaligned transfer.
41508
41509 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41510
41511 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41512
41513 * term/gfxterm.c (write_char): Fix background rendering for wide
41514 width glyphs.
41515
41516 2009-01-19 Robert Millan <rmh@aybabtu.com>
41517
41518 * config.guess: Update to latest version from config git.
41519 * config.sub: Likewise.
41520
41521 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
41522
41523 * Makefile.in: Change font compilation to use new grub-mkfont instead
41524 of java version.
41525
41526 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41527 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41528 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41529 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41530 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41531 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41532 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41533 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41534 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41535
41536 2009-01-16 Christian Franke <franke@computer.org>
41537
41538 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41539 (enum grub_ata_timeout_milliseconds): New enum.
41540 (grub_ata_wait_status): Add parameter milliseconds.
41541 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41542 recovery from timed-out commands.
41543 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41544 return grub_errno instead of REG_ERROR.
41545 (grub_ata_pio_write): Add parameter milliseconds.
41546 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41547 Pass milliseconds to grub_ata_wait_status () and
41548 grub_ata_pio_read ().
41549 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41550 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41551 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41552 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41553 It is not suitable for device detection, because DEV bit is ignored,
41554 the command may run too long, and not all devices set the signature
41555 properly.
41556 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41557 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41558 Fix device selection, DEV bit must be set first to address the registers
41559 of the correct device.
41560 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41561 grub_ata_pio_read/write ().
41562 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41563 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41564
41565 2009-01-13 Carles Pina i Estany <carles@pina.cat>
41566
41567 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41568
41569 2009-01-13 Bean <bean123ch@gmail.com>
41570
41571 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41572
41573 2009-01-13 Bean <bean123ch@gmail.com>
41574
41575 * Makefile.in: (enable_grub_mkfont): New variable.
41576 (freetype_cflags): Likewise.
41577 (freetype_libs): Likewise.
41578
41579 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41580 (grub_mkfont_SOURCES): New variable.
41581 (grub_mkfont_CFLAGS): Likewise.
41582 (grub_mkfont_LDFLAGS): Likewise.
41583
41584 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41585 library if `--enable-grub-mkfont' is requested.
41586 (enable_grub_mkfont): New variable.
41587 (freetype_cflags): Likewise.
41588 (freetype_libs): Likewise.
41589
41590 * util/grub-mkfont.c: New file.
41591
41592 2009-01-12 Christian Franke <franke@computer.org>
41593
41594 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41595 mode check. Fix setting of compat_use[].
41596
41597 2009-01-10 Robert Millan <rmh@aybabtu.com>
41598
41599 Update a few copyright years which we forgot to do in 2008 (only for
41600 files whose changes made in 2008 were copyright-significant)
41601
41602 * Makefile.in: Add 2008 to Copyright line.
41603 * disk/ieee1275/ofdisk.c: Likewise.
41604 * disk/efi/efidisk.c: Likewise.
41605 * kern/dl.c: Likewise.
41606 * kern/sparc64/ieee1275/init.c: Likewise.
41607 * kern/mm.c: Likewise.
41608 * kern/efi/mm.c: Likewise.
41609 * boot/i386/pc/boot.S: Likewise.
41610 * genfslist.sh: Likewise.
41611 * fs/iso9660.c: Likewise.
41612 * fs/hfs.c: Likewise.
41613 * fs/jfs.c: Likewise.
41614 * fs/minix.c: Likewise.
41615 * fs/ufs.c: Likewise.
41616 * gensymlist.sh.in: Likewise.
41617 * genkernsyms.sh.in: Likewise.
41618 * include/grub/misc.h: Likewise.
41619 * include/grub/types.h: Likewise.
41620 * include/grub/symbol.h: Likewise.
41621 * include/grub/elf.h: Likewise.
41622 * include/grub/kernel.h: Likewise.
41623 * include/grub/disk.h: Likewise.
41624 * include/grub/dl.h: Likewise.
41625 * include/grub/i386/linux.h: Likewise.
41626 * include/grub/i386/pc/biosdisk.h: Likewise.
41627 * include/grub/efi/api.h: Likewise.
41628 * include/grub/efi/pe32.h: Likewise.
41629 * include/grub/util/misc.h: Likewise.
41630 * normal/execute.c: Likewise.
41631 * normal/arg.c: Likewise.
41632 * normal/completion.c: Likewise.
41633 * normal/lexer.c: Likewise.
41634 * normal/parser.y: Likewise.
41635 * normal/misc.c: Likewise.
41636 * commands/i386/pc/vbeinfo.c: Likewise.
41637 * commands/hexdump.c: Likewise.
41638 * commands/terminal.c: Likewise.
41639 * commands/ls.c: Likewise.
41640 * commands/help.c: Likewise.
41641 * partmap/pc.c: Likewise.
41642 * loader/efi/chainloader.c: Likewise.
41643 * loader/multiboot_loader.c: Likewise.
41644 * loader/i386/pc/multiboot2.c: Likewise.
41645 * term/efi/console.c: Likewise.
41646 * term/i386/pc/serial.c: Likewise.
41647 * util/lvm.c: Likewise.
41648 * util/console.c: Likewise.
41649 * util/i386/efi/grub-mkimage.c: Likewise.
41650 * util/raid.c: Likewise.
41651
41652 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41653
41654 * commands/videotest.c: Removed include to grub/machine/memory.h.
41655
41656 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41657 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41658 (video_mod_SOURCES): Removed.
41659 (video_mod_CFLAGS): Likewise.
41660 (video_mod_LDFLAGS): Likewise.
41661 (gfxterm_mod_SOURCES): Likewise.
41662 (gfxterm_mod_CFLAGS): Likewise.
41663 (gfxterm_mod_LDFLAGS): Likewise.
41664 (videotest_mod_SOURCES): Likewise.
41665 (videotest_mod_CFLAGS): Likewise.
41666 (videotest_mod_LDFLAGS): Likewise.
41667 (bitmap_mod_SOURCES): Likewise.
41668 (bitmap_mod_CFLAGS): Likewise.
41669 (bitmap_mod_LDFLAGS): Likewise.
41670 (tga_mod_SOURCES): Likewise.
41671 (tga_mod_CFLAGS): Likewise.
41672 (tga_mod_LDFLAGS): Likewise.
41673 (jpeg_mod_SOURCES): Likewise.
41674 (jpeg_mod_CFLAGS): Likewise.
41675 (jpeg_mod_LDFLAGS): Likewise.
41676 (png_mod_SOURCES): Likewise.
41677 (png_mod_CFLAGS): Likewise.
41678 (png_mod_LDFLAGS): Likewise.
41679
41680 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41681 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41682 (video_mod_SOURCES): Added.
41683 (video_mod_CFLAGS): Likewise.
41684 (video_mod_LDFLAGS): Likewise.
41685 (videotest_mod_SOURCES): Likewise.
41686 (videotest_mod_CFLAGS): Likewise.
41687 (videotest_mod_LDFLAGS): Likewise.
41688 (bitmap_mod_SOURCES): Likewise.
41689 (bitmap_mod_CFLAGS): Likewise.
41690 (bitmap_mod_LDFLAGS): Likewise.
41691 (tga_mod_SOURCES): Likewise.
41692 (tga_mod_CFLAGS): Likewise.
41693 (tga_mod_LDFLAGS): Likewise.
41694 (jpeg_mod_SOURCES): Likewise.
41695 (jpeg_mod_CFLAGS): Likewise.
41696 (jpeg_mod_LDFLAGS): Likewise.
41697 (png_mod_SOURCES): Likewise.
41698 (png_mod_CFLAGS): Likewise.
41699 (png_mod_LDFLAGS): Likewise.
41700 (gfxterm_mod_SOURCES): Likewise.
41701 (gfxterm_mod_CFLAGS): Likewise.
41702 (gfxterm_mod_LDFLAGS): Likewise.
41703
41704 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41705 grub/machine/console.h.
41706
41707 2009-01-04 Jerone Young <jerone@gmail.com>
41708
41709 Make on screen instructions clearer
41710
41711 Based on patch created by Jidanni <jidanni@jidanni.org>
41712
41713 * normal/menu.c: print clearer instructions on the screen
41714
41715 2009-01-02 Colin D Bennett <colin@gibibit.com>
41716
41717 New font engine.
41718
41719 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41720 build system and fixed gfxterm.c to work with different sized fonts.
41721
41722 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
41723
41724 * configure: Re-generated.
41725
41726 * DISTLIST: Removed font/manager.c.
41727 Added font/font.c.
41728 Added font/font_cmd.c.
41729
41730 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41731 compilation.
41732
41733 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
41734
41735 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
41736
41737 * kern/term.c: Changed users of grub_utf8_to_ucs4.
41738
41739 * normal/menu.c: Likewise.
41740
41741 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41742 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
41743
41744 * include/grub/font.h: Replaced with new file.
41745
41746 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41747 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41748 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41749 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41750 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
41751 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
41752 fg_red, fg_green, fg_blue, fg_alpha.
41753 (grub_video_adapter): Removed blit_glyph.
41754 (grub_video_blit_glyph): Removed.
41755
41756 * font/manager.c: Removed file.
41757
41758 * font/font.c: New file.
41759
41760 * font/font_cmd.c: Likewise.
41761
41762 * video/video.c (grub_video_blit_glyph): Removed.
41763
41764 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41765 (grub_video_vbe_map_rgba): Likewise.
41766 (grub_video_vbe_unmap_color_int): Likewise.
41767 (grub_video_vbe_blit_glyph): Removed.
41768 (grub_video_vbe_adapter): Removed blit_glyph.
41769
41770 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41771 (get_pixel): Likewise.
41772 (set_pixel): Likewise.
41773
41774 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
41775
41776 * term/gfxterm.c: Adapted to new font engine.
41777
41778 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
41779
41780 * term/i386/pc/vga.c: Likewise.
41781
41782 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
41783
41784 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41785
41786 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41787
41788 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41789
41790 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41791
41792 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41793
41794 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41795
41796 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41797
41798 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41799
41800 * util/grub.d/00_header.in: Changed to use new loadfont command.
41801
41802 * util/grub-mkconfig_lib.in: Changed font extension.
41803
41804 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
41805
41806 * util/getroot.c (grub_util_get_grub_dev): Add support for
41807 /dev/md/dNNpNN style partitionable mdraid devices.
41808
41809 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
41810
41811 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41812 at a time limit of the PXE TFTP API correctly.
41813 (grub_pxefs_close): Likewise.
41814
41815 2008-11-29 Robert Millan <rmh@aybabtu.com>
41816
41817 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
41818 grub_ata_device_initialize() calls.
41819
41820 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
41821
41822 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41823 iteration failed.
41824 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41825
41826 2008-11-28 Robert Millan <rmh@aybabtu.com>
41827
41828 Fix build on powerpc-ieee1275. Based on patch created by
41829 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41830 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41831 `kern/ieee1275/mmap.c'.
41832 * include/grub/powerpc/ieee1275/memory.h: New file.
41833
41834 Provide grub-install on coreboot.
41835 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41836 (grub_install_SOURCES): New variable.
41837 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41838 usable on coreboot.
41839
41840 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
41841
41842 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41843 to `grub_term_input_t'.
41844 (grub_term_get_current_output): Change return type to
41845 `grub_term_output_t'.
41846
41847 2008-11-22 Robert Millan <rmh@aybabtu.com>
41848
41849 Fix breakage on coreboot due to declaration mismatch.
41850 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41851 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41852 grub_vga_text_cls().
41853
41854 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
41855 comments. Avoid copying one more byte than necessary (just in case).
41856
41857 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41858 to 0x200000 (avoids trouble with some OFW implementations, and matches
41859 with the one in Yaboot).
41860 Reported by Manoel Abranches
41861
41862 2008-11-20 Robert Millan <rmh@aybabtu.com>
41863
41864 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41865 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41866
41867 * util/grub-mkconfig_lib.in (grub_warn): New function.
41868 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41869 warnings, to obtain consistent formatting.
41870 * util/grub.d/00_header.in: Likewise.
41871 * util/update-grub_lib.in: Likewise.
41872
41873 * loader/i386/linux.c (allocate_pages): Fix a warning.
41874 Move comment text to `#error' stanza.
41875
41876 Harmonize ieee1275's grub_available_iterate() with the generic
41877 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41878 build problem on i386-ieee1275):
41879 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41880 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41881 parameter `type'. Update all users of this function.
41882 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41883 `kern/ieee1275/mmap.c'.
41884 * kern/ieee1275/init.c
41885 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41886 with ...
41887 (grub_machine_mmap_iterate): ... this.
41888 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41889 return type to `grub_err_t'. Update all implementations of this
41890 function prototype.
41891 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41892 Likewise.
41893
41894 Add `lsmmap' command (lists firmware-provided memory map):
41895 * commands/lsmmap.c: New file.
41896 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41897 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41898 variables.
41899 * conf/powerpc-ieee1275.rmk: Likewise.
41900 * conf/i386-coreboot.rmk: Likewise.
41901 * conf/i386-ieee1275.rmk: Likewise.
41902
41903 2008-11-19 Robert Millan <rmh@aybabtu.com>
41904
41905 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
41906 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41907 constraints to initrd allocation (based on code from
41908 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41909 for Linux to find it.
41910
41911 2008-11-14 Robert Millan <rmh@aybabtu.com>
41912
41913 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41914 order to cope with duplicate slashes.
41915
41916 2008-11-14 Robert Millan <rmh@aybabtu.com>
41917
41918 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41919 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41920 don't want to mess with lower memory, because it is used in the Linux
41921 loader.
41922
41923 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
41924 an appropriate place in lower memory, between 0x10000 and 0x90000,
41925 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41926 is in our heap (probably as a result of it being corrupted during
41927 decompression). Add #error instance with comment to explain why this
41928 loader isn't currently usable on PC/BIOS.
41929
41930 2008-11-14 Robert Millan <rmh@aybabtu.com>
41931
41932 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
41933 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
41934
41935 2008-11-12 Robert Millan <rmh@aybabtu.com>
41936
41937 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41938
41939 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41940 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41941 from here ...
41942 * include/grub/i386/pc/memory.h: ... to here.
41943
41944 2008-11-12 Robert Millan <rmh@aybabtu.com>
41945
41946 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41947 split).
41948
41949 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41950 (grub_console_cur_color, grub_console_real_putchar)
41951 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41952 (grub_console_setcolorstate, grub_console_setcolor)
41953 (grub_console_getcolor): Move from here ...
41954 * include/grub/i386/vga_common.h: ... to here (new file).
41955
41956 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41957 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41958 `<grub/i386/io.h>'.
41959 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41960 `<grub/i386/vga_common.h>'.
41961
41962 2008-11-12 Robert Millan <rmh@aybabtu.com>
41963
41964 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41965 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41966 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41967 variables.
41968 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41969 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41970
41971 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41972 grub_console_init() with call to grub_vga_text_init().
41973 (grub_machine_fini): Replace call to
41974 grub_console_fini() with call to grub_vga_text_fini() and
41975 grub_at_keyboard_fini().
41976
41977 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41978 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41979 (grub_console_setcolorstate, grub_console_setcolor)
41980 (grub_console_getcolor): New function prototypes.
41981
41982 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41983 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41984 (grub_vga_text_setcursor): Static-ize.
41985 (grub_vga_text_term): New structure.
41986 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41987
41988 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41989 (grub_console_cur_color, grub_console_standard_color)
41990 (grub_console_normal_color, grub_console_highlight_color)
41991 (map_char, grub_console_putchar, grub_console_getcharwidth)
41992 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41993 (grub_console_getcolor): Move from here ...
41994 * term/i386/vga_common.c: ... to here (same function names).
41995
41996 2008-11-12 Robert Millan <rmh@aybabtu.com>
41997
41998 Use newly-added Multiboot support in coreboot.
41999
42000 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
42001 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
42002
42003 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
42004 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
42005 (codestart): Store the MBI in `startup_multiboot_info' when we're
42006 being loaded using Multiboot.
42007
42008 * kern/i386/coreboot/init.c (grub_machine_init): Move
42009 grub_at_keyboard_init() call to beginning of function (useful for
42010 debugging). Call grub_machine_mmap_init() before attempting to use
42011 grub_machine_mmap_iterate().
42012 (grub_lower_mem, grub_upper_mem): Move from here ...
42013 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
42014 here (new file).
42015
42016 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
42017 function prototype.
42018
42019 2008-11-12 Robert Millan <rmh@aybabtu.com>
42020
42021 Fix a regression introduced by the at_keyboard.mod split. Because
42022 some terminals are default on some platforms and non-default on
42023 others, the first terminal being registered determines which is
42024 going to be default.
42025
42026 * kern/term.c (grub_term_register_input): If this is the first
42027 terminal being registered, set it as the current one.
42028 (grub_term_register_output): Likewise.
42029
42030 * term/efi/console.c (grub_console_init): Do not call
42031 grub_term_set_current_output() or grub_term_set_current_input().
42032 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
42033 * term/i386/pc/console.c (grub_console_init): Likewise.
42034 (grub_console_fini): Do not call grub_term_set_current_input()
42035 (but leave grub_term_set_current_output() to restore text mode).
42036
42037 2008-11-10 Robert Millan <rmh@aybabtu.com>
42038
42039 * util/grub.d/00_header.in: Add backward compatibility check for
42040 versions of terminal.mod that don't understand `terminal_input' or
42041 `terminal_output'.
42042
42043 2008-11-09 Robert Millan <rmh@aybabtu.com>
42044
42045 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
42046 `terminal_input' / `terminal_output', not `terminal'.
42047
42048 2008-11-08 Robert Millan <rmh@aybabtu.com>
42049
42050 * Makefile.in (include_DATA): Fix srcdir=. assumption.
42051 (DISTCLEANFILES): Add `build_env.mk'.
42052
42053 2008-11-08 Robert Millan <rmh@aybabtu.com>
42054
42055 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
42056 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42057 members. Update all users.
42058 * util/console.c (grub_ncurses_term): Split in ...
42059 (grub_ncurses_term_input): ... this, and ...
42060 (grub_ncurses_term_output): ... this. Update all users.
42061 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
42062
42063 2008-11-08 Robert Millan <rmh@aybabtu.com>
42064
42065 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
42066 (PKGDATA): Add $(pkgdata_SRCDIR).
42067 (pkglib_BUILDDIR): New variable.
42068 (pkgdata_SRCDIR): New variable.
42069 (build_env.mk): New target.
42070 (include_DATA): New variable.
42071 (install-local): Install $(include_DATA) files in $(includedir).
42072
42073 2008-11-07 Pavel Roskin <proski@gnu.org>
42074
42075 * gendistlist.sh: Use C locale for sorting to ensure consistent
42076 output on all systems.
42077
42078 * util/grub.d/00_header.in: Remove incorrect space before
42079 "serial".
42080
42081 2008-11-07 Robert Millan <rmh@aybabtu.com>
42082
42083 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
42084 per specification.
42085 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
42086 * loader/multiboot_loader.c (find_multi_boot2_header): New function
42087 (based on find_multi_boot1_header).
42088 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
42089 using find_multi_boot2_header(), and abort if neither Multiboot or
42090 Multiboot headers were found.
42091
42092 2008-11-07 Robert Millan <rmh@aybabtu.com>
42093
42094 Modularize at_keyboard.mod:
42095
42096 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
42097 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
42098 (at_keyboard_mod_LDFLAGS): New variables.
42099
42100 Actual terminal split:
42101
42102 * include/grub/term.h (struct grub_term): Split in ...
42103 (struct grub_term_input): ... this, and ...
42104 (struct grub_term_output): ... this. Update all users.
42105 (grub_term_set_current): Split in ...
42106 (grub_term_set_current_input): ... this, and ...
42107 (grub_term_set_current_output): ... this.
42108 (grub_term_get_current): Split in ...
42109 (grub_term_get_current_input): ... this, and ...
42110 (grub_term_get_current_output): ... this.
42111 (grub_term_register): Split in ...
42112 (grub_term_register_input): ... this, and ...
42113 (grub_term_register_output): ... this.
42114 (grub_term_unregister): Split in ...
42115 (grub_term_unregister_input): ... this, and ...
42116 (grub_term_unregister_output): ... this.
42117 (grub_term_iterate): Split in ...
42118 (grub_term_iterate_input): ... this, and ...
42119 (grub_term_iterate_output): ... this.
42120
42121 * kern/term.c (grub_term_list): Split in ...
42122 (grub_term_list_input): ... this, and ...
42123 (grub_term_list_output): ... this. Update all users.
42124 (grub_cur_term): Split in ...
42125 (grub_cur_term_input): ... this, and ...
42126 (grub_cur_term_output): ... this. Update all users.
42127 (grub_term_set_current): Split in ...
42128 (grub_term_set_current_input): ... this, and ...
42129 (grub_term_set_current_output): ... this.
42130 (grub_term_get_current): Split in ...
42131 (grub_term_get_current_input): ... this, and ...
42132 (grub_term_get_current_output): ... this.
42133 (grub_term_register): Split in ...
42134 (grub_term_register_input): ... this, and ...
42135 (grub_term_register_output): ... this.
42136 (grub_term_unregister): Split in ...
42137 (grub_term_unregister_input): ... this, and ...
42138 (grub_term_unregister_output): ... this.
42139 (grub_term_iterate): Split in ...
42140 (grub_term_iterate_input): ... this, and ...
42141 (grub_term_iterate_output): ... this.
42142
42143 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
42144 a check for input and one for output (and only attempt to get keys
42145 from user when input works).
42146
42147 * util/grub-probe.c (grub_term_get_current): Split in ...
42148 (grub_term_get_current_input): ... this, and ...
42149 (grub_term_get_current_output): ... this.
42150 * util/grub-fstest.c: Likewise.
42151 * util/i386/pc/grub-setup.c: Likewise.
42152 * util/grub-editenv.c: Likewise.
42153
42154 Portability adjustments:
42155
42156 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
42157 `term/i386/pc/at_keyboard.c'.
42158 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
42159 grub_keyboard_controller_init() (now handled by terminal .init).
42160 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
42161 grub_at_keyboard_init().
42162 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
42163 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
42164 at_keyboard.mod via input terminal interface).
42165 * include/grub/i386/coreboot/console.h: Convert into a stub for
42166 `<grub/i386/pc/console.h>'.
42167
42168 Migrate full terminals to new API:
42169
42170 * term/efi/console.c (grub_console_term): Split into ...
42171 (grub_console_term_input): ... this, and ...
42172 (grub_console_term_output): ... this. Update all users.
42173 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
42174 (grub_ofconsole_init): Split into ...
42175 (grub_ofconsole_init_input): ... this, and ...
42176 (grub_ofconsole_init_output): ... this.
42177 (grub_ofconsole_term): Split into ...
42178 (grub_ofconsole_term_input): ... this, and ...
42179 (grub_ofconsole_term_output): ... this. Update all users.
42180 * term/i386/pc/serial.c (grub_serial_term): Split into ...
42181 (grub_serial_term_input): ... this, and ...
42182 (grub_serial_term_output): ... this. Update all users.
42183 * term/i386/pc/console.c (grub_console_term): Split into ...
42184 (grub_console_term_input): ... this, and ...
42185 (grub_console_term_output): ... this. Update all users.
42186 (grub_console_term_input): Only enable it on PC/BIOS platform.
42187 (grub_console_init): Remove grub_keyboard_controller_init() call.
42188
42189 Migrate input terminals to new API:
42190
42191 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
42192 `i386' and `i386/pc' to enable build on x86_64 (this driver is
42193 i386-specific anyway).
42194 (grub_console_checkkey): Rename to ...
42195 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
42196 users.
42197 (grub_keyboard_controller_orig): New variable.
42198 (grub_console_getkey): Rename to ...
42199 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
42200 users.
42201 (grub_keyboard_controller_init): Static-ize. Save original
42202 controller value so that it can be restored ...
42203 (grub_keyboard_controller_fini): ... here (new function).
42204 (grub_at_keyboard_term): New structure.
42205 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
42206 functions.
42207
42208 Migrate output terminals to new API:
42209
42210 * term/i386/pc/vga.c (grub_vga_term): Change type to
42211 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42212 members. Update all users.
42213 * term/gfxterm.c (grub_video_term): Change type to
42214 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42215 members. Update all users.
42216 * include/grub/i386/pc/console.h (grub_console_checkkey)
42217 (grub_console_getkey): Do not export (no longer needed by gfxterm,
42218 etc).
42219
42220 Migrate `terminal' command and userland tools to new API:
42221
42222 * commands/terminal.c (grub_cmd_terminal): Split into ...
42223 (grub_cmd_terminal_input): ... this, and ...
42224 (grub_cmd_terminal_output): ... this.
42225 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
42226 `terminal_input' and `terminal_output'.
42227 * util/grub.d/00_header.in: Adjust `terminal' calls to new
42228 `terminal_input' / `terminal_output' API.
42229 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
42230 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
42231 provided ${GRUB_TERMINAL}, convert it).
42232
42233 2008-11-04 Robert Millan <rmh@aybabtu.com>
42234
42235 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
42236 for FreeBSD.
42237 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
42238
42239 2008-11-03 Bean <bean123ch@gmail.com>
42240
42241 * kern/elf.c (grub_elf32_load): Revert to previous code.
42242 (grub_elf64_load): Likewise.
42243
42244 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
42245
42246 2008-11-01 Robert Millan <rmh@aybabtu.com>
42247
42248 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
42249 (TARGET_CPPFLAGS): Likewise.
42250 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
42251
42252 2008-11-01 Carles Pina i Estany <carles@pina.cat>
42253
42254 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
42255
42256 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
42257
42258 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
42259 addition of objects until the code is not going to be able to fail.
42260
42261 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
42262
42263 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
42264 (add a missing NULL check, and correct them by moving the pointer
42265 operations after the actual check).
42266
42267 2008-10-29 Robert Millan <rmh@aybabtu.com>
42268
42269 * util/i386/pc/grub-install.in: Handle empty string as output from
42270 make_system_path_relative_to_its_root().
42271
42272 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
42273
42274 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
42275 circular metadata worst case scenario. If the metadata is circular
42276 then copy the wrap in place.
42277 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
42278 project lib/format_text/layout.h
42279 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
42280
42281 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42282
42283 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
42284
42285 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42286
42287 * util/update-grub_lib.in: Mention filename in warning message.
42288
42289 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42290
42291 * NEWS: Update for rename of update-grub to grub-mkconfig.
42292
42293 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42294
42295 * util/update-grub_lib.in: Copy to ...
42296 * util/grub-mkconfig_lib.in: ... this. Update all users.
42297 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
42298 * util/update-grub.in: Rename to ...
42299 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
42300 option. Add `--output' option to allow users to specify the generated
42301 configuration file. Default to stdout.
42302 (update_grub_dir): Rename to ...
42303 (grub_mkconfig_dir): ... this.
42304 (grub_cfg): Default to an empty string.
42305 * conf/common.rmk (update-grub): Rename to ...
42306 (grub-mkconfig): ... this.
42307 (update-grub_lib): Copy to ...
42308 (grub-mkconfig_lib): ... this.
42309 (update-grub_SCRIPTS): Copy to ...
42310 (grub-mkconfig_SCRIPTS): ... this. Update all users.
42311 (update-grub_DATA): Rename to ...
42312 (grub-mkconfig_DATA): ... this.
42313
42314 2008-09-28 Robert Millan <rmh@aybabtu.com>
42315
42316 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
42317 to `modified'. Add the real `created' field.
42318 (grub_iso9660_uuid): Use `modified' rather than `created' for
42319 constructing the UUID.
42320
42321 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
42322
42323 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
42324 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
42325
42326 2008-09-28 Bean <bean123ch@gmail.com>
42327
42328 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
42329 Thanks to Christian Franke for finding this bug.
42330
42331 2008-09-25 Robert Millan <rmh@aybabtu.com>
42332
42333 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
42334 instances of grub_util_get_disk_name() (see previous commit).
42335
42336 2008-09-25 Robert Millan <rmh@aybabtu.com>
42337
42338 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
42339 `util/i386/get_disk_name.c'.
42340 * conf/i386-efi.rmk: Likewise.
42341 * conf/x86_64-efi.rmk: Likewise.
42342 * conf/i386-coreboot.rmk: Likewise.
42343 * conf/i386-ieee1275.rmk: Likewise.
42344 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
42345 `util/ieee1275/get_disk_name.c'.
42346 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
42347 * util/ieee1275/get_disk_name.c: Remove file.
42348 * util/i386/get_disk_name.c: Remove file.
42349 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
42350 "hd%d" for device.map entries, rather than using
42351 grub_util_get_disk_name().
42352
42353 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42354
42355 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
42356 warning.
42357 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42358
42359 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42360
42361 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42362 Changed to 0x5100.
42363 (GRUB_TERM_PPAGE): Changed to 0x4900.
42364
42365 2008-09-24 Robert Millan <rmh@aybabtu.com>
42366
42367 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42368 macros (they were i386-pc specific).
42369 * include/grub/sparc64/ieee1275/console.h: Likewise.
42370 * include/grub/efi/console.h: Likewise.
42371
42372 2008-09-22 Bean <bean123ch@gmail.com>
42373
42374 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42375 resident and in attribute list.
42376
42377 * include/grub/ntfs.h (BMP_LEN): Removed.
42378
42379 2008-09-22 Bean <bean123ch@gmail.com>
42380
42381 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
42382 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42383
42384 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42385 error occurs, as grub_disk_open will call grub_disk_close, which will
42386 call p->close (scsi).
42387
42388 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42389
42390 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42391 (AC_PREREQ): Bumped to 2.59.
42392 (AC_TRY_COMPILE): Replace obsolete macro with ...
42393 (AC_COMPILE_IFELSE): ... this.
42394 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42395 (AC_LINK_IFELSE): ... this.
42396
42397 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42398
42399 * autogen.sh: Add a call to `gendistlist.sh'.
42400
42401 2008-09-19 Christian Franke <franke@computer.org>
42402
42403 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42404 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42405 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42406 Export __enable_execute_stack() to modules.
42407 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42408 New function.
42409
42410 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42411
42412 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42413 Sort the list.
42414
42415 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42416
42417 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
42418 #include <grub/util/hostdisk.h>.
42419
42420 2008-09-08 Robert Millan <rmh@aybabtu.com>
42421
42422 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42423 segments when their filesz is zero (grub_file_read() interprets
42424 zero-size as "read until EOF", which results in memory corruption).
42425 Use `lowest_segment' rather than 0 for calculating the current
42426 segment load address.
42427
42428 2008-09-08 Robert Millan <rmh@aybabtu.com>
42429
42430 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42431 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42432 clobbered useful information.
42433
42434 2008-09-08 Robert Millan <rmh@aybabtu.com>
42435
42436 * include/grub/util/biosdisk.h: Move to ...
42437 * include/grub/util/hostdisk.h: ... here. Update all users.
42438 * util/biosdisk.c: Move to ...
42439 * util/hostdisk.c: ... here. Update all users.
42440
42441 2008-09-07 Robert Millan <rmh@aybabtu.com>
42442
42443 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42444 variables.
42445 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42446 and length can be stored directly in the `mbi->mmap_addr' and
42447 `mbi->mmap_length' struct fields.
42448
42449 2008-09-07 Robert Millan <rmh@aybabtu.com>
42450
42451 * conf/i386.rmk: New file. Provides declaration for building
42452 `cpuid.mod'.
42453 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42454 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42455 variables.
42456 Include `conf/i386.mk'.
42457 * conf/i386-efi.rmk: Likewise.
42458 * conf/x86_64-efi.rmk: Likewise.
42459 * conf/i386-coreboot.rmk: Likewise.
42460 * conf/i386-ieee1275.rmk: Likewise.
42461
42462 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42463
42464 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42465 Adds optimization support for BGR based modes.
42466
42467 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42468 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42469 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42470 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42471 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42472 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42473 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42474 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42475 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42476 (grub_video_i386_vbeblit_index_index): Likewise.
42477 (grub_video_i386_vbeblit_replace_directN): Added.
42478 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42479 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42480 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42481 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42482 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42483 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42484 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42485 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42486 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42487 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42488 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42489 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42490 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42491
42492 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42493 (grub_video_i386_vbefill_R8G8B8): Likewise.
42494 (grub_video_i386_vbefill_index): Likewise.
42495 (grub_video_i386_vbefill_direct32): Added.
42496 (grub_video_i386_vbefill_direct24): Likewise.
42497 (grub_video_i386_vbefill_direct16): Likewise.
42498 (grub_video_i386_vbefill_direct8): Likewise.
42499
42500 * include/grub/video.h (grub_video_blit_format): Removed
42501 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42502 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42503 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42504 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42505 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
42506
42507 * video/video.c (grub_video_get_blit_format): Updated to use new
42508 blit formats. Added handling for 16 bit color modes.
42509
42510 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
42511 fillers.
42512 (common_blitter): Updated to use new blitters.
42513
42514 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42515 Removed.
42516 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42517 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42518 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42519 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42520 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42521 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42522 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42523 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42524 (grub_video_i386_vbeblit_index_index): Likewise.
42525 (grub_video_i386_vbeblit_replace_directN): Added.
42526 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42527 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42528 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42529 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42530 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42531 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42532 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42533 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42534 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42535 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42536 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42537 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42538 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42539
42540 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42541 (grub_video_i386_vbefill_R8G8B8): Likewise.
42542 (grub_video_i386_vbefill_index): Likewise.
42543 (grub_video_i386_vbefill_direct32): Added.
42544 (grub_video_i386_vbefill_direct24): Likewise.
42545 (grub_video_i386_vbefill_direct16): Likewise.
42546 (grub_video_i386_vbefill_direct8): Likewise.
42547
42548 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42549 types.
42550
42551 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42552 types.
42553
42554 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42555 blitter types.
42556
42557 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42558 types.
42559
42560 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42561
42562 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42563 RAID level 1.
42564
42565 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42566
42567 * fs/iso9660.c (grub_iso9660_date): New structure.
42568 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42569 (grub_iso9660_uuid): New function.
42570
42571 2008-09-05 Bean <bean123ch@gmail.com>
42572
42573 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42574
42575 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42576 insensitive bit for names in Win32 and Win32 & DOS namespace.
42577
42578 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42579
42580 * include/grub/types.h (LONG_MAX): Likewise.
42581
42582 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42583
42584 * util/getroot.c: Include <config.h>.
42585 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42586 add support for /dev/md/N devices and handle LVM double dash escaping.
42587
42588 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42589
42590 * config.guess: Update to latest version from config git.
42591 * config.sub: Likewise.
42592
42593 2008-09-03 Robert Millan <rmh@aybabtu.com>
42594
42595 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42596 `disk->total_sectors'.
42597
42598 2008-09-01 Colin D Bennett <colin@gibibit.com>
42599
42600 * include/grub/normal.h: Fixed incorrect comment for
42601 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42602
42603 2008-09-01 Colin D Bennett <colin@gibibit.com>
42604
42605 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42606 values with defines.
42607
42608 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42609 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42610 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42611 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42612 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42613 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42614 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42615 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42616 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42617 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42618 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42619 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42620 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42621 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42622 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42623 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42624 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42625 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42626 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42627
42628 2008-08-31 Robert Millan <rmh@aybabtu.com>
42629
42630 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42631 declaration.
42632 (grub_multiboot): Fix a few warnings.
42633
42634 2008-08-31 Robert Millan <rmh@aybabtu.com>
42635
42636 * loader/i386/pc/multiboot.c: Update comment not to say that
42637 boot_device support is unimplemented.
42638
42639 2008-08-31 Robert Millan <rmh@aybabtu.com>
42640
42641 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42642 or memory map support are unimplemented.
42643
42644 2008-08-31 Colin D Bennett <colin@gibibit.com>
42645
42646 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42647
42648 2008-08-31 Colin D Bennett <colin@gibibit.com>
42649
42650 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42651 total video memory in 'vbeinfo' output; show color format details for
42652 each video mode.
42653
42654 2008-08-30 Pavel Roskin <proski@gnu.org>
42655
42656 * util/genmoddep.c: Remove for real this time.
42657 * DISTLIST: Remove util/genmoddep.c.
42658
42659 2008-08-30 Robert Millan <rmh@aybabtu.com>
42660
42661 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42662 as required by Multiboot spec (it was already 4-byte aligned, but
42663 only by chance).
42664
42665 2008-08-29 Pavel Roskin <proski@gnu.org>
42666
42667 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42668 * kern/powerpc/ieee1275/startup.S: ... this.
42669 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42670 * DISTLIST: Likewise.
42671
42672 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42673 grub/cpu/kernel.h. Add start label for consistency with other
42674 platforms. Add grub_prefix immediately after start. Add jump
42675 to the code after grub_prefix.
42676 * include/grub/powerpc/kernel.h: Provide valid values for
42677 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42678
42679 2008-08-29 Bean <bean123ch@gmail.com>
42680
42681 * configure.ac: Change host_os to cygwin for mingw.
42682 (asprintf): New check for function.
42683
42684 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42685 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42686
42687 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
42688 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
42689 sync, sleep and grub_util_get_disk_size for mingw.
42690
42691 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42692 to get size in mingw.
42693 (open_device): Use flag O_BINARY if it's defined.
42694 (find_root_device): Add dummy code for mingw.
42695
42696 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42697 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42698 (get_scsi_disk_name): Return 0 for mingw.
42699
42700 * util/hostfs.c: #include <grub/util/misc.h>.
42701 (grub_hostfs_open): Use "rb" flag to open file, use
42702 grub_util_get_disk_size to get disk size for mingw.
42703
42704 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42705 (asprintf): New function if HAVE_ASPRINTF is not set.
42706 (sync): New function for mingw.
42707 (sleep): Likewise.
42708 (grub_util_get_disk_size): Likewise.
42709
42710 2008-08-28 Pavel Roskin <proski@gnu.org>
42711
42712 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42713 kern/time.c.
42714
42715 2008-08-28 Robert Millan <rmh@aybabtu.com>
42716
42717 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42718
42719 2008-08-28 Robert Millan <rmh@aybabtu.com>
42720
42721 Change find_grub_drive() syntax so it doesn't prevent it from
42722 detecting NULL names as errors.
42723
42724 * util/biosdisk.c (find_grub_drive): Move free slot search code
42725 from here ...
42726 (find_free_slot): ... to here.
42727 (read_device_map): Use find_free_slot() to search for free slots.
42728
42729 2008-08-27 Marco Gerards <marco@gnu.org>
42730
42731 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42732 (scsi_mod_SOURCES): New variable.
42733 (scsi_mod_CFLAGS): Likewise
42734 (scsi_mod_LDFLAGS): Likewise.
42735
42736 * disk/scsi.c: New file.
42737
42738 * include/grub/scsi.h: Likewise.
42739
42740 * include/grub/scsicmd.h: Likewise.
42741
42742 * disk/ata.c: Include <grub/scsi.h>.
42743 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42744 instead.
42745 (grub_ata_iterate): Skip ATAPI devices.
42746 (grub_ata_open): Only handle ATAPI devices.
42747 (struct grub_atapi_read): Removed.
42748 (grub_atapi_readsector): Likewise.
42749 (grub_ata_read): No longer handle ATAPI devices.
42750 (grub_ata_write): Likewise.
42751 (grub_atapi_iterate): New function.
42752 (grub_atapi_read): Likewise.
42753 (grub_atapi_write): Likewise.
42754 (grub_atapi_open): Likewise.
42755 (grub_atapi_close): Likewise.
42756 (grub_atapi_dev): New variable.
42757 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42758 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42759
42760 * include/grub/disk.h (enum grub_disk_dev_id): Add
42761 `GRUB_DISK_DEVICE_SCSI_ID'.
42762
42763 2008-08-26 Robert Millan <rmh@aybabtu.com>
42764
42765 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42766 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42767 descriptive.
42768
42769 2008-08-23 Bean <bean123ch@gmail.com>
42770
42771 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42772 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42773 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42774 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42775 dm_nv.mod.
42776 (raid5rec_mod_SOURCES): New macro.
42777 (raid5rec_mod_CFLAGS): Likewise.
42778 (raid5rec_mod_LDFLAGS): Likewise.
42779 (raid6rec_mod_SOURCES): Likewise.
42780 (raid6rec_mod_CFLAGS): Likewise.
42781 (raid6rec_mod_LDFLAGS): Likewise.
42782 (mdraid_mod_SOURCES): Likewise.
42783 (mdraid_mod_CFLAGS): Likewise.
42784 (mdraid_mod_LDFLAGS): Likewise.
42785 (dm_nv_mod_SOURCES): Likewise.
42786 (dm_nv_mod_CFLAGS): Likewise.
42787 (dm_nv_mod_LDFLAGS): Likewise.
42788
42789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42790 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42791 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42792
42793 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42794 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42795
42796 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42797
42798 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42799
42800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42801
42802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42803
42804 * disk/raid5_recover.c: New file.
42805
42806 * disk/raid6_recover.c: Likewise.
42807
42808 * disk/mdraid_linux.c: Likewise.
42809
42810 * disk/dmraid_nvidia.c: Likewise.
42811
42812 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42813 ULONG_MAX.
42814
42815 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42816 calculate the size of raid device.
42817 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42818 different layout of raid5.
42819 (grub_raid_scan_device): Remove code specific to mdraid.
42820 (grub_raid_list): New variable.
42821 (free_array): New function.
42822 (grub_raid_register): Likewise.
42823 (grub_raid_unregister): Likewise.
42824 (grub_raid_rescan): Likewise.
42825 (GRUB_MOD_INIT): Don't iterate device here.
42826 (GRUB_MOD_FINI): Use free_array to release resource.
42827
42828 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42829 (grub_raid5_recover_func_t): New function variable type.
42830 (grub_raid6_recover_func_t): Likewise.
42831 (grub_raid5_recover_func): New variable.
42832 (grub_raid6_recover_func): Likewise.
42833 (grub_raid_register): New function.
42834 (grub_raid_unregister): Likewise.
42835 (grub_raid_rescan): Likewise.
42836 (grub_raid_block_xor): Likewise.
42837
42838 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42839 (CMD_CRC): New macro.
42840 (part): Removed.
42841 (read_file): Handle device as well as file.
42842 (cmd_crc): New function.
42843 (fstest): Handle multiple disks.
42844 (options): Remove part, raw and long, add root and diskcount.
42845 (usage): Add crc, remove -p, -r, -l, add -r and -c.
42846 (main): Find the first non option entry and ignore subsequent options,
42847 add handling for the new options, support multiple disks.
42848
42849 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42850
42851 2008-08-23 Bean <bean123ch@gmail.com>
42852
42853 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42854
42855 * genfslist.sh: Ignore kernel.mod.
42856
42857 * genpartmaplist.sh: Likewise.
42858
42859 2008-08-23 Robert Millan <rmh@aybabtu.com>
42860
42861 * util/getroot.c (find_root_device): Skip anything that starts with
42862 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42863
42864 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
42865
42866 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42867 * util/grub.d/00_header.in: Allow the administrator to change default
42868 gfxmode via ${GRUB_GFXMODE}.
42869
42870 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
42871
42872 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42873
42874 2008-08-21 Robert Millan <rmh@aybabtu.com>
42875
42876 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42877 loader.
42878 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42879 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42880
42881 2008-08-20 Carles Pina i Estany <carles@pina.cat>
42882
42883 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42884 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42885
42886 2008-08-19 Robert Millan <rmh@aybabtu.com>
42887
42888 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42889 (struct grub_virtual_screen): Remove `cursor_color'.
42890 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42891 initialization.
42892 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42893
42894 2008-08-18 Robert Millan <rmh@aybabtu.com>
42895
42896 Unify (identical) linux_normal.c files.
42897 * loader/i386/efi/linux_normal.c: Move from here ...
42898 * loader/linux_normal.c: ... to here. Update all users.
42899 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42900 * loader/i386/ieee1275/linux_normal.c: Likewise.
42901
42902 2008-08-18 Robert Millan <rmh@aybabtu.com>
42903
42904 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42905 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42906 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42907 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42908 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42909 New macros.
42910 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42911 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42912 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42913 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42914 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42915 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42916 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42917 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42918 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42919 portably using grub_getxy().
42920 Replace `-EFI' with `-bzImage' in boot message.
42921
42922 2008-08-17 Robert Millan <rmh@aybabtu.com>
42923
42924 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42925
42926 2008-08-17 Robert Millan <rmh@aybabtu.com>
42927
42928 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42929
42930 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42931 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42932 (grub_machine_mmap_iterate): New function declaration.
42933 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42934 structure.
42935 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42936 macros.
42937
42938 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42939 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42940 Move e820 parsing from here ...
42941 * kern/i386/pc/mmap.c: New file.
42942 (grub_machine_mmap_iterate): ... to here.
42943
42944 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42945 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42946 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42947 (grub_available_iterate): Redeclare to return `void', and redeclare
42948 its hook to use grub_uint64_t as addr and size parameters, and rename
42949 to ...
42950 (grub_machine_mmap_iterate): ... this. Update all users.
42951
42952 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42953 to make it more readable. Rename to ...
42954 (grub_machine_mmap_iterate): ... this.
42955
42956 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42957 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42958 (grub_multiboot): Allocate an extra region after the payload, and fill
42959 it with a Multiboot memory map. Adjust a.out loader to calculate size
42960 with the extra space.
42961 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42962 with the extra space.
42963
42964 2008-08-17 Carles Pina i Estany <carles@pina.cat>
42965
42966 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
42967
42968 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
42969
42970 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42971 mdate-sh to the list `find' searches for.
42972 * DISTLIST: Regenerated.
42973
42974 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
42975
42976 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42977 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
42978 genmoddep.awk, gensymlist.sh.in.
42979 (DISTDIRS): Add bus, docs, hook, lib.
42980 * DISTLIST: Regenerated.
42981 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
42982
42983 2008-08-16 Robert Millan <rmh@aybabtu.com>
42984
42985 * disk/raid.c (grub_raid_init): Handle/report errors set by
42986 grub_device_iterate().
42987 * disk/lvm.c (grub_lvm_init): Likewise.
42988
42989 2008-08-15 Bean <bean123ch@gmail.com>
42990
42991 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42992 and datehook.mod.
42993 (datetime_mod_SOURCES): New macro.
42994 (datetime_mod_CFLAGS): Likewise.
42995 (datetime_mod_LDFLAGS): Likewise.
42996 (date_mod_SOURCES): Likewise.
42997 (date_mod_CFLAGS): Likewise.
42998 (date_mod_LDFLAGS): Likewise.
42999 (datehook_mod_SOURCES): Likewise.
43000 (datehook_mod_CFLAGS): Likewise.
43001 (datehook_mod_LDFLAGS): Likewise.
43002
43003 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
43004 and datehook.mod.
43005 (datetime_mod_SOURCES): New macro.
43006 (datetime_mod_CFLAGS): Likewise.
43007 (datetime_mod_LDFLAGS): Likewise.
43008 (date_mod_SOURCES): Likewise.
43009 (date_mod_CFLAGS): Likewise.
43010 (date_mod_LDFLAGS): Likewise.
43011 (datehook_mod_SOURCES): Likewise.
43012 (datehook_mod_CFLAGS): Likewise.
43013 (datehook_mod_LDFLAGS): Likewise.
43014
43015 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
43016 and datehook.mod.
43017 (datetime_mod_SOURCES): New macro.
43018 (datetime_mod_CFLAGS): Likewise.
43019 (datetime_mod_LDFLAGS): Likewise.
43020 (date_mod_SOURCES): Likewise.
43021 (date_mod_CFLAGS): Likewise.
43022 (date_mod_LDFLAGS): Likewise.
43023 (datehook_mod_SOURCES): Likewise.
43024 (datehook_mod_CFLAGS): Likewise.
43025 (datehook_mod_LDFLAGS): Likewise.
43026
43027 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
43028 and datehook.mod.
43029 (datetime_mod_SOURCES): New macro.
43030 (datetime_mod_CFLAGS): Likewise.
43031 (datetime_mod_LDFLAGS): Likewise.
43032 (date_mod_SOURCES): Likewise.
43033 (date_mod_CFLAGS): Likewise.
43034 (date_mod_LDFLAGS): Likewise.
43035 (datehook_mod_SOURCES): Likewise.
43036 (datehook_mod_CFLAGS): Likewise.
43037 (datehook_mod_LDFLAGS): Likewise.
43038
43039 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
43040 and datehook.mod.
43041 (datetime_mod_SOURCES): New macro.
43042 (datetime_mod_CFLAGS): Likewise.
43043 (datetime_mod_LDFLAGS): Likewise.
43044 (date_mod_SOURCES): Likewise.
43045 (date_mod_CFLAGS): Likewise.
43046 (date_mod_LDFLAGS): Likewise.
43047 (datehook_mod_SOURCES): Likewise.
43048 (datehook_mod_CFLAGS): Likewise.
43049 (datehook_mod_LDFLAGS): Likewise.
43050
43051 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
43052
43053 * commands/date.c: New file.
43054
43055 * hook/datehook.c: Likewise.
43056
43057 * include/grub/lib/datetime.h: Likewise.
43058
43059 * include/grub/i386/cmos.h: Likewise.
43060
43061 * lib/datetime.c: Likewise.
43062
43063 * lib/i386/datetime.c: Likewise.
43064
43065 * lib/efi/datetime.c: Likewise.
43066
43067 2008-08-14 Robert Millan <rmh@aybabtu.com>
43068
43069 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
43070 (grub_mkelfimage_SOURCES): New variable.
43071 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
43072
43073 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
43074 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
43075 * conf/powerpc-ieee1275.rmk: Likewise.
43076 * conf/i386-ieee1275.rmk: Likewise.
43077
43078 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
43079 * kern/i386/coreboot/init.c: Likewise.
43080
43081 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
43082 with `<grub/cpu/kernel.h>'.
43083 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
43084 to ...
43085 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
43086 * kern/i386/coreboot/startup.S: Likewise.
43087
43088 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
43089 (GRUB_MOD_GAP): Remove.
43090 * include/grub/powerpc/kernel.h: New file.
43091 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
43092 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
43093 * include/grub/i386/kernel.h: New file.
43094 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
43095 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
43096 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
43097
43098 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
43099 `grub-mkelfimage'.
43100 Use --directory when invoking grub_mkimage.
43101
43102 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
43103 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
43104 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
43105 and GRUB_KERNEL_CPU_PREFIX.
43106
43107 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
43108
43109 * include/grub/err.h (grub_err_printf): New function prototype.
43110 * util/misc.c (grub_err_printf): New function.
43111 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
43112 grub_printf.
43113 * kern/err.c (grub_print_error): Use grub_err_printf.
43114
43115 2008-08-13 Robert Millan <rmh@aybabtu.com>
43116
43117 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
43118
43119 2008-08-13 Robert Millan <rmh@aybabtu.com>
43120
43121 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
43122 boot entry.
43123
43124 2008-08-12 Robert Millan <rmh@aybabtu.com>
43125
43126 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
43127 of the relocation code from here ...
43128 (grub_multiboot): ... to here.
43129 (forward_relocator, backward_relocator): Move from here ...
43130 * kern/i386/loader.S (grub_multiboot_forward_relocator)
43131 (grub_multiboot_backward_relocator): ... to here.
43132 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
43133 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
43134 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
43135 (grub_multiboot_forward_relocator_end)
43136 (grub_multiboot_backward_relocator)
43137 (grub_multiboot_backward_relocator_end): New variables.
43138
43139 2008-08-12 Bean <bean123ch@gmail.com>
43140
43141 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
43142
43143 2008-08-11 Robert Millan <rmh@aybabtu.com>
43144
43145 * kern/i386/linuxbios/startup.S: Move from here ...
43146 * kern/i386/coreboot/startup.S: ... to here.
43147
43148 * kern/i386/linuxbios/init.c: Move from here ...
43149 * kern/i386/coreboot/init.c: ... to here.
43150
43151 * kern/i386/linuxbios/table.c: Move from here ...
43152 * kern/i386/coreboot/mmap.c: ... to here.
43153
43154 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
43155
43156 2008-08-11 Robert Millan <rmh@aybabtu.com>
43157
43158 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
43159 errors. Leave it to the upper layer to handle them.
43160
43161 2008-08-09 Christian Franke <franke@computer.org>
43162
43163 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
43164 * conf/common.rmk: Install `grub-pe2elf' only if requested.
43165 Install `grub.d/10_windows' only on Cygwin.
43166 * configure.ac: Add subst of `target_os'.
43167 Check `target_os' also before setting TARGET_OBJ2ELF.
43168 Add `--enable-grub-pe2elf'.
43169
43170 2008-08-08 Robert Millan <rmh@aybabtu.com>
43171
43172 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
43173 (grub_last_time): Change type to grub_uint64_t.
43174 (grub_disk_open): Migrate code from to using grub_get_time_ms().
43175 (grub_disk_close): Likewise.
43176
43177 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
43178 (run_menu): Migrate code from to using grub_get_time_ms().
43179
43180 * util/misc.c (grub_get_time_ms): New function.
43181
43182 2008-08-08 Marco Gerards <marco@gnu.org>
43183
43184 * disk/ata.c (grub_ata_regget): Change return type to
43185 `grub_uint8_t'.
43186 (grub_ata_regget2): Likewise.
43187 (grub_ata_wait_status): New function.
43188 (grub_ata_wait_busy): Removed function, updated all users to use
43189 `grub_ata_wait_status'.
43190 (grub_ata_wait_drq): Likewise.
43191 (grub_ata_cmd): New function.
43192 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
43193 error handling.
43194 (grub_ata_pio_write): Add error handling.
43195 (grub_atapi_identify): Likewise.
43196 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
43197 handling.
43198 (grub_ata_identify): Use `grub_ata_cmd' and improve error
43199 handling. Actually use the detected registers. Reorder the
43200 detection logic such that it is easier to read.
43201 (grub_ata_pciinit): Do not assign the same ID to each controller.
43202 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
43203 handling.
43204 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
43205
43206 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
43207
43208 2008-08-08 Marco Gerards <marco@gnu.org>
43209
43210 * NEWS: Update.
43211
43212 2008-08-07 Bean <bean123ch@gmail.com>
43213
43214 * include/grub/x86_64/pci.h: New file.
43215
43216 2008-08-07 Christian Franke <franke@computer.org>
43217
43218 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
43219 (TIMER2_GATE): Likewise.
43220 (grub_pit_wait): Add enable/disable of the timer2 gate
43221 bit of port 0x61. This fixes a possible infinite loop.
43222
43223 2008-08-07 Bean <bean123ch@gmail.com>
43224
43225 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
43226 kern/i386/tsc.c and kern/i386/pit.c.
43227
43228 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
43229 x86_64 platform.
43230
43231 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
43232 <grub/i386/tsc.h>.
43233
43234 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
43235
43236 2008-08-07 Bean <bean123ch@gmail.com>
43237
43238 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
43239
43240 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
43241
43242 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
43243 multiple inclusion. Add #include <grub/types.h>.
43244
43245 2008-08-06 Christian Franke <franke@computer.org>
43246
43247 * conf/common.rmk: Build and install `10_windows'.
43248 * util/grub.d/10_windows.in: New script.
43249
43250 2008-08-06 Pavel Roskin <proski@gnu.org>
43251
43252 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
43253
43254 2008-08-06 Robert Millan <rmh@aybabtu.com>
43255
43256 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
43257 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
43258
43259 2008-08-06 Bean <bean123ch@gmail.com>
43260
43261 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
43262 (grub_pxefs_fs_int): Remove dummy definition.
43263 (grub_pxefs_open): Use data->block_size to store the current block
43264 size setting.
43265 (grub_pxefs_read): Use block size stored in data->block_size. As the
43266 value of grub_pxe_blksize can be changed after the file is opened.
43267
43268 2008-08-06 Bean <bean123ch@gmail.com>
43269
43270 * fs/i386/pc/pxe.c (curr_file): new variable.
43271 (grub_pxefs_open): Simply the handling of pxe file system. Don't
43272 require the dummy internal file system anymore.
43273 (grub_pxefs_read): Removed.
43274 (grub_pxefs_close): Likewise.
43275 (grub_pxefs_fs_int): Likewise.
43276 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
43277 connection when we switch file.
43278 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
43279
43280 2008-08-06 Robert Millan <rmh@aybabtu.com>
43281
43282 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
43283 `halt.mod'.
43284 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
43285 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
43286
43287 * kern/i386/halt.c: New file.
43288 * kern/i386/reboot.c: Likewise.
43289 * include/grub/i386/reboot.h: Likewise.
43290 * include/grub/i386/halt.h: Likewise.
43291
43292 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
43293 Include `<grub/cpu/halt.h>'.
43294 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
43295 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
43296
43297 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
43298 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
43299 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
43300 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
43301 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
43302 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
43303 from here ...
43304 * include/grub/i386/at_keyboard.h: ... to here.
43305
43306 2008-08-05 Robert Millan <rmh@aybabtu.com>
43307
43308 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
43309 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
43310 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
43311 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43312 `kern/generic/millisleep.c'.
43313
43314 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
43315 instead of grub_get_rtc().
43316 (grub_tsc_init): Initialize `tsc_boot_time'.
43317
43318 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
43319 (grub_machine_init): Use grub_tsc_init() rather than
43320 installing an RTC-based handler via grub_install_get_time_ms().
43321
43322 * kern/i386/pit.c: New file.
43323 * include/grub/i386/pit.h: Likewise.
43324
43325 2008-08-05 Bean <bean123ch@gmail.com>
43326
43327 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
43328
43329 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
43330 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
43331 (pxe_mod_SOURCES): New macro.
43332 (pxe_mod_CFLAGS): Likewise.
43333 (pxe_mod_LDFLAGS): Likewise.
43334 (pxecmd_mod_SOURCES): Likewise.
43335 (pxecmd_mod_CFLAGS): Likewise.
43336 (pxecmd_mod_LDFLAGS): Likewise.
43337
43338 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
43339 (grub_pxe_call): Likewise.
43340
43341 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
43342
43343 * commands/i386/pc/pxecmd.c: New file.
43344
43345 * fs/i386/pc/pxe.c: Likewise.
43346
43347 * include/grub/i386/pc/pxe.h: Likewise.
43348
43349 2008-08-05 Bean <bean123ch@gmail.com>
43350
43351 * util/console.c (grub_console_cur_color): New variable.
43352 (grub_console_standard_color): Likewise.
43353 (grub_console_normal_color): Likewise.
43354 (grub_console_highlight_color): Likewise.
43355 (color_map): Likewise.
43356 (use_color): Likewise.
43357 (NUM_COLORS): New macro.
43358 (grub_ncurses_setcolorstate): Handle color properly.
43359 (grub_ncurses_setcolor): Don't change color here, just remember the
43360 settings, color will be set in grub_ncurses_setcolorstate.
43361 (grub_ncurses_getcolor): New function.
43362 (grub_ncurses_init): Initialize color pairs.
43363 (grub_ncurses_term): New member grub_ncurses_getcolor.
43364
43365 2008-08-05 Colin D Bennett <colin@gibibit.com>
43366
43367 High resolution timer support. Implemented for x86 CPUs using TSC.
43368 Extracted generic grub_millisleep() so it's linked in only as needed.
43369 This requires a Pentium compatible CPU; if the RDTSC instruction is
43370 not supported, then it falls back on the generic grub_get_time_ms()
43371 implementation that uses the machine's RTC.
43372
43373 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43374 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43375 `kern/generic/millisleep.c'.
43376
43377 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43378 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43379
43380 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43381 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43382
43383 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43384
43385 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43386 `kern/generic/millisleep.c'.
43387
43388 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43389
43390 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43391
43392 * kern/generic/rtc_get_time_ms.c: New file.
43393
43394 * kern/generic/millisleep.c: New file.
43395
43396 * kern/misc.c: Don't include
43397 <kern/time.h> anymore.
43398 (grub_millisleep_generic): Removed.
43399
43400 * commands/sleep.c (grub_interruptible_millisleep): Uses
43401 grub_get_time_ms() instead of grub_get_rtc().
43402
43403 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43404 function.
43405 (grub_cpu_is_cpuid_supported): New inline function.
43406 (grub_cpu_is_tsc_supported): New inline function.
43407 (grub_tsc_init): New function prototype.
43408 (grub_tsc_get_time_ms): New function prototype.
43409
43410 * kern/i386/tsc.c (grub_get_time_ms): New file.
43411
43412 * include/grub/time.h: Include <grub/types.h.
43413 (grub_millisleep_generic): Removed.
43414 (grub_get_time_ms): New prototype.
43415 (grub_install_get_time_ms): New prototype.
43416 (grub_rtc_get_time_ms): New prototype.
43417
43418 * kern/time.c (grub_get_time_ms): New function.
43419 (grub_install_get_time_ms): New function.
43420
43421 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43422 <grub/time.h> anymore.
43423 (grub_millisleep): Removed.
43424 (grub_machine_init): Call grub_tsc_init.
43425
43426 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43427 get_time_ms() implementation.
43428
43429 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43430 (ieee1275_get_time_ms): New function.
43431 (grub_machine_init): Install get_time_ms() implementation.
43432
43433 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43434 (grub_machine_init): Call grub_tsc_init().
43435 (grub_millisleep): Removed.
43436
43437 * kern/ieee1275/init.c (grub_millisleep): Removed.
43438 (grub_machine_init): Install ieee1275_get_time_ms()
43439 implementation.
43440 (ieee1275_get_time_ms): New function.
43441 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43442 real work.
43443
43444 2008-08-05 Marco Gerards <marco@gnu.org>
43445
43446 * disk/ata.c: Include <grub/pci.h>.
43447 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43448 (grub_ata_initialize): Rewritten.
43449 (grub_ata_device_initialize): New function.
43450
43451 2008-08-04 Pavel Roskin <proski@gnu.org>
43452
43453 * kern/main.c: Include grub/mm.h.
43454
43455 2008-08-04 Robert Millan <rmh@aybabtu.com>
43456
43457 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43458 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43459 corruption problem).
43460
43461 2008-08-04 Robert Millan <rmh@aybabtu.com>
43462
43463 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43464 warnings introduced in my last commit.
43465
43466 2008-08-03 Robert Millan <rmh@aybabtu.com>
43467
43468 Make PCI available on all i386 architectures.
43469
43470 * include/grub/i386/pc/pci.h: Move from here ...
43471 * include/grub/i386/pci.h: ... to here.
43472
43473 * include/grub/i386/pc/pci.h: Remove.
43474 * include/grub/i386/efi/pci.h: Remove.
43475 * include/grub/x86_64/efi/pci.h: Remove.
43476
43477 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43478 `<grub/cpu/pci.h>'.
43479
43480 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43481 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43482 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43483
43484 * conf/i386-ieee1275.rmk: Likewise.
43485
43486 2008-08-03 Robert Millan <rmh@aybabtu.com>
43487
43488 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43489 (grub_console_setcursor): Make it possible to set cursor off.
43490
43491 2008-08-03 Robert Millan <rmh@aybabtu.com>
43492
43493 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43494 of modules instead of assuming which platform provides what.
43495 * util/update-grub.in: Likewise.
43496
43497 2008-08-03 Robert Millan <rmh@aybabtu.com>
43498
43499 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43500 instead of `grub_install_dos_part' to determine whether a drive needs
43501 to be prepended to prefix (`grub_install_dos_part' is not reliable,
43502 because it can be overridden when loading GRUB via Multiboot).
43503
43504 2008-08-02 Robert Millan <rmh@aybabtu.com>
43505
43506 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43507
43508 2008-08-02 Robert Millan <rmh@aybabtu.com>
43509
43510 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43511 of informational grub_dprintf() calls.
43512
43513 2008-08-02 Robert Millan <rmh@aybabtu.com>
43514
43515 * disk/memdisk.c (memdisk_size): Don't initialize.
43516 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43517
43518 * include/grub/i386/pc/kernel.h
43519 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43520 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43521 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43522 (grub_arch_memdisk_size): Remove.
43523
43524 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43525 field (was only used to transfer a constant). Add `type' field to
43526 support multiple module types.
43527 (grub_module_iterate): New function.
43528
43529 * kern/device.c (grub_device_open): Do not hide error messages
43530 when grub_disk_open() fails. Use grub_print_error() instead.
43531
43532 * kern/i386/pc/init.c (grub_arch_modules_addr)
43533 (grub_arch_memdisk_size): Remove functions.
43534 (grub_arch_modules_addr): Return the module address in high memory
43535 (now that it isn't copied anymore).
43536
43537 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43538 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43539 decompression routine (grub_total_module_size already includes that
43540 now). Don't copy modules back to low memory.
43541
43542 * kern/main.c: Include `<grub/mm.h>'.
43543 (grub_load_modules): Split out (and use) ...
43544 (grub_module_iterate): ... this function, which iterates through
43545 module objects and runs a hook.
43546 Comment out grub_mm_init_region() call, as it would cause non-ELF
43547 modules to be overwritten.
43548
43549 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43550 the memdisk image in its own region, make it part of the module list.
43551 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43552 (main): Parse --memdisk|-m option, and pass user-provided path as
43553 parameter to generate_image().
43554 (add_segments): Pass `memdisk_path' down to load_modules().
43555 (load_modules): Embed memdisk image in module section when requested.
43556 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43557 `header.type' instead of `header.offset'.
43558
43559 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43560 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43561 (memdisk_mod_LDFLAGS): New variables.
43562 * conf/i386-coreboot.rmk: Likewise.
43563 * conf/i386-ieee1275.rmk: Likewise.
43564
43565 2008-08-02 Robert Millan <rmh@aybabtu.com>
43566
43567 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43568 (backward_relocator): New variables. Used to allocate and relocate
43569 the payload, respectively.
43570 (grub_multiboot_load_elf32): Load into heap instead of requested
43571 address, install the appropriate relocator code in each bound of
43572 the payload, and set the entry point such that
43573 grub_multiboot_real_boot() will jump to one of them.
43574
43575 * kern/i386/loader.S (grub_multiboot_payload_size)
43576 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43577 (grub_multiboot_payload_entry_offset): New variables.
43578 (grub_multiboot_real_boot): Set cpu context to what the relocator
43579 expects, and jump to the relocator instead of the payload.
43580
43581 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43582 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43583 (grub_multiboot_payload_entry_offset): Export.
43584
43585 2008-08-01 Bean <bean123ch@gmail.com>
43586
43587 * normal/menu_entry.c (editor_getline): Don't return the original
43588 string as result, as it will be released by lexer once it has done
43589 using it.
43590
43591 2008-08-01 Robert Millan <rmh@aybabtu.com>
43592
43593 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43594 within menuentries, not before them.
43595 util/grub.d/10_hurd.in: Likewise.
43596
43597 2008-08-01 Bean <bean123ch@gmail.com>
43598
43599 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43600 (bufio_mod_SOURCES): New macro.
43601 (bufio_mod_CFLAGS): Likewise.
43602 (bufio_mod_LDFLAGS): Likewise.
43603
43604 * include/grub/bufio.h: New file.
43605
43606 * io/bufio.c: Likewise.
43607
43608 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43609 (grub_video_reader_png): Use grub_buffile_open to open file.
43610
43611 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43612 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43613
43614 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43615 (grub_video_reader_tga): Use grub_buffile_open to open file.
43616
43617 * font/manager.c: Include <grub/bufio.h>.
43618 (add_font): Use grub_buffile_open to open file.
43619
43620 2008-07-31 Robert Millan <rmh@aybabtu.com>
43621
43622 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43623 ELF segments, use a macro for arbitrarily accessing any of them instead
43624 of preparing a pointer that allows access to one at a time.
43625 (grub_multiboot_load_elf64): Likewise.
43626
43627 2008-07-31 Bean <bean123ch@gmail.com>
43628
43629 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43630 GRUB_KERNEL_MACHINE_DATA_END.
43631
43632 2008-07-30 Robert Millan <rmh@aybabtu.com>
43633
43634 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43635 Increase from 0x50 to 0x60.
43636 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43637 use UUIDs to identify the root drive for them. If that's not
43638 possible, abort.
43639 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43640 check, for cross-disk installs.
43641
43642 2008-07-30 Robert Millan <rmh@aybabtu.com>
43643
43644 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43645 is non-empty, use it to set the `prefix' environment variable instead
43646 of the usual approach.
43647 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43648 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43649 environment variable instead of dummy make_install_device().
43650
43651 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43652 (start): Insert a data section, with `grub_prefix' variable.
43653 * kern/i386/linuxbios/startup.S: Likewise.
43654
43655 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43656 New variable reference.
43657 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43658 New macro. Defines offset of `grub_prefix' within startup.S (relative
43659 to `start').
43660 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43661 section within startup.S (relative to `start').
43662 * include/grub/i386/coreboot/kernel.h: Likewise.
43663
43664 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43665 Overwrite grub_prefix with its contents, at the beginning of the
43666 first segment.
43667 (main): Understand -p|--prefix.
43668
43669 2008-07-30 Robert Millan <rmh@aybabtu.com>
43670
43671 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43672
43673 2008-07-30 Robert Millan <rmh@aybabtu.com>
43674
43675 * term/i386/pc/vga_text.c (grub_console_cls): Use
43676 grub_console_gotoxy() to go back to beginning of the screen.
43677 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43678
43679 2008-07-29 Christian Franke <franke@computer.org>
43680
43681 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43682 Add conversion of emulated mount points on Cygwin.
43683
43684 2008-07-29 Christian Franke <franke@computer.org>
43685
43686 * util/update-grub.in: Add a check for admin
43687 group on Cygwin.
43688 Remove old `grub.cfg.new' before creation.
43689 Add `-f' to `mv' to handle the different filesystem
43690 semantics of Windows.
43691
43692 2008-07-29 Bean <bean123ch@gmail.com>
43693
43694 * normal/main.c (get_line): Fix buffer overflow bug.
43695
43696 2008-07-28 Robert Millan <rmh@aybabtu.com>
43697
43698 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43699 (struct grub_apple_header): New struct. Describes the layout of
43700 the partmap header.
43701 (apple_partition_map_iterate): Check the header magic as well as the
43702 partition magic (which was already being checked).
43703
43704 2008-07-28 Pavel Roskin <proski@gnu.org>
43705
43706 * genmk.rb: Add a warning to the beginning of the output that
43707 it's a generated file and should not be edited.
43708
43709 2008-07-28 Robert Millan <rmh@aybabtu.com>
43710
43711 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43712 with the same number are found, just use issue a warning with
43713 grub_dprintf(), as this error has been reported to be non-fatal.
43714
43715 2008-07-27 Robert Millan <rmh@aybabtu.com>
43716
43717 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43718 information.
43719
43720 2008-07-27 Bean <bean123ch@gmail.com>
43721
43722 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43723 (grub_fat_find_dir): Ignore case when comparing filename.
43724
43725 2008-07-27 Bean <bean123ch@gmail.com>
43726
43727 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43728 smallino, as it's more descriptive, and i8count can be confused with
43729 the other field count.
43730 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43731 inode type.
43732
43733 2008-07-27 Bean <bean123ch@gmail.com>
43734
43735 * commands/crc.c: New file.
43736
43737 * lib/crc.c: Likewise.
43738
43739 * include/grub/lib/crc.h: Likewise.
43740
43741 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43742
43743 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43744 (hexdump): Move this function to ...
43745
43746 * lib/hexdump.c: ... here.
43747
43748 * include/grub/hexdump.h: Renamed to ...
43749
43750 * include/grub/lib/hexdump.h: ... this.
43751
43752 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43753
43754 * util/grub-editenv.c: Likewise.
43755
43756 * include/envblk.h: Renamed to ...
43757
43758 * include/lib/envblk.h: ... this.
43759
43760 * util/envblk.c: Renamed to ...
43761
43762 * lib/envblk.c: ... this.
43763
43764 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43765 lib/hexdump.c.
43766 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43767 (pkglib_MODULES): Add crc.mod.
43768 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43769 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43770 (crc_mod_SOURCES): New macro.
43771 (crc_mod_CFLAGS): Likewise.
43772 (crc_mod_LDFLAGS): Likewise.
43773
43774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43775
43776 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43777
43778 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43779
43780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43781
43782 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43783
43784 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
43785
43786 * commands/help.c: Include <grub/term.h>.
43787 (TERM_WIDTH): Removed. Updated all users.
43788
43789 2008-07-27 Pavel Roskin <proski@gnu.org>
43790
43791 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43792 spurious warnings about a comment within a comment.
43793
43794 2008-07-25 Robert Millan <rmh@aybabtu.com>
43795
43796 * util/getroot.c (find_root_device): Skip devices that match
43797 /dev/dm-[0-9]. This lets the real device be found for any type of
43798 abstraction (LVM, EVMS, RAID..).
43799 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43800 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43801 device is found first, find_root_device() will now skip it.
43802
43803 2008-07-24 Pavel Roskin <proski@gnu.org>
43804
43805 * include/grub/types.h: Use __builtin_bswap32() and
43806 __builtin_bswap64() with gcc 4.3 and newer.
43807
43808 2008-07-24 Christian Franke <franke@computer.org>
43809
43810 * util/i386/pc/grub-install.in: If `--debug' is specified,
43811 pass `--verbose' to grub-setup.
43812 Abort script if make_system_path_relative_to_its_root() fails.
43813
43814 2008-07-24 Bean <bean123ch@gmail.com>
43815
43816 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43817 variable `target_platform' should be `platform'.
43818
43819 2008-07-24 Bean <bean123ch@gmail.com>
43820
43821 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
43822 (grub_png_init_fixed_block): New function.
43823 (grub_png_decode_image_data): Handle fixed huffman code compression.
43824
43825 2008-07-24 Bean <bean123ch@gmail.com>
43826
43827 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43828 (grub_pe2elf_SOURCES): New macro.
43829 (CLEANFILES): Add grub-pe2elf.
43830
43831 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43832 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43833 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43834 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43835 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43836 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43837 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43838 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43839 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43840 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43841 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43842 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43843 (GRUB_PE32_DT_FUNCTION): Likewise.
43844 (GRUB_PE32_REL_I386_DIR32): Likewise.
43845 (GRUB_PE32_REL_I386_REL32): Likewise.
43846 (grub_pe32_symbol): New structure.
43847 (grub_pe32_reloc): Likewise.
43848
43849 * util/grub-pe2elf.c: New file.
43850
43851 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43852 start symbol in non pc platform.
43853
43854 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43855
43856 The following patches are from Christian Franke.
43857
43858 * include/grub/dl.h: Remove .previous, gas supports this only
43859 for ELF format.
43860
43861 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43862 Remove .type, gas supports this only for ELF format.
43863
43864 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43865 nullbytes in symbol table. This fixes an infinite loop if table is
43866 zero filled.
43867
43868 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43869 TARGET_IMG_LDFLAGS and EXEEXT.
43870
43871 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43872 TARGET_IMG_LDFLAGS_AC.
43873 (grub_CHECK_STACK_ARG_PROBE): New function.
43874
43875 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43876
43877 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43878
43879 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43880 to set TARGET_IMG_LD* accordingly.
43881 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43882 Add call to grub_CHECK_STACK_ARG_PROBE.
43883 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43884
43885 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43886
43887 * genmk.rb: Add EXEEXT to CLEANFILES.
43888
43889 2008-07-23 Robert Millan <rmh@aybabtu.com>
43890
43891 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43892 define the codes for arrows and lines used for the menu).
43893 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43894 as well.
43895
43896 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43897 fonts, because the latter are too slow.
43898
43899 2008-07-21 Bean <bean123ch@gmail.com>
43900
43901 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43902 a20. Run keyboard test last, as it will cause macbook to halt.
43903
43904 2008-07-18 Pavel Roskin <proski@gnu.org>
43905
43906 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43907 load foreign architecture modules correctly anyway. Keep
43908 support for loading host architecture modules, whether we
43909 compile them or not.
43910
43911 2008-07-17 Pavel Roskin <proski@gnu.org>
43912
43913 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43914 change target_cpu. The compiler default can mismatch target_cpu
43915 in any case.
43916
43917 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43918 * kern/efi/efi.c: Likewise.
43919
43920 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43921 target compiler is functional.
43922 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43923 are set up.
43924
43925 * configure.ac: Default to efi platform for x86_64-apple. Allow
43926 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43927 adjustments from the rest, only do them if target is not
43928 explicitly given. Merge other adjustments with the final sanity
43929 check. Remove an extraneous check for supported CPU. Be
43930 specific which CPU and which platform is not supported.
43931
43932 * configure.ac: Default to pc platform for x86_64.
43933
43934 2008-07-17 Robert Millan <rmh@aybabtu.com>
43935
43936 Partial LinuxBIOS -> Coreboot rename.
43937
43938 * conf/i386-linuxbios.rmk: Renamed to ...
43939 * conf/i386-coreboot.rmk: ... this.
43940 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43941 * configure.ac: Accept "coreboot" as input platform (but maintain
43942 compatibility with "linuxbios").
43943 * include/grub/i386/linuxbios: Renamed to ...
43944 * include/grub/i386/coreboot: ... this.
43945
43946 2008-07-17 Bean <bean123ch@gmail.com>
43947
43948 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
43949 (appleldr_mod_SOURCE): New variable.
43950 (appleldr_mod_CFLAGS): Likewise.
43951 (appleldr_mod_LDFLAGS): Likewise.
43952 (pci_mod_SOURCES): Likewise.
43953 (pci_mod_CFLAGS): Likewise.
43954 (pci_mod_LDFLAGS): Likewise.
43955 (lspci_mod_SOURCES): Likewise.
43956 (lspci_mod_CFLAGS): Likewise.
43957 (lspci_mod_LDFLAGS): Likewise.
43958
43959 * conf/x86_64-efi.rmk: New file.
43960
43961 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43962 macro.
43963 (grub_efidisk_write): Likewise.
43964
43965 * include/efi/api.h (efi_call_0): New macro.
43966 (efi_call_1): Likewise.
43967 (efi_call_2): Likewise.
43968 (efi_call_3): Likewise.
43969 (efi_call_4): Likewise.
43970 (efi_call_5): Likewise.
43971 (efi_call_6): Likewise.
43972
43973 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43974 grub_rescue_cmd_chainloader.
43975
43976 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43977 (grub_pe32_optional_header): Change some fields based on i386 or
43978 x86_64 platform.
43979 (GRUB_PE32_PE32_MAGIC): Likewise.
43980
43981 * include/grub/efi/uga_draw.h: New file.
43982
43983 * include/grub/elf.h (STN_ABS): New constant.
43984 (R_X86_64_NONE): Relocation constant for x86_64.
43985 (R_X86_64_64): Likewise.
43986 (R_X86_64_PC32): Likewise.
43987 (R_X86_64_GOT32): Likewise.
43988 (R_X86_64_PLT32): Likewise.
43989 (R_X86_64_COPY): Likewise.
43990 (R_X86_64_GLOB_DAT): Likewise.
43991 (R_X86_64_JUMP_SLOT): Likewise.
43992 (R_X86_64_RELATIVE): Likewise.
43993 (R_X86_64_GOTPCREL): Likewise.
43994 (R_X86_64_32): Likewise.
43995 (R_X86_64_32S): Likewise.
43996 (R_X86_64_16): Likewise.
43997 (R_X86_64_PC16): Likewise.
43998 (R_X86_64_8): Likewise.
43999 (R_X86_64_PC8): Likewise.
44000
44001 * include/grub/i386/efi/pci.h: New file.
44002
44003 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
44004 Change it value based on platform.
44005 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
44006 (GRUB_E820_RAM): Likewise.
44007 (GRUB_E820_RESERVED): Likewise.
44008 (GRUB_E820_ACPI): Likewise.
44009 (GRUB_E820_NVS): Likewise.
44010 (GRUB_E820_EXEC_CODE): Likewise.
44011 (GRUB_E820_MAX_ENTRY): Likewise.
44012 (grub_e820_mmap): New structure.
44013 (linux_kernel_header): Change the efi field according to different
44014 kernel version, also field from linux_kernel_header.
44015
44016 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
44017
44018 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
44019 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
44020 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
44021 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
44022 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
44023 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
44024 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
44025 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
44026 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
44027 (GRUB_PCI_ADDR_IO_MASK): Likewise.
44028
44029 * include/grub/x86_64/efi/kernel.h: New file.
44030
44031 * include/grub/x86_64/efi/loader.h: Likewise.
44032
44033 * include/grub/x86_64/efi/machine.h: Likewise.
44034
44035 * include/grub/x86_64/efi/pci.h: Likewise.
44036
44037 * include/grub/x86_64/efi/time.h: Likewise.
44038
44039 * include/grub/x86_64/linux.h: Likewise.
44040
44041 * include/grub/x86_64/setjmp.h: Likewise.
44042
44043 * include/grub/x86_64/time.h: Likewise.
44044
44045 * include/grub/x86_64/types.h: Likewise.
44046
44047 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
44048 GRUB_TARGET_SIZEOF_VOID_P.
44049
44050 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
44051 (grub_efi_locate_handle): Likewise.
44052 (grub_efi_open_protocol): Likewise.
44053 (grub_efi_set_text_mode): Likewise.
44054 (grub_efi_stall): Likewise.
44055 (grub_exit): Likewise.
44056 (grub_reboot): Likewise.
44057 (grub_halt): Likewise.
44058 (grub_efi_exit_boot_services): Likewise.
44059 (grub_get_rtc): Likewise.
44060
44061 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
44062 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
44063 (grub_efi_allocate_pages): Wrap efi calls.
44064 (grub_efi_free_pages): Wrap efi calls.
44065 (grub_efi_get_memory_map): Wrap efi calls.
44066
44067 * kern/x86_64/dl.c: New file.
44068
44069 * kern/x86_64/efi/callwrap.S: Likewise.
44070
44071 * kern/x86_64/efi/startup.S: Likewise.
44072
44073 * loader/efi/appleloader.c: Likewise.
44074
44075 * loader/efi/chainloader.c (cmdline): New variable.
44076 (grub_chainloader_unload): Wrap efi calls.
44077 (grub_chainloader_boot): Likewise.
44078 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
44079 command line.
44080
44081 * loader/efi/chainloader_normal.c (chainloader_command):
44082 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
44083 command line.
44084
44085 * loader/i386/efi/linux.c (allocate_pages): Change allocation
44086 method.
44087 (grub_e820_add_region): New function.
44088 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
44089 booting.
44090 (grub_find_video_card): New function.
44091 (grub_linux_setup_video): New function.
44092 (grub_rescue_cmd_linux): Probe for video information.
44093
44094 * normal/x86_64/setjmp.S: New file.
44095
44096 * term/efi/console.c (map_char): New function.
44097 (grub_console_putchar): Map unicode char.
44098 (grub_console_checkkey): Wrap efi calls.
44099 (grub_console_getkey): Likewise.
44100 (grub_console_getwh): Likewise.
44101 (grub_console_gotoxy): Likewise.
44102 (grub_console_cls): Likewise.
44103 (grub_console_setcolorstate): Likewise.
44104 (grub_console_setcursor): Likewise.
44105
44106 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
44107
44108 2008-07-16 Pavel Roskin <proski@gnu.org>
44109
44110 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
44111 format strings.
44112
44113 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
44114 pointer, not an integer. This fixes a warning and prevents
44115 precision loss on 64-bit systems.
44116 (relocate_addresses): Remove unneeded cast.
44117
44118 2008-07-15 Pavel Roskin <proski@gnu.org>
44119
44120 * kern/i386/ieee1275/init.c: Include grub/cache.h.
44121
44122 * term/ieee1275/ofconsole.c: Disable code unused on i386.
44123
44124 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
44125 Fix comparison between signed and unsigned.
44126
44127 * include/grub/i386/ieee1275/console.h: Declare
44128 grub_console_init() and grub_console_fini().
44129
44130 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
44131 It's empty and unused.
44132
44133 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
44134 beginning to avoid warnings with some compilers.
44135
44136 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
44137 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
44138
44139 2008-07-14 Pavel Roskin <proski@gnu.org>
44140
44141 * kern/env.c (grub_register_variable_hook): Don't copy empty
44142 string, it leaks memory. Pass "" to grub_env_set(), it should
44143 handle constant strings.
44144
44145 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
44146 * commands/cmp.c (grub_cmd_cmp): Likewise.
44147 * kern/dl.c (grub_dl_flush_cache): Likewise.
44148 (grub_dl_load_core): Likewise.
44149 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
44150 (grub_elf64_load_phdrs): Likewise.
44151
44152 2008-07-13 Pavel Roskin <proski@gnu.org>
44153
44154 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
44155 between signed and unsigned.
44156 (LzmaEnc_Finish): Fix warning about an unused parameter.
44157
44158 2008-07-13 Bean <bean123ch@gmail.com>
44159
44160 * Makefile.in (enable_lzo): New rule.
44161
44162 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
44163
44164 * configure.ac (ENABLE_LZO): New option --enable-lzo.
44165
44166 * boot/i386/pc/lnxboot.S: #include <config.h>.
44167
44168 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
44169 its value according to the compression algorithm used, lzo or lzma.
44170
44171 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
44172 compression algorithm according to configure macro.
44173
44174 * kern/i386/pc/startup.S (codestart): Likewise.
44175
44176 * kern/i386/pc/lzma_decode.S: New file.
44177
44178 * include/grub/lib/LzFind.h: Likewise.
44179
44180 * include/grub/lib/LzHash.h: Likewise.
44181
44182 * include/grub/lib/LzmaDec.h: Likewise.
44183
44184 * include/grub/lib/LzmaEnc.h: Likewise.
44185
44186 * include/grub/lib/LzmaTypes.h: Likewise.
44187
44188 * lib/LzFind.c: Likewise.
44189
44190 * lib/LzmaDec.c: Likewise.
44191
44192 * lib/LzmaEnc.c: Likewise.
44193
44194 2008-07-13 Bean <bean123ch@gmail.com>
44195
44196 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
44197 (grub_ext4_extent_header): New structure.
44198 (grub_ext4_extent): Likewise.
44199 (grub_ext4_extent_idx): Likewise.
44200 (grub_ext4_find_leaf): New function.
44201 (grub_ext2_read_block): Handle extents.
44202
44203 2008-07-12 Robert Millan <rmh@aybabtu.com>
44204
44205 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
44206
44207 2008-07-11 Robert Millan <rmh@aybabtu.com>
44208
44209 * util/grub.d/40_custom.in: New file. Example on how to add custom
44210 entries to /etc/grub.d.
44211 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
44212 40_custom (implicitly, by merging all the grub.d rules).
44213
44214 2008-07-11 Pavel Roskin <proski@gnu.org>
44215
44216 * commands/read.c (grub_getline): Fix invalid memory access.
44217 Don't add newline to the variable value.
44218
44219 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
44220 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
44221 (serial_hw_get_port): Check validity of the port number.
44222 (grub_cmd_serial): Check return value of serial_hw_get_port().
44223
44224 2008-07-07 Pavel Roskin <proski@gnu.org>
44225
44226 * boot/i386/pc/diskboot.S (notification_string): Replace
44227 "Loading kernel" with just "loading". This is shorter, less
44228 confusing and saves a few bytes for possible future changes.
44229
44230 2008-07-05 Pavel Roskin <proski@gnu.org>
44231
44232 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
44233 size for ATAPI devices, they are undefined. Output sector
44234 number in decimal form.
44235
44236 * disk/ata.c: Use named constants for status bits.
44237
44238 2008-07-04 Pavel Roskin <proski@gnu.org>
44239
44240 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
44241 grub_addr_t before casting it to the void pointer to fix a
44242 warning. Non-addressable regions are discarded earlier.
44243 (grub_arch_modules_addr): Cast _end to grub_addr_t.
44244 * kern/i386/linuxbios/table.c: Include grub/misc.h.
44245 (check_signature): Don't shadow table_header.
44246 (grub_linuxbios_table_iterate): Cast numeric constants to
44247 grub_linuxbios_table_header_t.
44248 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
44249 grub_stop().
44250
44251 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
44252 prevent warnings.
44253
44254 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
44255 pointer, which can cause warnings. Support 64-bit addresses.
44256
44257 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
44258 of sizeof(long). This fixes PowerPC image generation on x86_64.
44259
44260 2008-07-04 Robert Millan <rmh@aybabtu.com>
44261
44262 This fixes a performance issue when pc & gpt partmap iterators
44263 didn't abort iteration even after our hook found what it was
44264 looking for (often causing expensive probes of non-existent drives).
44265
44266 Some callers relied on previous buggy behaviour, since they would
44267 raise an error when their own hooks caused early abortion of its
44268 iteration.
44269
44270 * kern/device.c (grub_device_open): Improve error message.
44271 * disk/lvm.c (grub_lvm_open): Likewise.
44272 * disk/raid.c (grub_raid_open): Likewise.
44273
44274 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
44275 when hook requests it, independently of grub_errno.
44276 (pc_partition_map_probe): Do not fail when find_func() caused
44277 early abortion of pc_partition_map_iterate().
44278
44279 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
44280 when hook requests it, independently of grub_errno.
44281 (gpt_partition_map_probe): Do not fail when find_func() caused
44282 early abortion of gpt_partition_map_iterate().
44283
44284 * kern/partition.c (grub_partition_iterate): Abort parent iteration
44285 when hook requests it, independently of grub_errno. Do not fail when
44286 part_map_iterate_hook() caused early abortion of p->iterate().
44287
44288 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
44289 when grub_partition_iterate() returned with non-zero.
44290
44291 2008-07-03 Pavel Roskin <proski@gnu.org>
44292
44293 * disk/ata.c (grub_ata_pio_write): Check status before writing,
44294 like we do in grub_ata_pio_read().
44295 (grub_ata_readwrite): Always write individual sectors. Fix the
44296 sector count for the remainder.
44297 (grub_ata_write): Enable writing to ATA devices. Correctly
44298 report error for ATAPI devices.
44299
44300 2008-07-02 Pavel Roskin <proski@gnu.org>
44301
44302 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
44303 warning.
44304
44305 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
44306 for every read sector, we already increment it for the whole
44307 batch. This fixes reading more than 256 sectors at once.
44308
44309 * util/grub-editenv.c (cmd_info): Cast argument to long
44310 explicitly. ptrdiff_t reduces to int on i386.
44311
44312 * util/grub-editenv.c (main): Be specific which parameter is
44313 missing.
44314
44315 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
44316 (memdisk): Make memdisk_orig_addr a pointer.
44317
44318 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
44319 for file offsets, use grub_off_t instead. Fix printf format
44320 warnings.
44321
44322 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
44323 there. Real unexpected warnings should not drown in the noise
44324 about known problems.
44325
44326 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
44327 grub_disk_addr_t for memory addresses.
44328
44329 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
44330 explicitly to fix a warning.
44331
44332 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
44333
44334 * Makefile.in (MODULE_LDFLAGS): New variable.
44335 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
44336 the linker accepts --build-id=none.
44337 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
44338 MODULE_LDFLAGS.
44339 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
44340
44341 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
44342 those in Linux XFS code. Provide a way to access 64-bit parent
44343 inode.
44344 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
44345 the end of struct grub_xfs_dir_header.
44346
44347 2008-07-02 Bean <bean123ch@gmail.com>
44348
44349 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
44350 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44351 and GRUB_IEEE1275_FLAG_NO_ANSI.
44352
44353 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
44354 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44355 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
44356
44357 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44358 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44359
44360 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44361 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44362
44363 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44364 esc sequence on non ANSI terminal.
44365 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44366
44367 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44368 beginning of file.
44369
44370 2008-07-02 Bean <bean123ch@gmail.com>
44371
44372 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44373 (grub_editenv_SOURCES): New variable.
44374 (pkglib_MODULES): Add loadenv.mod.
44375 (loadenv_mod_SOURCES): New variable.
44376 (loadenv_mod_CFLAGS): Likewise.
44377 (loadenv_mod_LDFLAGS): Likewise.
44378
44379 * include/grub/envblk.h: New file.
44380
44381 * util/envblk.c: New file.
44382
44383 * util/grub-editenv.c: New file.
44384
44385 * commands/loadenv.c: New file.
44386
44387 2008-07-01 Pavel Roskin <proski@gnu.org>
44388
44389 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44390 not unsigned char. This fixes warnings and is consistent with
44391 other tags.
44392
44393 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44394
44395 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44396
44397 * term/tparm.c (analyze): Always set *popcount.
44398
44399 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44400 cast to fix a warning.
44401
44402 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44403 cast to suppress a warning.
44404
44405 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44406 grub_fshelp_read_file() expects.
44407
44408 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44409 write uuid as a 32-bit value in CPU byte order, so declare and
44410 use it as such.
44411
44412 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44413 long if the format specifier expects it.
44414 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44415 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44416 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44417 long to fix a warning.
44418 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44419 grub_dprintf() arguments to fix warnings.
44420
44421 2008-06-30 Pavel Roskin <proski@gnu.org>
44422
44423 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44424 install_bsd_part immediately before core.img is embedded or
44425 modified on disk. This fixes core.img verification if core.img
44426 cannot be embedded.
44427
44428 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44429 core_path to calculate the blocklist.
44430 Patch from Javier Martín <lordhabbit@gmail.com>
44431
44432 2008-06-29 Robert Millan <rmh@aybabtu.com>
44433
44434 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44435 block to disk block.
44436 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44437 Patch from Niels Böhm <bitbucket@arcor.de>
44438
44439 2008-06-29 Robert Millan <rmh@aybabtu.com>
44440
44441 * util/update-grub_lib.in (font_path): Search for fonts in
44442 /boot/grub first, which is more likely to be readable (we aren't
44443 deciding where fonts live, just looking for them).
44444
44445 2008-06-26 Pavel Roskin <proski@gnu.org>
44446
44447 * util/biosdisk.c (read_device_map): Don't leave dead map
44448 entries for devices failing stat() check.
44449
44450 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44451 core_path_dev for the core.img path on the target device.
44452
44453 2008-06-26 Robert Millan <rmh@aybabtu.com>
44454
44455 * disk/fs_uuid.c: New file.
44456 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44457 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44458 (fs_uuid_mod_LDFLAGS): New variables.
44459 * include/grub/disk.h (grub_disk_dev_id): Add
44460 `GRUB_DISK_DEVICE_UUID_ID'.
44461 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44462 implement iterate().
44463
44464 2008-06-26 Robert Millan <rmh@aybabtu.com>
44465
44466 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44467 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44468 Linux image includes no initrd.
44469
44470 2008-06-21 Javier Martín <lordhabbit@gmail.com>
44471
44472 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44473 call to resolve the core image location that effectively appended the
44474 name twice.
44475
44476 2008-06-21 Robert Millan <rmh@aybabtu.com>
44477
44478 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44479 call from here ...
44480
44481 * util/grub.d/10_hurd.in: ... to here ...
44482 * util/grub.d/10_linux.in: ... and here.
44483
44484 2008-06-19 Robert Millan <rmh@aybabtu.com>
44485
44486 * kern/main.c (grub_main): Export `prefix' variable immediately
44487 after it has been set by grub_machine_set_prefix().
44488
44489 2008-06-19 Robert Millan <rmh@aybabtu.com>
44490
44491 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44492 search result when not saving to variable, not the other way around.
44493 When saving to variable, abort iteration as soon as a match is found.
44494
44495 2008-06-19 Robert Millan <rmh@aybabtu.com>
44496
44497 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44498 check for partition that provides /boot/grub. Its logic is flawed,
44499 as it prevents prepare_grub_to_access_device() from being called
44500 multiple times.
44501
44502 2008-06-19 Robert Millan <rmh@aybabtu.com>
44503
44504 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44505 "insmod" command directly when abstraction modules are needed,
44506 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
44507 since it had already been processed).
44508
44509 2008-06-19 Pavel Roskin <proski@gnu.org>
44510
44511 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44512 changed. This is needed in case GRUB_LIBDIR changes.
44513 * conf/i386-ieee1275.rmk: Likewise.
44514 * conf/i386-linuxbios.rmk: Likewise.
44515 * conf/i386-pc.rmk: Likewise.
44516 * conf/powerpc-ieee1275.rmk: Likewise.
44517
44518 2008-06-18 Pavel Roskin <proski@gnu.org>
44519
44520 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44521 kernel_elf_symlist.c to symlist.c for consistency with other
44522 architectures. Update all users.
44523 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44524
44525 2008-06-18 Robert Millan <rmh@aybabtu.com>
44526
44527 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44528 it in prefix.
44529
44530 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44531 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44532 a RAID device, run setup() for all members independently on whether
44533 LVM abstraction is being used.
44534 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44535 If grub-mkimage has set `*install_dos_part == -2', don't override this
44536 value.
44537 Perform *install_dos_part adjustments independently on whether
44538 we're embedding or not.
44539 Clarify error message when image is too big for embedding.
44540 Remove duplicate *install_dos_part stanza.
44541
44542 2008-06-17 Robert Millan <rmh@aybabtu.com>
44543
44544 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44545 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44546 variables.
44547 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44548 values in grub_ofconsole_normal_color and
44549 grub_ofconsole_highlight_color (they're not directly related to
44550 background and foreground).
44551 (grub_ofconsole_setcolorstate): Extract background and foreground
44552 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44553
44554 2008-06-17 Robert Millan <rmh@aybabtu.com>
44555
44556 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44557 /boot/grub for the check in last commit, not /boot (they could be
44558 different partitions).
44559
44560 2008-06-16 Robert Millan <rmh@aybabtu.com>
44561
44562 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44563 asked to setup access for the same partition that provides /boot,
44564 don't bother using UUIDs since our root already has the value we
44565 want.
44566
44567 2008-06-16 Robert Millan <rmh@aybabtu.com>
44568
44569 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44570 I2O devices.
44571 Patch from Sven Mueller <sven@debian.org>.
44572
44573 2008-06-16 Robert Millan <rmh@aybabtu.com>
44574
44575 * util/update-grub.in: Check for $EUID instead of $UID.
44576 Reported by Vincent Zweije.
44577
44578 2008-06-16 Bean <bean123ch@gmail.com>
44579
44580 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
44581 (grub_ext2_read_block): Likewise.
44582 (grub_ext2_read_inode): Likewise.
44583 (grub_ext2_mount): Likewise.
44584 (grub_ext2_close): Likewise.
44585 (grub_ext3_get_journal): Removed.
44586
44587 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
44588 (grub_reiserfs_read_symlink): Likewise.
44589 (grub_reiserfs_mount): Likewise.
44590 (grub_reiserfs_open): Likewise.
44591 (grub_reiserfs_read): Likewise.
44592 (grub_reiserfs_close): Likewise.
44593 (grub_reiserfs_get_journal): Removed.
44594
44595 * fs/fshelp.c (grub_fshelp_read): Removed.
44596 (grub_fshelp_map_block): Likewise.
44597
44598 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44599 (grub_fshelp_journal): Likewise.
44600 (grub_fshelp_read): Likewise.
44601 (grub_fshelp_map_block): Likewise.
44602
44603 2008-06-16 Pavel Roskin <proski@gnu.org>
44604
44605 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44606 floating point anymore.
44607 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44608
44609 2008-06-15 Pavel Roskin <proski@gnu.org>
44610
44611 * commands/ls.c (grub_ls_list_files): Use integer calculations
44612 for human readable format, avoid floating point use.
44613 * kern/misc.c (grub_ftoa): Remove.
44614 (grub_vsprintf): Remove floating point support.
44615
44616 2008-06-15 Robert Millan <rmh@aybabtu.com>
44617
44618 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
44619 devices.
44620 Reported by Max Vozeler.
44621
44622 2008-06-15 Robert Millan <rmh@aybabtu.com>
44623
44624 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44625 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44626 skipped later.
44627 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44628 the beginning of the prefix.
44629
44630 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44631 It is assumed that if we have a memdisk, grub-mkimage has set
44632 grub_prefix to include the "(memdisk)" drive in it.
44633
44634 2008-06-15 Robert Millan <rmh@aybabtu.com>
44635
44636 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44637 Initialize keyboard controller after registering the terminal, so that
44638 grub_printf() can be called from grub_keyboard_controller_init().
44639
44640 2008-06-15 Robert Millan <rmh@aybabtu.com>
44641
44642 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44643 extent-btree which is written as big endian on disk.
44644 Reported by Alain Greppin <al@chilibi.org>.
44645
44646 2008-06-14 Robert Millan <rmh@aybabtu.com>
44647
44648 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44649 * util/i386/pc/grub-install.in (modules): Likewise.
44650
44651 2008-06-13 Pavel Roskin <proski@gnu.org>
44652
44653 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44654
44655 2008-06-13 Bean <bean123ch@gmail.com>
44656
44657 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44658
44659 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44660
44661 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44662 to indicate sparse block.
44663
44664 2008-06-12 Pavel Roskin <proski@gnu.org>
44665
44666 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44667 number, grub_fshelp_read() does it for us.
44668
44669 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44670 linear disk read with journal translation.
44671 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44672 * include/grub/fshelp.h: Declare grub_fshelp_read().
44673
44674 2008-06-09 Pavel Roskin <proski@gnu.org>
44675
44676 * fs/minix.c (grub_minix_mount): Handle error reading
44677 superblock.
44678
44679 2008-06-08 Robert Millan <rmh@aybabtu.com>
44680
44681 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44682 don't append the RAID prefix afterwards.
44683 Reported by Clint Adams.
44684
44685 2008-06-08 Robert Millan <rmh@aybabtu.com>
44686
44687 Based on description from Pavel:
44688 * kern/disk.c (grub_disk_check_range): Rename to ...
44689 (grub_disk_adjust_range): ... this. Add a comment explaining the
44690 tasks performed by this function.
44691
44692 2008-06-08 Robert Millan <rmh@aybabtu.com>
44693
44694 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44695 `num_serial' (for consistency with other variables).
44696 (struct grub_ntfs_data): Add `uuid' member.
44697 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44698 (grub_ntfs_uuid): New function.
44699 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44700
44701 2008-06-07 Pavel Roskin <proski@gnu.org>
44702
44703 * util/biosdisk.c (open_device): Revert last change to the
44704 function, it broke installation. The sector needs to be
44705 different dependent on which device is opened.
44706
44707 2008-06-06 Robert Millan <rmh@aybabtu.com>
44708
44709 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44710 rest of GRUB, and breakage doesn't happen if its value were modified.
44711
44712 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44713 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44714 a constant (same value).
44715 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44716 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44717
44718 2008-06-06 Robert Millan <rmh@aybabtu.com>
44719
44720 * util/biosdisk.c (open_device): Do not modify sector offset when
44721 accessing a partition. kern/disk.c already handles this for us.
44722
44723 2008-06-06 Robert Millan <rmh@aybabtu.com>
44724
44725 * util/grub-emu.c (grub_machine_init): Move code in this function from
44726 here ...
44727 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44728 segfault in case grub_printf() is called).
44729
44730 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44731 grub_probe. Update all users not to explicitly add it again.
44732 (grub_device): New variable; contains corresponding device for grubdir.
44733 (fs_module, partmap_module, devabstraction_module): Pass
44734 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44735 every time.
44736
44737 2008-06-05 Robert Millan <rmh@aybabtu.com>
44738
44739 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44740 is found, print it (same layout as with labels).
44741
44742 2008-06-04 Robert Millan <rmh@aybabtu.com>
44743
44744 * util/biosdisk.c (get_drive): Rename to ...
44745 (find_grub_drive): ... this. Update all users.
44746
44747 (get_os_disk): Rename to ...
44748 (convert_system_partition_to_system_disk): ... this. Update all users.
44749
44750 (find_drive): Rename to ...
44751 (find_system_device): ... this. Update all users.
44752
44753 2008-06-04 Robert Millan <rmh@aybabtu.com>
44754
44755 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44756 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44757 (make_device_map): Likewise.
44758
44759 2008-06-01 Robert Millan <rmh@aybabtu.com>
44760
44761 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44762 before dereferencing it.
44763
44764 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44765 union with fat12/fat16-specific ones. Add some new fields, including
44766 `num_serial' for both versions.
44767 (struct grub_fat_data): Add `uuid' member.
44768 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44769 names. Initialize `data->uuid' using `num_serial'.
44770 (grub_fat_uuid): New function.
44771 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44772
44773 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44774 (grub_reiserfs_uuid): New function.
44775 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44776 member.
44777
44778 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44779 (grub_xfs_uuid): New function.
44780 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44781
44782 2008-06-01 Robert Millan <rmh@aybabtu.com>
44783
44784 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44785 code that is backward compatible with pre-uuid search command.
44786
44787 2008-05-31 Robert Millan <rmh@aybabtu.com>
44788
44789 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44790 floppies after everything else, to ensure floppy drive isn't accessed
44791 unnecessarily (patch from Bean).
44792
44793 2008-05-31 Robert Millan <rmh@aybabtu.com>
44794
44795 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44796 not print device names when we were asked to set a variable.
44797
44798 2008-05-31 Robert Millan <rmh@aybabtu.com>
44799
44800 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44801 using "cursor-on" and "cursor-off" commands (understood at least by
44802 the Open Firmware flavour on OLPC).
44803
44804 2008-05-31 Michael Gorven <michael@gorven.za.net>
44805
44806 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44807 on and off sequences.
44808
44809 2008-05-31 Robert Millan <rmh@aybabtu.com>
44810
44811 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44812 * util/update-grub.in: Likewise.
44813
44814 2008-05-30 Pavel Roskin <proski@gnu.org>
44815
44816 * util/biosdisk.c (linux_find_partition): Simplify logic and
44817 make the code more universal. Keep special processing for
44818 devfs, but use a simple rule for all other devices. If the
44819 device ends with a number, append 'p' and the partition number.
44820 Otherwise, append only the partition number.
44821
44822 2008-05-30 Robert Millan <rmh@aybabtu.com>
44823
44824 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44825 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44826 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44827 the `root' parameter to Linux.
44828
44829 2008-05-30 Robert Millan <rmh@aybabtu.com>
44830
44831 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44832 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44833 --fs_uuid with --fs-uuid.
44834 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44835 all filesystems support them).
44836
44837 2008-05-30 Robert Millan <rmh@aybabtu.com>
44838
44839 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
44840 grub_printf() flags, since we're printing in units of 2 bytes.
44841
44842 2008-05-30 Robert Millan <rmh@aybabtu.com>
44843
44844 * util/grub.d/00_header.in: Remove obsolete comment referencing
44845 convert_system_path_to_grub_path().
44846 * util/update-grub.in: Likewise.
44847 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44848 (convert_system_path_to_grub_path): Add a warning message explaining
44849 that this function is deprecated. Rely on is_path_readable_by_grub()
44850 for the readability checks.
44851 (font_path): Use is_path_readable_by_grub() for the readability
44852 check rather than convert_system_path_to_grub_path().
44853
44854 2008-05-30 Robert Millan <rmh@aybabtu.com>
44855
44856 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44857 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44858 converting it first.
44859 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44860 grub.cfg for access to font file, and afterwards call it again to set
44861 the root device.
44862
44863 2008-05-30 Robert Millan <rmh@aybabtu.com>
44864
44865 * commands/search.c (options): Add --fs_uuid option.
44866 (search_fs_uuid): New function.
44867 (grub_cmd_search): Fix --set argument passing.
44868 Use search_fs_uuid() when requested via --fs_uuid.
44869 (grub_search_init): Update help message.
44870 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44871 and redeclare it as an array of 16-bit words.
44872 (grub_ext2_uuid): New function.
44873 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44874 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44875 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44876 (GRUB_DEVICE_BOOT_UUID): New variables.
44877 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44878 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44879 whenever possible.
44880 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44881 just assume `root' variable has the right value.
44882 * util/grub.d/10_linux.in: Likewise.
44883 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44884 via PRINT_FS_UUID.
44885 (main): Recognise `-t fs_uuid' argument.
44886
44887 2008-05-30 Robert Millan <rmh@aybabtu.com>
44888
44889 * util/biosdisk.c (map): Redefine structure to hold information
44890 about GRUB drive name.
44891 (get_drive): Reimplement without assuming (and verifying) BIOS-like
44892 drive names.
44893 (call_hook): Remove.
44894 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44895 member. Assume drive has partitions.
44896 (grub_util_biosdisk_open): Access device names via `.device' struct
44897 member.
44898 (open_device): Likewise.
44899 (find_drive): Likewise.
44900 (read_device_map): Adjust map[] usage to match the new struct
44901 definition. Don't check for duplicates (still possible, but not cheap
44902 anymore).
44903 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44904 (make_device_name): Remove assumption of BIOS-like drive names.
44905
44906 2008-05-30 Pavel Roskin <proski@gnu.org>
44907
44908 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44909 compiling execute.c doesn't need grub_script.tab.h anymore.
44910 (normal/command.c_DEPENDENCIES): Likewise.
44911 (normal/function.c_DEPENDENCIES): Likewise.
44912 * conf/i386-ieee1275.rmk: Likewise.
44913 * conf/i386-linuxbios.rmk: Likewise.
44914 * conf/i386-pc.rmk: Likewise.
44915 * conf/powerpc-ieee1275.rmk: Likewise.
44916 * conf/sparc64-ieee1275.rmk: Likewise.
44917
44918 2008-05-29 Pavel Roskin <proski@gnu.org>
44919
44920 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44921 when scanning metadata for volume group name.
44922
44923 * include/grub/script.h: Don't include grub_script.tab.h. It's
44924 a generated file, which may only be included from the files with
44925 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44926 use union YYSTYPE, as the later allows forward declaration.
44927 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44928
44929 2008-05-29 Robert Millan <rmh@aybabtu.com>
44930
44931 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44932 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44933 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44934 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44935 scan codes.
44936
44937 2008-05-29 Robert Millan <rmh@aybabtu.com>
44938
44939 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44940 control key combinations.
44941
44942 2008-05-29 Robert Millan <rmh@aybabtu.com>
44943
44944 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44945 * util/ieee1275/grub-install.in: ... to here.
44946 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44947 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44948 (grub_install_SOURCES): Likewise.
44949
44950 2008-05-29 Robert Millan <rmh@aybabtu.com>
44951
44952 * fs/affs.c: Update copyright year.
44953 * fs/ext2.c: Likewise.
44954 * fs/fshelp.c: Likewise.
44955 * fs/hfsplus.c: Likewise.
44956 * fs/ntfs.c: Likewise.
44957 * fs/xfs.c: Likewise.
44958 * include/grub/fshelp.h: Likewise.
44959 * util/grub-mkdevicemap.c: Likewise.
44960
44961 2008-05-28 Robert Millan <rmh@aybabtu.com>
44962
44963 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44964 might need to be fatfs to support some firmware implementations
44965 (e.g. OFW or EFI).
44966
44967 2008-05-28 Robert Millan <rmh@aybabtu.com>
44968
44969 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44970 devices.
44971 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44972 (make_device_map): Likewise.
44973
44974 2008-05-20 Bean <bean123ch@gmail.com>
44975
44976 * fs/fshelp.c (grub_fshelp_map_block): New function.
44977 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44978 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44979
44980 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44981 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44982 (grub_fshelp_journal): New structure.
44983 (grub_fshelp_map_block): New function prototype.
44984 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44985 (grub_fshelp_map_block): Likewise.
44986
44987 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44988 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44989 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44990 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44991 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44992 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44993 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44994 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44995 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44996 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44997 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44998 (grub_ext2_sblock): New members for journal support.
44999 (grub_ext3_journal_header): New structure.
45000 (grub_ext3_journal_revoke_header): Likewise.
45001 (grub_ext3_journal_block_tag): Likewise.
45002 (grub_ext3_journal_sblock): Likewise.
45003 (grub_fshelp_node): New members logfile and journal.
45004 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
45005 grub_fshelp_map_block to get real block number.
45006 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
45007 number.
45008 (grub_ext2_read_inode): Likewise.
45009 (grub_ext3_get_journal): New function.
45010 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
45011 (grub_ext2_close): Release memory used by journal.
45012
45013 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
45014 (REISERFS_MAGIC_DESC_BLOCK): New macro.
45015 (grub_reiserfs_transaction_header): Renamed to
45016 grub_reiserfs_description_block, replace field data with real_blocks.
45017 (grub_reiserfs_commit_block): New structure.
45018 (grub_reiserfs_data): New member journal.
45019 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
45020 number.
45021 (grub_reiserfs_read_symlink): Likewise.
45022 (grub_reiserfs_iterate_dir): Likewise.
45023 (grub_reiserfs_open): Likewise.
45024 (grub_reiserfs_read): Likewise.
45025 (grub_reiserfs_get_journal): New function.
45026 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
45027 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
45028 using grub_reiserfs_get_journal.
45029 (grub_reiserfs_close): Release memory used by journal.
45030
45031 * fs/affs.c (grub_affs_read_block): Change block type to
45032 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
45033
45034 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
45035
45036 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
45037
45038 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
45039
45040 * fs/udf.c (grub_udf_read_block): Change block type to
45041 grub_disk_addr_t. Use type cast to avoid warning.
45042
45043 * fs/xfs.c (grub_xfs_read_block): Likewise.
45044
45045 2008-05-16 Christian Franke <franke@computer.org>
45046
45047 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
45048 to ensure that break with ESC will always work.
45049 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
45050 Remove ESC from keyboard queue.
45051
45052 2008-05-16 Christian Franke <franke@computer.org>
45053
45054 * util/biosdisk.c: [__CYGWIN__] Add includes.
45055 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
45056 (get_os_disk): Move variable declarations to OS specific
45057 parts to avoid warning.
45058 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
45059 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
45060 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
45061 Cygwin.
45062 * util/getroot.c: [__CYGWIN__] Add includes.
45063 (strip_extra_slashes): Fix "/" case.
45064 [__CYGWIN__] (get_win32_path): New function.
45065 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
45066 [__CYGWIN__] (find_root_device): Disable.
45067 [__CYGWIN__] (get_bootsec_serial): New function.
45068 [__CYGWIN__] (find_cygwin_root_device): Likewise.
45069 [__linux__] (grub_guess_root_device): Add early returns to simplify
45070 structure.
45071 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
45072 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
45073 check for Linux only.
45074
45075 2008-05-15 Bean <bean123ch@gmail.com>
45076
45077 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
45078 keyboard hang problem in apple's intel mac.
45079
45080 2008-05-09 Robert Millan <rmh@aybabtu.com>
45081
45082 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
45083 devices.
45084 * util/grub-mkdevicemap.c (get_virtio_disk_name)
45085 (make_device_map): Likewise.
45086 Reported by Aurelien Jarno <aurel32@debian.org>
45087
45088 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
45089
45090 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
45091 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
45092 (make_device_map): Output entries for xvd type disks.
45093
45094 2008-05-07 Robert Millan <rmh@aybabtu.com>
45095
45096 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
45097 devices.
45098 * util/grub-mkdevicemap.c (get_cciss_disk_name)
45099 (make_device_map): Likewise.
45100 Reported by Roland Dreier <rdreier@cisco.com>
45101
45102 2008-05-07 Robert Millan <rmh@aybabtu.com>
45103
45104 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
45105 grub_strstr() call. Correct a few mistakes in failure path handling.
45106
45107 2008-05-06 Robert Millan <rmh@aybabtu.com>
45108
45109 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
45110 Do not print a trailing slash (therefore, the root directory is an
45111 empty string).
45112 (convert_system_path_to_grub_path): Do not remove trailing slash
45113 from make_system_path_relative_to_its_root() output.
45114
45115 * util/i386/pc/grub-install.in: Add trailing slash to output from
45116 make_system_path_relative_to_its_root().
45117
45118 2008-05-06 Robert Millan <rmh@aybabtu.com>
45119
45120 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
45121 ensures that output lines aren't intermangled with those sent to
45122 stderr (via grub_util_info()).
45123 * util/grub-probe.c (grub_refresh): Likewise.
45124 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
45125
45126 2008-05-05 Christian Franke <franke@computer.org>
45127
45128 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
45129 Add Cygwin device names.
45130 (get_ide_disk_name) [__CYGWIN__]: Likewise.
45131 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
45132 (check_device): Return error instead of success on empty name.
45133 (make_device_map): Move label inside linux specific code to
45134 prevent compiler warning.
45135
45136 2008-04-30 Robert Millan <rmh@aybabtu.com>
45137
45138 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
45139 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
45140 first boot option.
45141 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
45142
45143 2008-04-29 Robert Millan <rmh@aybabtu.com>
45144
45145 * docs/grub.cfg: New file (example GRUB configuration).
45146
45147 2008-04-26 Robert Millan <rmh@aybabtu.com>
45148
45149 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
45150 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
45151 and `disk/ieee1275/nand.c'.
45152
45153 2008-04-25 Bean <bean123ch@gmail.com>
45154
45155 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
45156 i386-linuxbios.
45157
45158 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
45159 change the buffer size to 4096 for cdrom device.
45160
45161 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
45162 and nand.mod.
45163 (_linux_mod_SOURCES): New variable.
45164 (_linux_mod_CFLAGS): Likewise.
45165 (_linux_mod_LDFLAGS): Likewise.
45166 (linux_mod_SOURCES): Likewise.
45167 (linux_mod_CFLAGS): Likewise.
45168 (linux_mod_LDFLAGS): Likewise.
45169 (nand_mod_SOURCES): Likewise.
45170 (nand_mod_CFLAGS): Likewise.
45171 (nand_mod_LDFLAGS): Likewise.
45172
45173 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
45174 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
45175 type property. (nand device in olpc don't have this property)
45176
45177 * include/grub/disk.h (grub_disk_dev_id): New macro
45178 GRUB_DISK_DEVICE_NAND_ID.
45179
45180 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
45181 function prototype.
45182 (grub_rescue_cmd_initrd): Likewise.
45183
45184 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
45185 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
45186 ofw_cif_handler and ofw_idt, adjust padding number.
45187
45188 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
45189 GRUB_MACHINE_IEEE1275 is defined.
45190
45191 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
45192 Use NESTED_FUNC_ATTR attribute on the hook parameter.
45193
45194 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
45195 on nested function heap_init.
45196 (grub_upper_mem): New variable for i386-ieee1275.
45197 (grub_get_extended_memory): New function for i386-ieee1275.
45198 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
45199
45200 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
45201 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
45202 property.
45203
45204 * loader/i386/ieee1275/linux.c: New file.
45205
45206 * loader/i386/ieee1275/linux_normal.c: New file.
45207
45208 * disk/ieee1275/nand.c: New file.
45209
45210 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
45211
45212 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
45213 value.
45214 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
45215
45216 2008-04-18 Robert Millan <rmh@aybabtu.com>
45217
45218 Restructures early code path on ieee1275 to unify grub_main() as
45219 the first C function that is executed in every platform.
45220
45221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
45222 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
45223 cmain().
45224 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
45225 * kern/ieee1275/cmain.c (cmain): Rename to ...
45226 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
45227 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
45228 at the beginning.
45229
45230 2008-04-18 Robert Millan <rmh@aybabtu.com>
45231
45232 * util/update-grub.in: Fix syntax error when setting
45233 `GRUB_PRELOAD_MODULES'.
45234 Reported by Stephane Chazelas <stephane@artesyncp.com>
45235
45236 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
45237
45238 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
45239 section into account, newer toolchains generate unique build ids
45240 * configure.ac: remove the test for --build-id=none acceptance,
45241 we want build ids to be preserved
45242 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
45243 far from other sections don't cause the raw binary images grow
45244 size
45245
45246 2008-04-15 Robert Millan <rmh@aybabtu.com>
45247
45248 * disk/lvm.c: Update copyright year.
45249 * kern/misc.c: Likewise.
45250
45251 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45252
45253 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
45254 there is no memory left for physical volume name.
45255
45256 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45257
45258 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
45259 volume name mapping to support bigger than 9 character names properly.
45260
45261 2008-04-13 Robert Millan <rmh@aybabtu.com>
45262
45263 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
45264 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
45265
45266 2008-04-13 Christian Franke <franke@computer.org>
45267
45268 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
45269 to create a floppy emulation boot CD when non emulation mode
45270 does not work.
45271 Enable Joliet CD filesystem extension.
45272
45273 2008-04-13 Robert Millan <rmh@aybabtu.com>
45274
45275 * kern/misc.c (grub_strncat): Fix off-by-one error.
45276 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
45277
45278 * kern/env.c (grub_env_context_close): Clear current context, not
45279 previous one.
45280 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
45281
45282 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
45283
45284 2008-04-13 Robert Millan <rmh@aybabtu.com>
45285
45286 Improve robustness when handling LVM.
45287
45288 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
45289 (and leave `*p' unmodified).
45290 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
45291 through it.
45292 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
45293 iterating through it.
45294 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
45295 through it.
45296 (grub_lvm_scan_device): Check the return value (and fail gracefully
45297 when due) on each grub_lvm_getvalue() or grub_strstr() call.
45298 Don't assume `vg->pvs != NULL' when iterating through it.
45299
45300 2008-04-13 Robert Millan <rmh@aybabtu.com>
45301
45302 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
45303 * genmk.rb (partmap): New variable.
45304 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
45305 (#{partmap}): New target rule.
45306 * genpartmaplist.sh: New file.
45307 * Makefile.in (pkglib_DATA): Add partmap.lst.
45308 (partmap.lst): New target rule.
45309 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
45310 modules (including all partition maps), instead of preloading them.
45311
45312 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
45313
45314 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
45315 `linux-boot-prober' (if installed) to detect other operating
45316 systems which are installed on the computer and add them to
45317 the boot menu.
45318 * conf/common.rmk: Build and install 30_os-prober.
45319
45320 2008-04-12 Robert Millan <rmh@aybabtu.com>
45321
45322 * kern/powerpc/ieee1275/init.c: Move from here ...
45323 * kern/ieee1275/init.c: ... to here. Update all users.
45324
45325 * kern/powerpc/ieee1275/cmain.c: Move from here ...
45326 * kern/ieee1275/cmain.c: ... to here. Update all users.
45327
45328 * kern/powerpc/ieee1275/openfw.c: Move from here ...
45329 * kern/ieee1275/openfw.c: ... to here. Update all users.
45330
45331 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
45332 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
45333
45334 2008-04-10 Pavel Roskin <proski@gnu.org>
45335
45336 * configure.ac: Always use "_cv_" in cache variables for
45337 compatibility with Autoconf 2.62.
45338
45339 2008-04-07 Robert Millan <rmh@aybabtu.com>
45340
45341 Revert grub/machine/init.h addition by Pavel (since it breaks on
45342 i386-ieee1275 and others):
45343 * util/i386/pc/misc.c: Remove grub/machine/init.h.
45344 * util/powerpc/ieee1275/misc.c: Likewise.
45345
45346 2008-04-07 Robert Millan <rmh@aybabtu.com>
45347
45348 * util/grub-probe.c (probe): Improve error message.
45349
45350 2008-04-07 Robert Millan <rmh@aybabtu.com>
45351
45352 * util/biosdisk.c (read_device_map): Skip devices that don't exist
45353 (this prevents the presence of a bogus entry from ruining the whole
45354 thing).
45355
45356 2008-04-06 Pavel Roskin <proski@gnu.org>
45357
45358 * util/biosdisk.c: Include grub/util/biosdisk.h.
45359 * util/grub-fstest.c (execute_command): Make static.
45360 * util/grub-mkdevicemap.c (check_device): Likewise.
45361 * util/i386/pc/misc.c: Include grub/machine/init.h.
45362 * util/powerpc/ieee1275/misc.c: Likewise.
45363 * util/lvm.c: Include grub/util/lvm.h.
45364 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45365 grub/cache.h.
45366 * util/raid.c: Include grub/util/raid.h.
45367 (grub_util_getdiskname): Make static.
45368
45369 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45370 grub_hostfs_fini(), as they are called from grub_init_all() and
45371 grub_fini_all() respectively. This fixes an infinite loop in
45372 grub-fstest due to double registration of hostfs.
45373 Reported by Christian Franke <Christian.Franke@t-online.de>
45374
45375 2008-04-05 Pavel Roskin <proski@gnu.org>
45376
45377 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45378 all 8 functions. Otherwise, probe function 0 only.
45379
45380 2008-04-04 Pavel Roskin <proski@gnu.org>
45381
45382 * commands/lspci.c (grub_lspci_iter): Print the bus number
45383 correctly.
45384
45385 * commands/lspci.c (grub_pci_classes): Fix typos.
45386 (grub_lspci_iter): Don't print func twice. Print vendor ID
45387 before device ID, as it's normally done.
45388
45389 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45390 Fix signedness warnings.
45391 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45392 Likewise.
45393 * util/ieee1275/get_disk_name.c: Include config.h so that
45394 _GNU_SOURCE is defined and getline() is declared. Mark an
45395 unused argument as such. Fix a signedness warning.
45396
45397 2008-04-02 Pavel Roskin <proski@gnu.org>
45398
45399 * genkernsyms.sh.in: Use more robust assignments for CC and
45400 srcdir. Quote srcdir.
45401 * gensymlist.sh.in: Likewise. Assert at the compile time that
45402 the symbol table is not empty.
45403
45404 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45405 * fs/cpio.c (grub_cpio_read): Likewise.
45406
45407 2008-04-01 Pavel Roskin <proski@gnu.org>
45408
45409 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45410 * disk/host.c (grub_host_open): Likewise.
45411 * disk/loopback.c (grub_loopback_open): Likewise.
45412 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45413 disk->id as in disk/host.c, not a multi-character constant.
45414
45415 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45416 later is obsolete, potentially dangerous and sets a bad example.
45417 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45418 * util/misc.c (grub_util_get_image_size): Likewise.
45419
45420 * disk/loopback.c (options): Improve help for "--partitions".
45421
45422 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45423 options to align them with the short options, e.g. "echo -e".
45424
45425 2008-03-31 Bean <bean123ch@gmail.com>
45426
45427 * video/reader/png.c (grub_png_data): New member is_16bit and
45428 image_data.
45429 (grub_png_decode_image_header): Detect 16 bit png image.
45430 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45431 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45432 (grub_video_reader_png): Release memory occupied by image_data.
45433
45434 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45435 4096 bytes.
45436 (grub_nfs_mount): Skip the test for sector per cluster.
45437
45438 * include/grub/ntfs.h (MAX_SPC): Removed.
45439
45440 2008-03-31 Bean <bean123ch@gmail.com>
45441
45442 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45443 (grub_probe_SOURCES): Add fs/afs.c.
45444 (grub_fstest_SOURCES): Likewise.
45445 (afs_mod_SOURCES): New variable.
45446 (afs_mod_CFLAGS): Likewise.
45447 (afs_mod_LDFLAGS): Likewise.
45448
45449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45450 (grub_emu_SOURCES): Likewise.
45451
45452 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45453
45454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45455
45456 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45457
45458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45459
45460 * fs/afs.c: New file.
45461
45462 2008-03-30 Pavel Roskin <proski@gnu.org>
45463
45464 * disk/host.c: Include grub/misc.h to fix a warning.
45465 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45466 warnings about implicit declarations.
45467
45468 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45469 variable.
45470 * include/grub/i386/loader.h: Change declaration of
45471 grub_linux_boot() to match what grub_loader_set() expects.
45472 * util/getroot.c (grub_guess_root_device): Return const char* to
45473 fix a warning.
45474 * util/grub-probe.c (probe): Fix a warning about uninitialized
45475 abstraction_name variable.
45476 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45477 second argument as unused to fix a warning.
45478
45479 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45480 missing grub_error() call.
45481
45482 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45483 2.60 and newer uses it to define datadir.
45484
45485 * commands/sleep.c: Fix warning about implicit declaration.
45486 * disk/memdisk.c: Likewise.
45487 * loader/aout.c: Likewise.
45488 * loader/i386/bsd_normal.c: Likewise.
45489 * util/grub-probe.c: Likewise.
45490
45491 * commands/i386/cpuid.c (has_longmode): Make static.
45492 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45493 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45494
45495 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45496 GDT. This is more robust, as %ds can change.
45497 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45498 calling real_to_prot().
45499 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45500
45501 2008-03-28 Pavel Roskin <proski@gnu.org>
45502
45503 * kern/i386/pc/startup.S: Assert that uncompressed functions
45504 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45505 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45506 code, as they push parts of the code (error handlers) beyond
45507 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45508 code as correctness and size.
45509
45510 2008-03-28 Pavel Roskin <proski@gnu.org>
45511
45512 * kern/i386/pc/startup.S
45513 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45514 data block address to the real mode, keep offset minimal. This
45515 works around a bug in AWARD BIOS on old Athlon systems, which
45516 makes CD detection hang.
45517
45518 2008-03-26 Pavel Roskin <proski@gnu.org>
45519
45520 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45521 const.
45522 * include/grub/normal.h: Add grub_parse_color_name_pair()
45523 declaration.
45524
45525 2008-03-24 Bean <bean123ch@gmail.com>
45526
45527 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45528 (cd_count): Removed.
45529 (cd_drive): New variable.
45530 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45531 (grub_biosdisk_call_hook): Likewise.
45532 (grub_biosdisk_iterate): Change cdrom detection method.
45533 (grub_biosdisk_open): Replace cd_start with cd_drive.
45534 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45535 detect cdrom device.
45536
45537 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45538 Removed.
45539 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45540 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45541 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45542 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45543 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45544 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45545 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45546 (grub_biosdisk_cdrp): New structure.
45547 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45548
45549 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45550
45551 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45552 device.
45553
45554 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45555 New function.
45556
45557 2008-03-20 Robert Millan <rmh@aybabtu.com>
45558
45559 Remove 2 TiB limit in ata.mod.
45560 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45561 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45562 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45563 grub_uint64_t instead of grub_uint32_t.
45564
45565 2008-03-05 Bean <bean123ch@gmail.com>
45566
45567 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45568 (grub_multiboot): Set boot device.
45569
45570 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45571
45572 2008-03-02 Bean <bean123ch@gmail.com>
45573
45574 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45575 symlink_buffer.
45576
45577 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45578
45579 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45580 texinfo.tex.
45581
45582 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45583 modified.
45584
45585 * docs/fdl.texi: New file.
45586
45587 * docs/mdate-sh: New file. Copied from gnulib.
45588 * docs/texinfo.tex: Likewise.
45589
45590 * config.guess: Updated from gnulib.
45591 * install-sh: Likewise.
45592
45593 2008-02-28 Robert Millan <rmh@aybabtu.com>
45594
45595 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45596 (aout_mod_SOURCES): New variable.
45597 (aout_mod_CFLAGS): Likewise.
45598 (aout_mod_LDFLAGS): Likewise.
45599
45600 * conf/i386-ieee1275.rmk: Likewise.
45601
45602 2008-02-28 Robert Millan <rmh@aybabtu.com>
45603
45604 * util/update-grub.in: Reorganise terminal validity check. Accept
45605 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45606 Based on suggestion by Franklin PIAT.
45607
45608 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45609
45610 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45611 function.
45612 * util/getroot.c (grub_util_check_block_device): New function that
45613 returns the given argument if it is a block device and returns NULL else.
45614 * util/grub-probe.c (argument_is_device): New variable.
45615 (probe): Promote device_name from a variable to an argument. Receive
45616 device_name from grub_util_check_block_device() if path is NULL and from
45617 grub_guess_root_device() else. Do not free() device_name anymore.
45618 (options): Introduce new parameter '-d, --device'.
45619 (main): Add description of the new parameter to the help screen.
45620 Rename path variable to argument. Set argument_is_device if the '-d'
45621 option is given. Pass argument to probe() depending on
45622 argument_is_device.
45623
45624 2008-02-24 Bean <bean123ch@gmail.com>
45625
45626 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45627 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45628 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45629 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45630 (GRUB_ISO9660_VOLDESC_END): Likewise.
45631 (grub_iso9660_primary_voldesc): New member escape.
45632 (grub_iso9660_data): New member joliet.
45633 (grub_iso9660_convert_string): New function.
45634 (grub_iso9660_mount): Detect joliet extension.
45635 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45636 (grub_iso9660_iso9660_label): Likewise.
45637
45638 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45639 (grub_setup_SOURCES): Add fs/udf.c.
45640 (grub_fstest_SOURCES): Likewise.
45641 (udf_mod_SOURCES): New variable.
45642 (udf_mod_CFLAGS): Likewise.
45643 (udf_mod_LDFLAGS): Likewise.
45644
45645 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45646 (grub_emu_SOURCES): Likewise.
45647
45648 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45649
45650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45651
45652 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45653
45654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45655
45656 * fs/udf.c: New file.
45657
45658 2008-02-24 Robert Millan <rmh@aybabtu.com>
45659
45660 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45661 (normal/lexer.c_DEPENDENCIES): New variables.
45662 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45663 (normal/lexer.c_DEPENDENCIES): Likewise.
45664 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45665 (normal/lexer.c_DEPENDENCIES): Likewise.
45666 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45667 (normal/lexer.c_DEPENDENCIES): Likewise.
45668 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45669 (normal/lexer.c_DEPENDENCIES): Likewise.
45670 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45671 (normal/lexer.c_DEPENDENCIES): Likewise.
45672
45673 2008-02-23 Robert Millan <rmh@aybabtu.com>
45674
45675 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45676 since they were intended to be in hex. This didn't break previously
45677 because of a bug in gpt_partition_map_iterate() (see below).
45678
45679 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45680 when checking the validity of GPT header.
45681 Remove `partno', since it always provides the same information as `i'.
45682
45683 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45684
45685 * include/grub/efi/time.h: Fix a wrong comment.
45686
45687 2008-02-19 Pavel Roskin <proski@gnu.org>
45688
45689 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45690 message.
45691
45692 2008-02-19 Bean <bean123ch@gmail.com>
45693
45694 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45695 (aout_mod_SOURCES): New variable.
45696 (aout_mod_CFLAGS): Likewise.
45697 (aout_mod_LDFLAGS): Likewise.
45698 (_bsd_mod_SOURCES): New variable.
45699 (_bsd_mod_CFLAGS): Likewise.
45700 (_bsd_mod_LDFLAGS): Likewise.
45701 (bsd_mod_SOURCES): New variable.
45702 (bsd_mod_CFLAGS): Likewise.
45703 (bsd_mod_LDFLAGS): Likewise.
45704
45705 * include/grub/aout.h: New file.
45706
45707 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45708
45709 * include/grub/i386/bsd.h: New file.
45710
45711 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45712 to make it public.
45713
45714 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45715 function is called, so that it's possible to change it inside the hook.
45716 (grub_elf64_load): Likewise.
45717 (grub_elf_file): Don't close the file if elf header is not found.
45718 (grub_elf_close): Close the file if grub_elf_file fails (The new
45719 grub_elf_file won't close it).
45720 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45721 (grub_elf64_size): Likewise.
45722
45723 * kern/i386/loader.S (grub_unix_real_boot): New function.
45724
45725 * loader/aout.c: New file.
45726
45727 * loader/i386/bsd.c: New file.
45728
45729 * loader/i386/bsd_normal.c: New file.
45730
45731 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45732
45733 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
45734 can test other formats.
45735
45736 2008-02-19 Robert Millan <rmh@aybabtu.com>
45737
45738 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45739 (grub_gpt_partition_type_empty): Redefine with macro from
45740 `<grub/gpt_partition.h>'.
45741 (gpt_partition_map_iterate): Adjust partition type comparison.
45742
45743 Export `entry' as partmap-specific `part.data' struct.
45744 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45745
45746 * include/grub/gpt_partition.h (grub_gpt_header)
45747 (grub_gpt_partentry): ... to here (new file).
45748
45749 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45750
45751 (grub_gpt_partition_type_bios_boot): New const variable, defined
45752 with macro from `<grub/gpt_partition.h>'.
45753
45754 (setup): Replace `first_start' with `embed_region', which keeps
45755 track of the embed region (and is partmap-agnostic).
45756
45757 Replace find_first_partition_start() with find_usable_region(),
45758 which finds a usable region for embedding using partmap-specific
45759 knowledge (supports PC/MSDOS and GPT).
45760
45761 Fix all assumptions that the embed region start at sector 1, using
45762 `embed_region.start' from now on. Similarly, use `embed_region.end'
45763 rather than `first_start' to calculate available size.
45764
45765 In grub_util_info() message, replace "into after the MBR" with an
45766 indication of the specific sector our embed region starts at.
45767
45768 2008-02-19 Robert Millan <rmh@aybabtu.com>
45769
45770 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45771 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45772 `commands/reboot.c'.
45773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45774 (halt_mod_SOURCES): Likewise.
45775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45776 (halt_mod_SOURCES): Likewise.
45777
45778 2008-02-17 Christian Franke <franke@computer.org>
45779
45780 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45781
45782 2008-02-17 Robert Millan <rmh@aybabtu.com>
45783
45784 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45785 set `first_start' to 0 for non-PC/MSDOS partition maps.
45786
45787 2008-02-16 Robert Millan <rmh@aybabtu.com>
45788
45789 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45790 do not assume partition map is PC/MSDOS before performing checks that
45791 are specific to that layout.
45792
45793 2008-02-13 Robert Millan <rmh@aybabtu.com>
45794
45795 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45796 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45797 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45798
45799 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45800
45801 * configure.ac: Only a cosmetic change on the handling of
45802 -fno-stack-protector.
45803
45804 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
45805
45806 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45807 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45808 reboot.c.
45809 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45810 (halt_mod_SOURCES): New variable.
45811 (halt_mod_CFLAGS): Likewise.
45812 (halt_mod_LDFLAGS): Likewise.
45813 (reboot_mod_SOURCES): Likewise.
45814 (reboot_mod_CFLAGS): Likewise.
45815 (reboot_mod_LDFLAGS): Likewise.
45816
45817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45818 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45819 reboot.c.
45820 (halt_mod_SOURCES): Likewise.
45821 (reboot_mod_SOURCES): Likewise.
45822
45823 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45824 commands/i386/pc/reboot.c by commands/reboot.c.
45825 (reboot_mod_SOURCES): Likewise.
45826
45827 * commands/i386/pc/reboot.c: merge this file ...
45828
45829 * commands/ieee1275/reboot.c: ... and this file ...
45830
45831 * commands/reboot.c: ... to this file.
45832 Add some precompiler directive to include the correct header for
45833 each machine.
45834
45835 * commands/ieee1275/halt.c: move this file ...
45836
45837 * commands/halt.c: ... to here.
45838 Add some precompiler directive to include the correct header for
45839 each machine.
45840
45841 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45842 (grub_halt): Likewise.
45843
45844 * kern/efi/efi.c (grub_reboot): New function.
45845 (grub_halt): Likewise.
45846
45847 2008-02-12 Robert Millan <rmh@aybabtu.com>
45848
45849 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45850 /dev (like it is done for /dev/mapper). This doesn't provide support
45851 for EVMS, but at least it is now easy to identify the problem when it
45852 arises.
45853
45854 2008-02-11 Robert Millan <rmh@aybabtu.com>
45855
45856 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45857 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45858 comparing it with -1, not 0.
45859
45860 2008-02-10 Robert Millan <rmh@aybabtu.com>
45861
45862 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45863 `disk/lvm.c'.
45864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45865 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45866
45867 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45868 `disk/lvm.c' to the end of the list.
45869 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45870 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45871
45872 2008-02-10 Robert Millan <rmh@aybabtu.com>
45873
45874 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45875 grub_print_error() instead. This will let user know why we're entering
45876 rescue mode.
45877 Based on suggestions from Sam Morris.
45878
45879 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
45880
45881 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45882 on remaining N args, instead of "--" arg N times.
45883
45884 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45885
45886 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45887 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45888 pattern for unknown glyphs.
45889
45890 2008-02-09 Robert Millan <rmh@aybabtu.com>
45891
45892 * configure.ac: Probe for `help2man'.
45893 * Makefile.in (builddir): New variable.
45894 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45895 or otherwise add a few flags/options to it.
45896 (install-local): For every executable utility or script that is
45897 installed, invoke $(HELP2MAN) to install a manpage based on --help
45898 output.
45899
45900 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45901 that it doesn't prevent --help from working in build tree.
45902
45903 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45904 with `bug-grub@gnu.org'.
45905 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45906 * util/update-grub.in (usage): New function.
45907 Implement proper argument check, with support for --help and --version
45908 (as well as existing -y).
45909
45910 2008-02-09 Christian Franke <franke@computer.org>
45911
45912 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45913 avoid overwriting previous output.
45914 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45915
45916 2008-02-09 Robert Millan <rmh@aybabtu.com>
45917
45918 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45919 drawing the menu.
45920
45921 2008-02-09 Robert Millan <rmh@aybabtu.com>
45922
45923 * commands/sleep.c: New file.
45924 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45925 (sleep_mod_SOURCES): New variable.
45926 (sleep_mod_CFLAGS): Likewise.
45927 (sleep_mod_LDFLAGS): Likewise.
45928
45929 2008-02-09 Robert Millan <rmh@aybabtu.com>
45930
45931 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45932 situations in which we can deduce the RAID size and the superblock
45933 doesn't match it.
45934
45935 2008-02-09 Robert Millan <rmh@aybabtu.com>
45936
45937 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45938 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45939 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45940
45941 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45942 and return a grub_diskmemberlist_t composed of physical array members.
45943 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45944
45945 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45946 prototype.
45947 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45948 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45949 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45950
45951 * util/grub-probe.c (probe): Move partmap probing code from here ...
45952 (probe_partmap): ... to here.
45953 (probe): Use probe_partmap() once for the disk we're probing, and
45954 additionally, when such disk contains a memberlist() struct member,
45955 once for each disk that is contained in the structure returned by
45956 memberlist().
45957
45958 2008-02-09 Robert Millan <rmh@aybabtu.com>
45959
45960 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45961 environment variable to 'all' in order to obtain debug output from
45962 non-util/ code.
45963 * util/i386/pc/grub-setup.c (main): Likewise.
45964
45965 2008-02-08 Robert Millan <rmh@aybabtu.com>
45966
45967 * disk/raid.c (grub_raid_scan_device): Check for
45968 `array->device[sb.this_disk.number]' rather than for
45969 `array->device[sb.this_disk.number]->name', since the latter is not
45970 guaranteed to be accessible.
45971
45972 2008-02-08 Robert Millan <rmh@aybabtu.com>
45973
45974 * disk/raid.c: Update copyright.
45975 * fs/cpio.c: Likewise.
45976 * include/grub/raid.h: Likewise.
45977 * loader/i386/pc/multiboot.c: Likewise.
45978 * util/hostfs.c: Likewise.
45979
45980 2008-02-08 Robert Millan <rmh@aybabtu.com>
45981
45982 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45983 to a grub_disk_t array.
45984 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45985 `device[x]'.
45986 (grub_raid_scan_device): Replace `device[x].name' accesses with
45987 `device[x]->name'. Simplify initialization of `array->device[x]'.
45988
45989 2008-02-08 Robert Millan <rmh@aybabtu.com>
45990
45991 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45992 grub_dprintf() calls.
45993 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45994 error message.
45995
45996 2008-02-07 Christian Franke <franke@computer.org>
45997
45998 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45999 instead of fseek and ftell to support large files.
46000 (grub_hostfs_read): Likewise.
46001
46002 2008-02-07 Robert Millan <rmh@aybabtu.com>
46003
46004 Patch from Jeroen Dekkers.
46005 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
46006 failure, since successfully reading all array members might not be
46007 required.
46008
46009 2008-02-06 Robert Millan <rmh@aybabtu.com>
46010
46011 * util/grub-probe.c (probe): Simplify partmap probing (with the
46012 assumption that the first word up to the underscore equals to
46013 the module name).
46014
46015 2008-02-06 Christian Franke <franke@computer.org>
46016
46017 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
46018 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
46019 last block of a cpio or tar stream.
46020 Check for "TRAILER!!!" instead of any empty data
46021 block to detect last block of a cpio stream.
46022 (grub_cpio_dir): Fix constness of variable np.
46023 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
46024 cpio or tar trailer is detected. This fixes a crash
46025 on open of a non existing file.
46026
46027 2008-02-05 Bean <bean123ch@gmail.com>
46028
46029 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
46030 address of entry.
46031 (grub_multiboot_load_elf64): Likewise.
46032 (grub_multiboot): Initialize mbi structure.
46033
46034 * util/grub-fstest.c: Don't include unused header file script.h.
46035
46036 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
46037 of file.
46038 (grub_fstest_SOURCES): Likewise.
46039
46040 2008-02-05 Robert Millan <rmh@aybabtu.com>
46041
46042 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
46043 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
46044 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
46045 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
46046
46047 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
46048 (translation_table): Replace hardcoded values with macros
46049 provided by `<grub/term.h>'.
46050
46051 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
46052 (keyboard_map): Correct/add a few values, with macros provided
46053 by `<grub/term.h>'.
46054 (keyboard_map_shift): Zero values that don't differ from their
46055 `keyboard_map' equivalents.
46056 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
46057 Discard the second scan code that is always sent by Caps lock.
46058 Only use `keyboard_map_shift' when it provides a non-zero value,
46059 otherwise fallback to `keyboard_map'.
46060
46061 2008-02-04 Bean <bean123ch@gmail.com>
46062
46063 * Makefile.in (enable_grub_fstest): New variable.
46064
46065 * conf/common.rmk (grub_fstest_init.lst): New rule.
46066 (grub_fstest_init.h): Likewise.
46067 (grub_fstest_init.c): Likewise.
46068 (util/grub-fstest.c_DEPENDENCIES): New variable.
46069 (grub_fstest_SOURCES): Likewise.
46070
46071 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
46072
46073 * util/grub-fstest.c: New file.
46074
46075 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
46076
46077 Make grub-setup handle a separate root device.
46078
46079 * util/i386/pc/grub-setup.c (setup): Always open the root device,
46080 so that the root device can be compared with the destination
46081 device.
46082 When embedding the core image, if the root and destination devices
46083 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
46084 0xFF.
46085 When not embedding, set ROOT_DRIVE to 0xFF.
46086
46087 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
46088
46089 Add support for having a grub directory in a different drive. This
46090 is still only the data handling part.
46091
46092 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
46093 (codestart): Save %dh in GRUB_ROOT_DRIVE.
46094 (grub_root_drive): New variable.
46095
46096 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
46097 instead of GRUB_BOOT_DRIVE to construct a device name. Set
46098 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
46099 as it was.
46100
46101 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
46102
46103 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
46104 macro.
46105 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
46106
46107 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
46108 is bogus, because PXE booting does not specify any drive
46109 correctly.
46110
46111 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
46112 am not sure if this is really correct.
46113
46114 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
46115 is always identical to the boot drive when booting from a CD.
46116
46117 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
46118 longer.
46119 (root_drive): New variable.
46120 (real_start): Unconditionally set %dh to ROOT_DRIVE.
46121 (setup_sectors): Push %dx right after popping it, because %dh will
46122 be modified later.
46123 (copy_buffer): Restore %dx.
46124
46125 2008-02-03 Robert Millan <rmh@aybabtu.com>
46126
46127 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
46128 use `cdboot.img' for cdrom images.
46129
46130 2008-02-03 Robert Millan <rmh@aybabtu.com>
46131
46132 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
46133 only setup gfxterm when `font' command has succeeded.
46134
46135 2008-02-03 Robert Millan <rmh@aybabtu.com>
46136
46137 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
46138 (grub_rescue_cmd_multiboot_loader)
46139 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
46140
46141 2008-02-03 Pavel Roskin <proski@gnu.org>
46142
46143 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
46144 %edx and %esi from stack only after grub_gate_a20() is called.
46145 grub_gate_a20() clobbers %edx.
46146
46147 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
46148
46149 * configure.ac (AC_INIT): Bumped to 1.96.
46150
46151 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
46152 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
46153 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
46154 video/readers/png.c.
46155
46156 2008-02-03 Bean <bean123ch@gmail.com>
46157
46158 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
46159 (cdboot_img_SOURCES): New variable.
46160 (cdboot_img_ASFLAGS): New variable.
46161 (cdboot_img_LDFLAGS): New variable.
46162
46163 * boot/i386/pc/cdboot.S: New file.
46164
46165 * disk/i386/pc/biosdisk.c (cd_start): New variable.
46166 (cd_count): Likewise.
46167 (grub_biosdisk_get_drive): Add support for cd device.
46168 (grub_biosdisk_call_hook): Likewise.
46169 (grub_biosdisk_iterate): Likewise.
46170 (grub_biosdisk_open): Likewise.
46171 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
46172 (grub_biosdisk_rw): Support reading from cd device.
46173 (GRUB_MOD_INIT): Iterate cd devices.
46174
46175 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
46176 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
46177 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
46178
46179 * kern/i386/pc/init.c (make_install_device): Check for cd device.
46180
46181 2008-02-02 Robert Millan <rmh@aybabtu.com>
46182
46183 * commands/read.c: New file.
46184 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
46185 (read_mod_SOURCES): New variable.
46186 (read_mod_CFLAGS): Likewise.
46187 (read_mod_LDFLAGS): Likewise.
46188
46189 2008-02-02 Robert Millan <rmh@aybabtu.com>
46190
46191 * normal/main.c (grub_normal_execute): Check for `menu->size' when
46192 determining whether menu has to be displayed.
46193
46194 2008-02-02 Marco Gerards <marco@gnu.org>
46195
46196 * bus/pci.c: New file.
46197
46198 * include/grub/pci.h: Likewise.
46199
46200 * include/grub/i386/pc/pci.h: Likewise.
46201
46202 * commands/lspci.c: Likewise.
46203
46204 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
46205 `lspci.mod'.
46206 (pci_mod_SOURCES): New variable.
46207 (pci_mod_CFLAGS): Likewise.
46208 (pci_mod_LDFLAGS): Likewise.
46209 (lspci_mod_SOURCES): Likewise.
46210 (lspci_mod_CFLAGS): Likewise.
46211 (lspci_mod_LDFLAGS): Likewise.
46212
46213 2008-02-02 Bean <bean123ch@gmail.com>
46214
46215 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
46216 (grub_ufs_get_file_block): Fix indirect block calculation problem.
46217
46218 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
46219 (grub_xfs_btree_node): New structure.
46220 (grub_xfs_btree_root): New structure.
46221 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
46222 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
46223 (GRUB_XFS_EXTENT_BLOCK): Likewise.
46224 (GRUB_XFS_EXTENT_SIZE): Likewise.
46225 (grub_xfs_read_block): Support btree format type.
46226 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
46227 Use directory block as basic unit.
46228
46229 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
46230
46231 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
46232 __attribute__ ((__regparm__ (1))).
46233
46234 2008-02-01 Robert Millan <rmh@aybabtu.com>
46235
46236 Correct a mistake in previous commit.
46237
46238 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
46239 top.
46240 (normal/command.c_DEPENDENCIES): New variable.
46241
46242 2008-02-01 Robert Millan <rmh@aybabtu.com>
46243
46244 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
46245 top.
46246 (normal/command.c_DEPENDENCIES): New variable.
46247 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
46248 * conf/i386-ieee1275.rmk: Likewise.
46249 * conf/i386-linuxbios.rmk: Likewise.
46250 * conf/i386-pc.rmk: Likewise.
46251 * conf/sparc64-ieee1275.rmk: Likewise.
46252 * conf/powerpc-ieee1275.rmk: Likewise.
46253 (grub_emu_SOURCES): Add `fs/fshelp.c'.
46254
46255 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
46256
46257 2008-02-01 Robert Millan <rmh@aybabtu.com>
46258
46259 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
46260 call at beginning of function.
46261
46262 2008-01-31 Pavel Roskin <proski@gnu.org>
46263
46264 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
46265 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
46266 (grub_mkrescue_SOURCES): Likewise.
46267 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
46268
46269 2008-01-30 Robert Millan <rmh@aybabtu.com>
46270
46271 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
46272 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
46273 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
46274 (grub_probe_SOURCES): ... to here.
46275
46276 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
46277 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
46278 * conf/i386-ieee1275.rmk: Likewise.
46279 * conf/i386-linuxbios.rmk: Likewise.
46280 * conf/powerpc-ieee1275.rmk: Likewise.
46281
46282 2008-01-30 Tristan Gingold <gingold@free.fr>
46283
46284 * kern/rescue.c: Silently accept empty lines.
46285
46286 2008-01-29 Bean <bean123ch@gmail.com>
46287
46288 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
46289 (real_code_2): Code cleanup and change comment style.
46290 (move_memory): Avoid using 32-bit address mode.
46291
46292 2008-01-29 Bean <bean123ch@gmail.com>
46293
46294 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
46295 (png_mod_SOURCES): New variable.
46296 (png_mod_CFLAGS): Likewise.
46297 (png_mod_LDFLAGS): Likewise.
46298
46299 * video/readers/png.c: New file.
46300
46301 2008-01-28 Robert Millan <rmh@aybabtu.com>
46302
46303 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
46304 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
46305 `ifndef GRUB_MOD_GAP' hack.
46306 * util/elf/grub-mkimage.c (add_segments): Likewise.
46307
46308 2008-01-27 Robert Millan <rmh@aybabtu.com>
46309
46310 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
46311 `GRUB_MOD_GAP' for platforms in which it's not defined.
46312 * util/elf/grub-mkimage.c (add_segments): Likewise.
46313
46314 2008-01-27 Robert Millan <rmh@aybabtu.com>
46315
46316 Get grub-emu to build again (including parallel builds).
46317
46318 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
46319 Split into ...
46320 (util/grub-emu.c_DEPENDENCIES): ... this, ...
46321 (normal/execute.c_DEPENDENCIES): ... this, ...
46322 (grub-emu_DEPENDENCIES): ... and this.
46323
46324 * conf/i386-efi.rmk: Likewise.
46325 * conf/i386-linuxbios.rmk: Likewise.
46326 * conf/i386-ieee1275.rmk: Likewise.
46327 * conf/powerpc-ieee1275.rmk: Likewise.
46328 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
46329
46330 2008-01-27 Robert Millan <rmh@aybabtu.com>
46331
46332 * NEWS: Add a few items.
46333
46334 2008-01-27 Robert Millan <rmh@aybabtu.com>
46335
46336 Fix parallel builds with grub-emu. Based on earlier commit for
46337 grub-probe and grub-setup.
46338
46339 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46340 (util/grub-emu.c_DEPENDENCIES): ... this.
46341 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46342 (util/grub-emu.c_DEPENDENCIES): ... this.
46343 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46344 (util/grub-emu.c_DEPENDENCIES): ... this.
46345 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46346 (util/grub-emu.c_DEPENDENCIES): ... this.
46347 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46348 (util/grub-emu.c_DEPENDENCIES): ... this.
46349
46350 2008-01-27 Pavel Roskin <proski@gnu.org>
46351
46352 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
46353 to create a gap between _end and the modules added to the image
46354 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
46355 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
46356 * util/elf/grub-mkimage.c (add_segments): Likewise.
46357
46358 2008-01-26 Pavel Roskin <proski@gnu.org>
46359
46360 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46361 just return an error.
46362
46363 2008-01-26 Bean <bean123ch@gmail.com>
46364
46365 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46366 (grub_reiserfs_get_item): Save offset of the next item.
46367 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46368
46369 2008-01-25 Robert Millan <rmh@aybabtu.com>
46370
46371 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46372 make all filesystem sources appear together (possibly fixing omissions
46373 while at it).
46374 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46375 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46376 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46378
46379 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46380 add `kern/file.c'.
46381 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46382 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46383 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46384 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46385
46386 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46387 (probe): Add a sanity check to make sure of our ability to read
46388 requested files when probing for filesystem type.
46389
46390 * genmk.rb: Update copyright year (2007).
46391
46392 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46393 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46394 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46395 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46396 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46397 : Remove function prototypes.
46398
46399 2008-01-25 Robert Millan <rmh@aybabtu.com>
46400
46401 Revert my previous commits (based on wrong assumption of how grub_errno
46402 works).
46403
46404 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
46405 * kern/file.c (grub_file_open): Likewise.
46406
46407 2008-01-24 Pavel Roskin <proski@gnu.org>
46408
46409 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46410 that hang if GRUB tries to setup colors.
46411 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46412 colors for firmwares that don't support it.
46413 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46414 Recognize Open Hack'Ware, set flags to work around its
46415 limitations.
46416
46417 2008-01-24 Robert Millan <rmh@aybabtu.com>
46418
46419 * kern/file.c (grub_file_open): Do not account previous failures of
46420 unrelated functions when grub_errno is checked for.
46421 Reported by Oleg Strikov.
46422
46423 2008-01-24 Bean <bean123ch@gmail.com>
46424
46425 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46426 (grub_ufs_sblock): New member volume name.
46427 (grub_ufs_find_file): Fix string copy bug.
46428 (grub_ufs_label): Implement this function properly.
46429
46430 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46431 (grub_hfs_iterate_records): Use the correct file number for extents
46432 and catalog file. Fix problem in next index calculation.
46433 (grub_hfs_find_node): Replace recursive function call with loop.
46434 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46435
46436 2008-01-23 Robert Millan <rmh@aybabtu.com>
46437
46438 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46439 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46440 (grub_multiboot2_real_boot): New function prototype.
46441
46442 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46443 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46444
46445 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46446 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46447
46448 2008-01-23 Robert Millan <rmh@aybabtu.com>
46449
46450 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46451 #ifdef'ed out grub_printf().
46452
46453 2008-01-23 Robert Millan <rmh@aybabtu.com>
46454
46455 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46456 grub_dprintf calls, since they make "debug=all" mode unusable.
46457 (grub_console_checkkey): Likewise.
46458
46459 2008-01-23 Robert Millan <rmh@aybabtu.com>
46460
46461 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46462 `term/i386/pc/at_keyboard.c'.
46463 (pkglib_MODULES): Add `serial.mod'.
46464 (serial_mod_SOURCES): New variable.
46465 (serial_mod_CFLAGS): Likewise.
46466 (serial_mod_LDFLAGS): Likewise.
46467
46468 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46469 `<grub/powerpc/ieee1275/console.h>'.
46470 (grub_keyboard_controller_init): New function prototype.
46471 (grub_console_checkkey): Likewise.
46472 (grub_console_getkey): Likewise.
46473
46474 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46475 keyboard on i386.
46476
46477 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46478 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46479
46480 2008-01-23 Robert Millan <rmh@aybabtu.com>
46481
46482 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46483 present, "(memdisk)/boot/grub" becomes the default prefix.
46484
46485 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46486 a memdisk tarball with all the modules. Add --overlay=DIR option that
46487 allows users to overlay additional files into the image.
46488
46489 2008-01-23 Robert Millan <rmh@aybabtu.com>
46490
46491 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46492 and `machine/memory.h'.
46493 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46494 (_multiboot_mod_SOURCES): New variable.
46495 (_multiboot_mod_CFLAGS): Likewise.
46496 (_multiboot_mod_LDFLAGS): Likewise.
46497 (multiboot_mod_SOURCES): Likewise.
46498 (multiboot_mod_CFLAGS): Likewise.
46499 (multiboot_mod_LDFLAGS): Likewise.
46500
46501 * include/grub/i386/ieee1275/loader.h: New file.
46502
46503 * include/grub/i386/ieee1275/machine.h: Likewise.
46504
46505 * include/grub/i386/ieee1275/memory.h: Likewise.
46506
46507 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46508 variable declaration.
46509 (grub_os_area_size): Likewise.
46510
46511 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46512 (grub_lower_mem, grub_upper_mem): New variables.
46513 (grub_stop_floppy): New function (just to make
46514 grub_multiboot2_real_boot() happy).
46515
46516 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46517 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46518 (grub_stop): New function.
46519 Include `"../realmode.S"' and `"../loader.S"'.
46520
46521 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46522 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46523
46524 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46525 rely on grub_multiboot2_real_boot() for final boot.
46526
46527 2008-01-22 Robert Millan <rmh@aybabtu.com>
46528
46529 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46530 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46531 device that doesn't look like an SD card.
46532 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46533 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46534 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46535 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46536 found.
46537
46538 2008-01-22 Robert Millan <rmh@aybabtu.com>
46539
46540 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46541 avoid claiming over our own code.
46542
46543 2008-01-22 Bean <bean123ch@gmail.com>
46544
46545 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46546 (jpeg_mod_SOURCES): New variable.
46547 (jpeg_mod_CFLAGS): Likewise.
46548 (jpeg_mod_LDFLAGS): Likewise.
46549
46550 * video/readers/jpeg.c : New file.
46551
46552 2008-01-22 Bean <bean123ch@gmail.com>
46553
46554 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46555 there are no more items.
46556
46557 2008-01-21 Robert Millan <rmh@aybabtu.com>
46558
46559 * kern/mm.c (grub_mm_init_region): Improve debug message.
46560
46561 2008-01-21 Robert Millan <rmh@aybabtu.com>
46562
46563 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46564 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46565 address.
46566 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46567 a C macro.
46568 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46569 Indicates start of upper memory.
46570 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46571 (generate_image): Abort when image size is big enough to corrupt
46572 upper memory.
46573
46574 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46575 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46576 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46577 instead of hardcoding 0xA0000.
46578 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46579 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46580 instead of hardcoding 0xA0000.
46581
46582 2008-01-21 Robert Millan <rmh@aybabtu.com>
46583
46584 * disk/memdisk.c (memdisk_size): New variable.
46585 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46586 `memdisk_size'.
46587 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46588 image to dynamic memory.
46589 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46590 `memdisk_size'. Free memdisk block.
46591
46592 2008-01-21 Robert Millan <rmh@aybabtu.com>
46593
46594 Fix detection of very small filesystems (like tar).
46595
46596 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46597 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46598 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46599 a problem with this disk).
46600
46601 2008-01-21 Robert Millan <rmh@aybabtu.com>
46602
46603 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46604 on grub_biosdisk_rw_standard() error.
46605
46606 2008-01-21 Robert Millan <rmh@aybabtu.com>
46607
46608 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46609 recent changes.
46610 * kern/elf.c: Likewise.
46611 * kern/ieee1275/ieee1275.c: Likewise.
46612 * kern/powerpc/ieee1275/openfw.c: Likewise.
46613 * term/ieee1275/ofconsole.c: Likewise.
46614
46615 2008-01-21 Robert Millan <rmh@aybabtu.com>
46616
46617 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46618
46619 * include/grub/kernel.h (grub_arch_memdisk_addr)
46620 (grub_arch_memdisk_size): Moved from here ...
46621
46622 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46623 (grub_arch_memdisk_size): ... to here.
46624
46625 2008-01-21 Robert Millan <rmh@aybabtu.com>
46626
46627 Mostly based on bugfix from Bean.
46628
46629 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46630 attribute with hook() parameter.
46631 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46632 declaration.
46633 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46634 attribute with hook() parameter.
46635 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46636 declaration.
46637
46638 2008-01-21 Robert Millan <rmh@aybabtu.com>
46639
46640 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46641 (pkglib_MODULES): Add `memdisk.mod'.
46642 (memdisk_mod_SOURCES): New variable.
46643 (memdisk_mod_CFLAGS): Likewise.
46644 (memdisk_mod_LDFLAGS): Likewise.
46645
46646 * disk/memdisk.c: New file.
46647
46648 * include/grub/disk.h (grub_disk_dev_id): Add
46649 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46650
46651 * include/grub/i386/pc/kernel.h
46652 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46653 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46654 (grub_kernel_image_size): New variable declaration.
46655 (grub_total_module_size): Likewise.
46656 (grub_memdisk_image_size): Likewise.
46657
46658 * include/grub/i386/pc/memory.h
46659 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46660
46661 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46662 (grub_arch_memdisk_addr): New variable declaration.
46663 (grub_arch_memdisk_size): Likewise.
46664
46665 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46666 (grub_arch_memdisk_size): Likewise.
46667
46668 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46669 (codestart): Replace hardcoded `0x100000' with
46670 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46671
46672 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46673 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46674 not NULL, append the contents of the file it refers to, at the end of
46675 the compressed kernel image. Initialize `grub_memdisk_image_size'
46676 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46677 (options): Add "memdisk"|'m' option.
46678 (main): Parse --memdisk|-m option, and pass user-provided path as
46679 parameter to generate_image().
46680
46681 2008-01-20 Robert Millan <rmh@aybabtu.com>
46682
46683 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46684 grub_dprintf() calls from here ...
46685 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46686
46687 2008-01-20 Robert Millan <rmh@aybabtu.com>
46688
46689 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46690
46691 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46692 declaration.
46693 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46694 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46695 `GRUB_IEEE1275_FLAG_REAL_MODE'.
46696 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
46697 property).
46698 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46699 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46700
46701 2008-01-19 Robert Millan <rmh@aybabtu.com>
46702
46703 Get rid of confusing function (superseded by
46704 `grub_ieee1275_get_integer_property')
46705 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46706 prototype.
46707 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46708 function.
46709 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46710 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
46711 in native endianness from grub_ieee1275_get_integer_property().
46712
46713 2008-01-19 Robert Millan <rmh@aybabtu.com>
46714
46715 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46716 command after "shut-down", since implementations differ on which
46717 the command for halt is.
46718
46719 2008-01-19 Robert Millan <rmh@aybabtu.com>
46720
46721 * include/grub/i386/linuxbios/console.h: Add header protection.
46722 (grub_keyboard_controller_init): New function prototype.
46723 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46724 (KEYBOARD_COMMAND_READ): Likewise.
46725 (KEYBOARD_COMMAND_WRITE): Likewise.
46726 (KEYBOARD_SCANCODE_SET1): Likewise.
46727 (grub_keyboard_controller_write): New function.
46728 (grub_keyboard_controller_read): Likewise.
46729 (grub_keyboard_controller_init): Likewise.
46730
46731 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46732 (grub_console_init): On coreboot/LinuxBIOS, call
46733 grub_keyboard_controller_init().
46734
46735 2008-01-19 Robert Millan <rmh@aybabtu.com>
46736
46737 PowerPC changes provided by Pavel Roskin.
46738
46739 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46740 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46741 don't rely on cmain() doing it.
46742 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46743 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46744
46745 2008-01-16 Robert Millan <rmh@aybabtu.com>
46746
46747 * include/grub/i386/linuxbios/memory.h
46748 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46749 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46750 receive `table_header' as argument. Instead, probe for it in the
46751 known memory ranges where it can be present.
46752 (grub_available_iterate): Do not pass a fixed `table_header' address
46753 to grub_linuxbios_table_iterate().
46754
46755 2008-01-15 Robert Millan <rmh@aybabtu.com>
46756
46757 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46758 * conf/i386-ieee1275.rmk: New file.
46759 * include/grub/i386/ieee1275/console.h: Likewise.
46760 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46761 * include/grub/i386/ieee1275/kernel.h: Likewise.
46762 * include/grub/i386/ieee1275/time.h: Likewise.
46763 * kern/i386/ieee1275/init.c: Likewise.
46764 * kern/i386/ieee1275/startup.S: Likewise.
46765
46766 2008-01-15 Robert Millan <rmh@aybabtu.com>
46767
46768 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46769 when pointers are 32-bit (but still do set it to one when they are
46770 64-bit).
46771
46772 2008-01-15 Robert Millan <rmh@aybabtu.com>
46773
46774 * include/grub/ieee1275/ieee1275.h
46775 (grub_ieee1275_get_integer_property): New function prototype.
46776
46777 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46778 (grub_ieee1275_get_integer_property): New function. Wraps around
46779 grub_ieee1275_get_property() to handle endianness.
46780
46781 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46782 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
46783 where appropriate.
46784 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46785 (grub_map): Likewise.
46786 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46787
46788 2008-01-15 Bean <bean123ch@gmail.com>
46789
46790 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46791 (grub_script_execute_cmdline): Reset grub_errno.
46792
46793 * normal/main.c (read_config_file): Reset grub_errno.
46794
46795 * normal/parse.y (script_init): New.
46796 (script): Move function and menuentry here.
46797 (delimiter): New.
46798 (command): Add delimiter at the end of command.
46799 (commands): Adjust to match the new command.
46800 (commandblock): Remove grub_script_lexer_record_start.
46801 (menuentry): Add grub_script_lexer_record_start, use the new commands.
46802 (if): Use the new commands.
46803
46804 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46805
46806 2008-01-15 Robert Millan <rmh@aybabtu.com>
46807
46808 * normal/menu.c (run_menu): Move timeout message from here ...
46809 (print_timeout): ... to here.
46810 (run_menu): Use print_timeout() once during initial draw to print
46811 the whole message, and again in every clock tick to update only
46812 the number of seconds.
46813
46814 2008-01-15 Robert Millan <rmh@aybabtu.com>
46815
46816 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46817 actual size of `available' from grub_ieee1275_get_property(), and
46818 restrict parsing to that bound.
46819
46820 2008-01-15 Christian Franke <franke@computer.org>
46821
46822 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46823 (argp_program_version): Remove variable.
46824 (argp_program_bug_address): Likewise.
46825 (options): Convert from struct argp_option to struct option.
46826 (struct arguments): Remove.
46827 (parse_opt): Remove.
46828 (usage): New function.
46829 (main): Replace struct args members by simple variables.
46830 Replace argp_parse() by getopt_long().
46831 Add switch to evaluate options.
46832 Add missing "(...)" around root_dev in prefix string.
46833
46834 2008-01-14 Robert Millan <rmh@aybabtu.com>
46835
46836 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46837 for grub_ieee1275_exit(), in order to improve portability.
46838
46839 2008-01-14 Robert Millan <rmh@aybabtu.com>
46840
46841 * util/grub.d/10_linux.in (prefix): Define.
46842 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46843
46844 2008-01-13 Pavel Roskin <proski@gnu.org>
46845
46846 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46847 grub_errno if no errors have been detected.
46848
46849 2008-01-12 Robert Millan <rmh@aybabtu.com>
46850
46851 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46852 (grub_util_get_dev_abstraction): New function prototype.
46853
46854 * util/getroot.c: Include `<grub/util/getroot.h>'
46855 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46856 (grub_util_get_dev_abstraction): ... here (new function).
46857
46858 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46859 `PRINT_ABSTRACTION'.
46860 (probe): Probe for abstraction type when requested.
46861 (main): Understand `--target=abstraction'.
46862
46863 * util/i386/efi/grub-install.in: Add abstraction module to core
46864 image when it is found to be necessary.
46865 * util/i386/pc/grub-install.in: Likewise.
46866 * util/powerpc/ieee1275/grub-install.in: Likewise.
46867
46868 * util/update-grub_lib.in (font_path): Return system path without
46869 converting to GRUB path.
46870 * util/update-grub.in: Convert system path returned by font_path()
46871 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46872 abstraction module is needed for loading fonts (if any). Export
46873 that as `GRUB_PRELOAD_MODULES'.
46874 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46875 insmod commands).
46876
46877 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46878
46879 Remove some unused code from reiserfs.
46880
46881 * fs/reiserfs.c (struct grub_reiserfs_key)
46882 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46883 (struct grub_reiserfs_node_body): Removed.
46884 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46885 Likewise.
46886 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46887 Likewise.
46888 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46889 Likewise.
46890 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46891 Likewise.
46892 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46893 Likewise.
46894 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46895 Likewise.
46896 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46897 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46898 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46899
46900 2008-01-10 Robert Millan <rmh@aybabtu.com>
46901
46902 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46903 Determines if a file is garbage left by packaging systems, etc.
46904 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46905 for processing /etc/grub.d scripts.
46906 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46907 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46908 as a condition for processing Linux images.
46909
46910 2008-01-10 Pavel Roskin <proski@gnu.org>
46911
46912 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46913 to compile reiserfs.c on PowerPC.
46914
46915 2008-01-10 Robert Millan <rmh@aybabtu.com>
46916
46917 * kern/device.c (grub_device_iterate): Do not abort device iteration
46918 when one of the devices cannot be opened.
46919 * kern/disk.c (grub_disk_open): Do not account previous failures of
46920 unrelated functions when grub_errno is checked for.
46921
46922 2008-01-08 Robert Millan <rmh@aybabtu.com>
46923
46924 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46925 `! grub_linux_is_bzimage', change order of address comparison to make
46926 it more intuitive, and improve "too big zImage" error message.
46927
46928 2008-01-08 Robert Millan <rmh@aybabtu.com>
46929
46930 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46931 `$(update-grub_DATA)'.
46932 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46933 targets.
46934
46935 2008-01-07 Robert Millan <rmh@aybabtu.com>
46936
46937 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46938 which instruction is modified by grub-setup during installation
46939 (since it wasn't obvious by only looking at this file).
46940
46941 2008-01-07 Robert Millan <rmh@aybabtu.com>
46942
46943 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46944 listing actual TODO items.
46945
46946 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46947
46948 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46949 correctly.
46950 (grub_reiserfs_get_key_offset): Likewise.
46951 (grub_reiserfs_set_key_offset): Likewise.
46952 (grub_reiserfs_set_key_type): Likewise.
46953 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
46954
46955 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46956 better to remove the bitfield version completely.
46957
46958 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46959
46960 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46961 allocated from the heap, due to the fshelp implementation.
46962 (grub_reiserfs_dir): Free NODE, due to the same reason.
46963
46964 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46965
46966 Mostly from Vincent Pelletier:
46967
46968 * fs/reiserfs.c: New file.
46969
46970 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46971 (reiserfs_mod_SOURCES): New variable.
46972 (reiserfs_mod_CFLAGS): Likewise.
46973 (reiserfs_mod_LDFLAGS): Likewise.
46974
46975 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46976 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46977 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46978 normal/color.c.
46979
46980 2008-01-06 Robert Millan <rmh@aybabtu.com>
46981
46982 * normal/color.c: Remove `<grub/env.h>'.
46983
46984 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46985
46986 * include/grub/normal.h: Include <grub/env.h>.
46987
46988 2008-01-05 Robert Millan <rmh@aybabtu.com>
46989
46990 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46991 usage example with `(hd0,1)'.
46992 Reported by Samuel Thibault.
46993
46994 2008-01-05 Robert Millan <rmh@aybabtu.com>
46995
46996 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46997 (grub_linux_boot_zimage): Rename to ...
46998 (grub_linux_boot): ... this.
46999 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
47000 (grub_linux_boot_zimage): Conditionalize zImage copy.
47001
47002 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
47003 (grub_linux_boot_bzimage): Remove prototype.
47004 (grub_linux_boot_zimage): Rename to ...
47005 (grub_linux_boot): ... this.
47006
47007 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
47008 (grub_linux_boot): Remove function.
47009
47010 2008-01-05 Robert Millan <rmh@aybabtu.com>
47011
47012 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
47013 (grub_env_write_color_highlight): Likewise.
47014 (grub_wait_after_message): Likewise.
47015
47016 * normal/color.c: New file.
47017
47018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
47019 (normal_mod_DEPENDENCIES): Likewise.
47020
47021 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
47022 (normal_mod_DEPENDENCIES): Likewise.
47023
47024 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
47025 (normal_mod_DEPENDENCIES): Likewise.
47026
47027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
47028 (normal_mod_DEPENDENCIES): Likewise.
47029
47030 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
47031 for waiting after a message is printed.
47032 * normal/main.c (read_config_file): Likewise.
47033 (grub_normal_init): Register grub_env_write_color_normal() and
47034 grub_env_write_color_highlight() hooks. Mark `color_normal' and
47035 `color_highlight' variables as global.
47036
47037 * normal/menu.c (grub_wait_after_message): New function.
47038 (grub_color_menu_normal): New variable. Replaces ...
47039 (GRUB_COLOR_MENU_NORMAL): ... this macro.
47040 (grub_color_menu_highlight): New variable. Replaces ...
47041 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
47042 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
47043 `GRUB_TERM_COLOR_STANDARD'.
47044 (print_message): Use `grub_setcolorstate' to reload colors. Rename
47045 `normal_code' and `highlight_code' to `old_color_normal' and
47046 `old_color_highlight', respectively.
47047 (grub_menu_init_page): Update colors when drawing the menu, based on
47048 `menu_color_normal' and `menu_color_highlight' variables.
47049 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
47050 a message is printed.
47051
47052 2008-01-05 Robert Millan <rmh@aybabtu.com>
47053
47054 * kern/env.c (grub_env_context_open): Propagate hooks for global
47055 variables to new context.
47056
47057 * kern/main.c (grub_set_root_dev): Export `root' variable.
47058
47059 2008-01-05 Robert Millan <rmh@aybabtu.com>
47060
47061 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
47062 discs unconditionally, since udev and others have options to provide
47063 them.
47064
47065 2008-01-05 Robert Millan <rmh@aybabtu.com>
47066
47067 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
47068
47069 2008-01-04 Christian Franke <franke@computer.org>
47070
47071 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
47072 of eisa_mmap.
47073
47074 2008-01-03 Pavel Roskin <proski@gnu.org>
47075
47076 * kern/i386/linuxbios/init.c: Put "void" to all function
47077 declarations with no arguments.
47078 * kern/powerpc/ieee1275/init.c: Likewise.
47079 * term/i386/pc/at_keyboard.c: Likewise.
47080 * term/i386/pc/vga_text.c: Likewise.
47081 * util/grub-mkdevicemap.c: Likewise.
47082
47083 2008-01-02 Robert Millan <rmh@aybabtu.com>
47084
47085 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
47086 message when loaded image is out of bounds.
47087 (grub_multiboot_load_elf64): Likewise.
47088
47089 2008-01-02 Pavel Roskin <proski@gnu.org>
47090
47091 * util/grub.d/10_linux.in: Try version without ".old" when
47092 looking for initrd. It's better to use initrd from the newer
47093 kernel of the same version than no initrd at all.
47094
47095 2008-01-01 Robert Millan <rmh@aybabtu.com>
47096
47097 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
47098
47099 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
47100
47101 * include/grub/video.h: Added grub_video_unmap_color and
47102 grub_video_get_active_render_target.
47103 (grub_video_adapter): Added unmap_color and get_active_render_target.
47104
47105 * video/video.c: Added grub_video_unmap_color and
47106 grub_video_get_active_render_target.
47107 (grub_video_get_info): Changed method to accept NULL pointer as an
47108 argument to allow detection of active video adapter.
47109
47110 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
47111 grub_video_vbe_unmap_color_int.
47112 Added grub_video_vbe_unmap_color and
47113 grub_video_vbe_get_active_render_target.
47114 (grub_video_vbe_adapter): Added unmap_color and
47115 get_active_render_target.
47116
47117 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
47118 with grub_video_vbe_unmap_color_int.
47119
47120 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
47121 (DEFAULT_NORMAL_COLOR): Likewise.
47122 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
47123 (DEFAULT_FG_COLOR): Removed.
47124 (DEFAULT_BG_COLOR): Likewise.
47125 (DEFAULT_CURSOR_COLOR): Changed value.
47126 (grub_virtual_screen): Added standard_color_setting,
47127 normal_color_setting, highlight_color_setting and term_color.
47128 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
47129 (bitmap_width): Added.
47130 (bitmap_height): Likewise.
47131 (bitmap): Likewise.
47132 (set_term_color): Likewise.
47133 (grub_virtual_screen_setup): Changed to use new terminal coloring
47134 settings.
47135 (grub_gfxterm_init): Added init for bitmap.
47136 (grub_gfxterm_fini): Added destroy for bitmap.
47137 (redraw_screen_rect): Updated to use background bitmap and new
47138 terminal coloring.
47139 (scroll_up): Added optimization for case when there is no bitmap.
47140 (grub_gfxterm_cls): Fixed to use correct background color.
47141 (grub_virtual_screen_setcolorstate): Changed to use new terminal
47142 coloring.
47143 (grub_virtual_screen_setcolor): Likewise.
47144 (grub_virtual_screen_getcolor): Added.
47145 (grub_gfxterm_background_image_cmd): Likewise.
47146 (grub_video_term): Added setcolor and getcolor.
47147 (MOD_INIT): Added registration of background_image command.
47148 (MOD_TERM): Added unregistration for background_image command.
47149
47150 2007-12-30 Pavel Roskin <proski@gnu.org>
47151
47152 * loader/multiboot_loader.c: Fix multiboot command
47153 unregistration. Fix all typos in the word "multiboot".
47154
47155 2007-12-29 Pavel Roskin <proski@gnu.org>
47156
47157 * util/grub.d/10_linux.in: Refactor search for initrd. Add
47158 support for initrd names used in Fedora.
47159
47160 2007-12-26 Bean <bean123ch@gmail.com>
47161
47162 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
47163 (cpio_mod_SOURCES): New variable.
47164 (cpio_mod_CFLAGS): Likewise.
47165 (cpio_mod_LDFLAGS): Likewise.
47166
47167 * fs/cpio.c: New file.
47168
47169 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
47170
47171 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
47172
47173 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
47174
47175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47176
47177 2007-12-25 Robert Millan <rmh@aybabtu.com>
47178
47179 * include/grub/term.h (struct grub_term): Add `getcolor' function.
47180 (grub_getcolor): New function.
47181
47182 * kern/term.c (grub_getcolor): New function.
47183 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
47184 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
47185 (print_entry): Set normal and highlight colors to
47186 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
47187 respectively, before printing and restore them to old
47188 values afterwards.
47189 (grub_menu_init_page): Likewise. Fill an additional colored space
47190 that would otherwise be left blank.
47191
47192 * term/efi/console.c (grub_console_getcolor): New function.
47193 (struct grub_console_term.getcolor): New variable.
47194 * term/i386/pc/console.c (grub_console_getcolor): New function.
47195 (struct grub_console_term.getcolor): New variable.
47196 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
47197 (struct grub_console_term.getcolor): New variable.
47198
47199 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
47200 (struct grub_console_term.setcolor): Remove variable.
47201 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
47202 (struct grub_console_term.setcolor): Remove variable.
47203 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
47204 (struct grub_console_term.setcolor): Remove variable.
47205 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
47206 (struct grub_console_term.setcolor): Remove variable.
47207
47208 2007-12-25 Robert Millan <rmh@aybabtu.com>
47209
47210 * configure.ac: Search for possible unifont.hex locations, and
47211 define UNIFONT_HEX if found.
47212
47213 * Makefile.in (UNIFONT_HEX): Define variable.
47214 (DATA): Rename to ...
47215 (PKGLIB): ... this. Update all users.
47216 (PKGDATA): New variable.
47217 (pkgdata_IMAGES): Rename to ...
47218 (pkglib_IMAGES): ... this. Update all users.
47219 (pkgdata_MODULES): Rename to ...
47220 (pkglib_MODULES): ... this. Update all users.
47221 (pkgdata_PROGRAMS): Rename to ...
47222 (pkglib_PROGRAMS): ... this. Update all users.
47223 (pkgdata_DATA): Rename to ...
47224 (pkglib_DATA): ... this. Update all users.
47225 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
47226 (unicode.pff, ascii.pff): New rules.
47227 (all-local): Add `$(PKGDATA)' dependency.
47228 (install-local): Process `$(PKGDATA)'.
47229
47230 * util/update-grub_lib.in (font_path): Search for *.pff files in
47231 a few more locations, including `${pkgdata}'.
47232
47233 2007-12-23 Robert Millan <rmh@aybabtu.com>
47234
47235 Patch from Bean <bean123ch@gmail.com>:
47236 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
47237 `size'.
47238
47239 2007-12-21 Bean <bean123ch@gmail.com>
47240
47241 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
47242 (ntfscomp_mod_SOURCES): New variable.
47243 (ntfscomp_mod_CFLAGS): Likewise.
47244 (ntfscomp_mod_LDFLAGS): Likewise.
47245
47246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
47247 (grub_probe_SOURCES): Likewise.
47248 (grub_emu_SOURCES): Likewise.
47249
47250 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47251 (grub_emu_SOURCES): Likewise.
47252
47253 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47254 (grub_emu_SOURCES): Likewise.
47255
47256 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47257 (grub_emu_SOURCES): Likewise.
47258
47259 * fs/ntfs.c (grub_ntfscomp_func): New variable.
47260 (read_run_list): Renamed to grub_ntfs_read_run_list.
47261 (decomp_nextvcn): Moved to ntfscomp.c.
47262 (decomp_getch): Likewise.
47263 (decomp_get16): Likewise.
47264 (decomp_block): Likewise.
47265 (read_block): Likewise.
47266 (read_data): Partially moved to ntfscomp.c.
47267 (fixup): Change unsigned to grub_uint16_t.
47268 (read_mft): Change unsigned long to grub_uint32_t.
47269 (read_attr): Likewise.
47270 (read_data): Likewise.
47271 (read_run_data): Likewise.
47272 (read_run_list): Likewise.
47273 (read_mft): Likewise.
47274
47275 * fs/ntfscomp.c: New file.
47276
47277 * include/grub/ntfs.h: New file.
47278
47279 2007-12-16 Robert Millan <rmh@aybabtu.com>
47280
47281 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
47282 IDE disk check, since Linux is known to support 20 IDE disks.
47283 Reported by Colin Watson.
47284
47285 2007-12-15 Bean <bean123ch@gmail.com>
47286
47287 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
47288 (lnxboot_img_SOURCES): New variable.
47289 (lnxboot_img_ASFLAGS): Likewise.
47290 (lnxboot_img_LDFLAGS): Likewise.
47291
47292 * boot/i386/pc/lnxboot.S: New file.
47293
47294 2007-11-24 Pavel Roskin <proski@gnu.org>
47295
47296 * configure.ac: Test if '--build-id=none' is supported by the
47297 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
47298 objcopy to generate incorrect binary files (binutils
47299 2.17.50.0.18-1 as shipped by Fedora 8).
47300 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
47301 linking, so that build ID doesn't break the test.
47302
47303 2007-11-24 Pavel Roskin <proski@gnu.org>
47304
47305 * include/grub/i386/time.h: use "void" in the argument list
47306 of grub_cpu_idle().
47307 * include/grub/powerpc/time.h: Likewise.
47308 * include/grub/sparc64/time.h: Likewise.
47309
47310 2007-11-18 Christian Franke <franke@computer.org>
47311
47312 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
47313 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
47314 This fixes the problem that function keys did not work in grub-emu.
47315
47316 2007-11-18 Christian Franke <franke@computer.org>
47317
47318 * disk/host.c (grub_host_open): Remove attribute unused from
47319 name parameter. Add check for "host". This fixes the problem
47320 that grub-emu does not find partitions.
47321
47322 2007-11-18 Christian Franke <franke@computer.org>
47323
47324 * util/hostfs.c (is_dir): New function.
47325 (grub_hostfs_dir): Handle missing dirent.d_type case.
47326 (grub_hostfs_read): Add missing fseek().
47327 (grub_hostfs_label): Clear label pointer. This fixes a crash
47328 of grub-emu on "ls (host)".
47329
47330 2007-11-18 Christian Franke <franke@computer.org>
47331
47332 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
47333 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
47334 to 64 bit boundary by default.
47335
47336 2007-11-18 Bean <bean123ch@gmail.com>
47337
47338 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
47339 (hexdump_mod_SOURCES): New variable.
47340 (hexdump_mod_CFLAGS): Likewise.
47341 (hexdump_mod_LDFLAGS): Likewise.
47342
47343 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47344
47345 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47346
47347 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47348
47349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47350
47351 * include/grub/hexdump.h: New file.
47352
47353 * commands/hexdump.c: New file.
47354
47355 2007-11-10 Robert Millan <rmh@aybabtu.com>
47356
47357 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47358 in grub_outb() calls.
47359 (beep_on): Likewise.
47360
47361 2007-11-10 Christian Franke <franke@computer.org>
47362
47363 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47364 (grub_menu_run): Likewise.
47365
47366 2007-11-10 Robert Millan <rmh@aybabtu.com>
47367
47368 * include/grub/i386/efi/machine.h: New file.
47369 * include/grub/i386/linuxbios/machine.h: Likewise.
47370 * include/grub/i386/pc/machine.h: Likewise.
47371 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47372 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47373
47374 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47375 (serial_hw_io_addr): New variable.
47376 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47377 instead of `(unsigned short *) 0x400'.
47378
47379 2007-11-10 Bean <bean123ch@gmail.com>
47380
47381 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47382
47383 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47384
47385 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47386 (vga_mod_SOURCES): Added.
47387 (vga_mod_CFLAGS): Likewise.
47388 (vga_mod_LDFLAGS): Likewise.
47389
47390 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47391 grub_outb() calls.
47392 (set_map_mask): Likewise.
47393 (set_read_map): Likewise.
47394 (set_read_address): Likewise.
47395 (vga_font): Removed variable.
47396 (get_vga_glyph): Removed function.
47397 (invalidate_char): Likewise.
47398 (write_char): Changed to use grub_font_get_glyph() for font
47399 information.
47400 (grub_vga_putchar): Likewise.
47401 (grub_vga_getcharwidth): Likewise.
47402
47403 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47404
47405 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47406 flags.
47407 (pxeboot_img_LDFLAGS): Likewise.
47408 (diskboot_img_LDFLAGS): Likewise.
47409 (kernel_img_LDFLAGS): Likewise.
47410
47411 2007-11-06 Robert Millan <rmh@aybabtu.com>
47412
47413 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47414 in grub_outb() calls.
47415 (serial_hw_init): Likewise.
47416
47417 2007-11-05 Robert Millan <rmh@aybabtu.com>
47418
47419 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47420 spaces. Skip non-regular files.
47421
47422 2007-11-05 Robert Millan <rmh@aybabtu.com>
47423
47424 * kern/disk.c (grub_disk_firmware_fini)
47425 (grub_disk_firmware_is_tainted): New variables.
47426
47427 * include/grub/disk.h (grub_disk_firmware_fini)
47428 (grub_disk_firmware_is_tainted): Likewise.
47429
47430 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47431 (grub_disk_biosdisk_fini): ... to here.
47432 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47433 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47434 is set. Register grub_disk_biosdisk_fini() in
47435 `grub_disk_firmware_fini'.
47436
47437 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47438 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47439 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47440 to finish existing firmware disk interface.
47441
47442 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47443 (ata_mod_SOURCES): New variable.
47444 (ata_mod_CFLAGS): Likewise.
47445 (ata_mod_LDFLAGS): Likewise.
47446
47447 2007-11-05 Robert Millan <rmh@aybabtu.com>
47448
47449 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47450 (grub_ata_wait): Reimplement using grub_millisleep().
47451
47452 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47453 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47454
47455 2007-11-03 Marco Gerards <marco@gnu.org>
47456
47457 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47458 (CRTC_ADDR_PORT): New macro.
47459 (CRTC_DATA_PORT): Likewise.
47460 (CRTC_CURSOR): Likewise.
47461 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47462 (CRTC_CURSOR_ADDR_LOW): Likewise.
47463 (update_cursor): New function.
47464 (grub_console_real_putchar): Call `update_cursor'.
47465 (grub_console_gotoxy): Likewise.
47466 (grub_console_cls): Set the default color when clearing the
47467 screen.
47468 (grub_console_setcursor): Implemented.
47469
47470 2007-11-03 Marco Gerards <marco@gnu.org>
47471
47472 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47473 become activate.
47474 (grub_ata_pio_write): Likewise.
47475
47476 (grub_atapi_identify): Wait after issuing an ATA command.
47477 (grub_atapi_packet): Likewise.
47478 (grub_ata_identify): Likewise.
47479 (grub_ata_readwrite): Likewise.
47480
47481 2007-11-03 Marco Gerards <marco@gnu.org>
47482
47483 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47484 (grub_ata_pio_write): Likewise.
47485 (grub_ata_readwrite): Use `grub_error', instead of
47486 returning `grub_errno'.
47487
47488 2007-11-03 Marco Gerards <marco@gnu.org>
47489
47490 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47491 grub_ata_pio_write once for every single sector, instead of for
47492 multiple sectors.
47493
47494 2007-10-31 Robert Millan <rmh@aybabtu.com>
47495
47496 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47497
47498 * conf/i386-linuxbios.rmk: New file.
47499
47500 * kern/i386/pc/hardware.c: Likewise.
47501 * term/i386/pc/at_keyboard.c: Likewise.
47502 * term/i386/pc/vga_text.c: Likewise.
47503
47504 * include/grub/i386/linuxbios/boot.h: Likewise.
47505 * include/grub/i386/linuxbios/console.h: Likewise.
47506 * include/grub/i386/linuxbios/init.h: Likewise.
47507 * include/grub/i386/linuxbios/kernel.h: Likewise.
47508 * include/grub/i386/linuxbios/loader.h: Likewise.
47509 * include/grub/i386/linuxbios/memory.h: Likewise.
47510 * include/grub/i386/linuxbios/serial.h: Likewise.
47511 * include/grub/i386/linuxbios/time.h: Likewise.
47512
47513 * kern/i386/linuxbios/init.c: Likewise.
47514 * kern/i386/linuxbios/startup.S: Likewise.
47515 * kern/i386/linuxbios/table.c: Likewise.
47516
47517 2007-10-31 Marco Gerards <marco@gnu.org>
47518
47519 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47520 (ata_mod_SOURCES): New variable.
47521 (ata_mod_CFLAGS): Likewise.
47522 (ata_mod_LDFLAGS): Likewise.
47523
47524 * disk/ata.c: New file.
47525
47526 * include/grub/disk.h (grub_disk_dev_id): Add
47527 `GRUB_DISK_DEV_ATA_ID'.
47528
47529 2007-10-31 Robert Millan <rmh@aybabtu.com>
47530
47531 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47532 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47533
47534 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47535 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47536
47537 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47538 `<grub/types.h>'.
47539
47540 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47541
47542 2007-10-27 Robert Millan <rmh@aybabtu.com>
47543
47544 * include/grub/types.h (ULONG_MAX): Define macro.
47545
47546 2007-10-22 Robert Millan <rmh@aybabtu.com>
47547
47548 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47549 `"../realmode.S"'.
47550 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47551
47552 2007-10-22 Robert Millan <rmh@aybabtu.com>
47553
47554 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47555 (pkgdata_MODULES): Add `biosdisk.mod'.
47556 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47557 variables.
47558
47559 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47560 (grub_biosdisk_init): Replace with ...
47561 (GRUB_MOD_INIT(biosdisk)): ... this.
47562 (grub_biosdisk_fini): Replace with ...
47563 (GRUB_MOD_FINI(biosdisk)): ... this.
47564
47565 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47566 (grub_machine_init): Remove call to grub_biosdisk_init().
47567 (grub_machine_fini): Remove call to grub_machine_fini().
47568
47569 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47570
47571 2007-10-22 Robert Millan <rmh@aybabtu.com>
47572
47573 * include/grub/time.h: New file.
47574 * include/grub/i386/time.h: Likewise.
47575 * include/grub/powerpc/time.h: Likewise.
47576 * include/grub/sparc64/time.h: Likewise.
47577
47578 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47579 instances to ...
47580 (KERNEL_MACHINE_TIME_HEADER): ... this.
47581 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47582 instances to ...
47583 (KERNEL_MACHINE_TIME_HEADER): ... this.
47584 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47585 instances to ...
47586 (KERNEL_MACHINE_TIME_HEADER): ... this.
47587
47588 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47589 (grub_millisleep): New function.
47590 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47591 (grub_millisleep): New function.
47592 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47593 Remove `grub/machine/time.h' include.
47594 (grub_millisleep): New function.
47595 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47596 Remove `grub/machine/time.h' include.
47597 (grub_millisleep): New function.
47598
47599 * include/grub/misc.h (grub_div_roundup): New function.
47600
47601 * kern/misc.c: Include `<grub/time.h>'.
47602 (grub_millisleep_generic): New function.
47603
47604 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47605 Add `time.h'.
47606 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47607 Add `time.h'.
47608 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47609 `machine/time.h'. Add `time.h'.
47610 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47611
47612 2007-10-21 Robert Millan <rmh@aybabtu.com>
47613
47614 * include/grub/misc.h (grub_max): New function.
47615
47616 2007-10-21 Robert Millan <rmh@aybabtu.com>
47617
47618 * util/misc.c (grub_util_info): Call fflush() before returning.
47619
47620 2007-10-20 Robert Millan <rmh@aybabtu.com>
47621
47622 * genmk.rb (Image): Copy `extra_flags' from here ...
47623 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47624
47625 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47626 to `argc' and `args' arguments.
47627
47628 2007-10-17 Robert Millan <rmh@aybabtu.com>
47629
47630 * kern/i386/loader.S: New file.
47631
47632 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47633 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47634 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47635 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47636 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47637 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47638 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47639 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47640 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47641 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47642 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47643 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47644 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47645 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47646
47647 * kern/i386/realmode.S: New file.
47648
47649 * kern/i386/pc/startup.S (protstack): Moved from here ...
47650 * kern/i386/realmode.S (protstack)... to here.
47651 * kern/i386/pc/startup.S (gdt): Moved from here ...
47652 * kern/i386/realmode.S (gdt)... to here.
47653 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47654 * kern/i386/realmode.S (prot_to_real)... to here.
47655
47656 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47657 `kern/i386/realmode.S'.
47658
47659 2007-10-17 Robert Millan <rmh@aybabtu.com>
47660
47661 * include/grub/i386/loader.h: New file.
47662
47663 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47664 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47665 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47666 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47667 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47668 * include/grub/i386/loader.h (grub_linux_prot_size)
47669 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47670 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47671 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47672 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47673
47674 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47675
47676 2007-10-15 Robert Millan <rmh@aybabtu.com>
47677
47678 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47679 filesystem when dev->disk is unset.
47680 Do probe for filesystem even when dev->disk->has_partitions is set.
47681 In case a filesystem is found, always report it.
47682 In case it isn't, if dev->disk->has_partitions is set, report that
47683 a partition table was found instead of reporting that no filesystem
47684 could be identified.
47685
47686 2007-10-12 Robert Millan <rmh@aybabtu.com>
47687
47688 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47689 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47690
47691 * include/grub/types.h (grub_host_to_target16): New macro.
47692 (grub_host_to_target32): Likewise.
47693 (grub_host_to_target64): Likewise.
47694 (grub_target_to_host16): Likewise.
47695 (grub_target_to_host32): Likewise.
47696 (grub_target_to_host64): Likewise.
47697
47698 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47699 Renamed from to ...
47700 (GRUB_MOD_ALIGN): ...this. Update all users.
47701
47702 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47703 grub_host_to_target32.
47704 Replace grub_be_to_cpu32 with grub_target_to_host32.
47705 (load_modules): Likewise.
47706 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47707 Replace grub_be_to_cpu32 with grub_target_to_host32.
47708 Replace grub_cpu_to_be16 with grub_host_to_target16.
47709 Replace grub_cpu_to_be32 grub_host_to_target32.
47710
47711 2007-10-12 Robert Millan <rmh@aybabtu.com>
47712
47713 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47714 * util/elf/grub-mkimage.c: ... here.
47715
47716 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47717 `util/powerpc/ieee1275/grub-mkimage.c'.
47718
47719 2007-10-07 Robert Millan <rmh@aybabtu.com>
47720
47721 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47722 and make it easier to figure out.
47723 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47724 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47725 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47726 leave us with less than HEAP_MIN_SIZE total heap.
47727 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
47728
47729 2007-10-03 Robert Millan <rmh@aybabtu.com>
47730
47731 * include/grub/i386/io.h: New file.
47732 * commands/i386/pc/play.c (inb): Removed.
47733 (outb): Removed.
47734 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47735 with grub_outb().
47736 * term/i386/pc/serial.c (inb): Removed.
47737 (outb): Removed.
47738 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47739 with grub_outb().
47740 * term/i386/pc/vga.c (inb): Removed.
47741 (outb): Removed.
47742 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47743 with grub_outb().
47744
47745 2007-10-02 Robert Millan <rmh@aybabtu.com>
47746
47747 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47749 Reported by Marcin Kurek.
47750
47751 2007-09-07 Robert Millan <rmh@aybabtu.com>
47752
47753 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47754 SmartFirmware version updates (as released by Sven Luther), and avoid
47755 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47756 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47757 known broken.
47758
47759 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47760
47761 From Hitoshi Ozeki:
47762 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47763 when merging two regions.
47764
47765 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47766
47767 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47768 * normal/completion.c (grub_normal_do_completion): Likewise.
47769 Reported by Hitoshi Ozeki.
47770
47771 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47772
47773 Do not use devices at boot in chainloading.
47774
47775 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47776 (boot_part_addr): Likewise.
47777 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47778 with BOOT_DRIVE and BOOT_PART_ADDR.
47779 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47780 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47781
47782 2007-08-29 Robert Millan <rmh@aybabtu.com>
47783
47784 Patch from Simon Peter <dn.tlp@gmx.net>:
47785 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47786 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47787 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47788 util/i386/pc/grub-setup.c_DEPENDENCIES.
47789 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47790 util/grub-probe.c_DEPENDENCIES.
47791 * conf/powerpc-ieee1275.rmk: Likewise.
47792
47793 2007-08-28 Robert Millan <rmh@aybabtu.com>
47794
47795 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47796 to tell grub-mkdevicemap how to name devices.
47797 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47798 feature).
47799
47800 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47801 util/i386/get_disk_name.c.
47802 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47803 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47804 util/ieee1275/get_disk_name.c.
47805
47806 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47807
47808 * DISTLIST: Add util/i386/get_disk_name.c and
47809 util/ieee1275/get_disk_name.c.
47810
47811 * util/grub-mkdevicemap.c: Replace device naming logic with
47812 grub_util_get_disk_name() calls.
47813
47814 2007-08-20 Robert Millan <rmh@aybabtu.com>
47815
47816 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47817 (so that it works for both plural and singular quantities).
47818
47819 2007-08-05 Robert Millan <rmh@aybabtu.com>
47820
47821 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47822 so that [xz] isn't taken into account when determining order.
47823
47824 2007-08-02 Marco Gerards <marco@gnu.org>
47825
47826 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47827 `include/multiboot2.h', `include/grub/elfload.h',
47828 `include/multiboot.h', `include/grub/multiboot.h',
47829 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47830 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47831 `kern/elf.c', `loader/multiboot_loader.c',
47832 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47833 `loader/i386/pc/multiboot2.c',
47834 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47835 `util/i386/pc/grub-mkrescue.in'. Remove
47836 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47837 `include/grub/i386/pc/util/biosdisk.h' and
47838 `include/grub/powerpc/ieee1275/multiboot.h'.
47839
47840 2007-08-02 Bean <bean123ch@gmail.com>
47841
47842 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47843 (ntfs_mod_SOURCES): New variable.
47844 (ntfs_mod_CFLAGS): Likewise.
47845 (ntfs_mod_LDFLAGS): Likewise.
47846
47847 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47848 (grub_probe_SOURCES): Likewise.
47849 (grub_emu_SOURCES): Likewise.
47850
47851 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47852 (grub_emu_SOURCES): Likewise.
47853
47854 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47855 (grub_emu_SOURCES): Likewise.
47856
47857 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47858
47859 * fs/ntfs.c: New file.
47860
47861 2007-08-02 Bean <bean123ch@gmail.com>
47862
47863 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47864
47865 * file.h (grub_file): Likewise.
47866
47867 * fshelp.h (grub_fshelp_read_file): Likewise.
47868
47869 * util/i386/pc/grub-setup.c (setup): Likewise.
47870 (save_first_sector): Likewise.
47871 (save_blocklists): Likewise.
47872
47873 * fs/affs.c (grub_affs_read_file): Likewise.
47874
47875 * fs/ext2.c (grub_ext2_read_file): Likewise.
47876
47877 * fs/fat.c (grub_fat_read_data): Likewise.
47878
47879 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47880
47881 * fs/hfs.c (grub_hfs_read_file): Likewise.
47882
47883 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47884
47885 * fs/jfs.c (grub_jfs_read_file): Likewise.
47886
47887 * fs/minix.c (grub_minix_read_file): Likewise.
47888
47889 * fs/sfs.c (grub_sfs_read_file): Likewise.
47890
47891 * fs/ufs.c (grub_ufs_read_file): Likewise.
47892
47893 * fs/xfs.c (grub_xfs_read_file): Likewise.
47894
47895 * command/blocklist.c (read_blocklist): Likewise.
47896 (print_blocklist): Likewise.
47897
47898 2007-08-02 Marco Gerards <marco@gnu.org>
47899
47900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47901 `util/hostfs.c'.
47902
47903 * disk/host.c: New file.
47904
47905 * util/hostfs.c: Likewise.
47906
47907 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47908 return `GRUB_ERR_BAD_FS'.
47909 * fs/sfs.c (grub_sfs_mount): Likewise.
47910 * fs/xfs.c (grub_xfs_mount): Likewise.
47911
47912 * include/grub/disk.h (enum grub_disk_dev_id): Add
47913 `GRUB_DISK_DEVICE_HOST_ID'.
47914
47915 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47916
47917 2007-07-24 Jerone Young <jerone@gmail.com>
47918
47919 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
47920 modules for compilation.
47921 * conf/powerpc-ieee1275.rmk: Likewise.
47922
47923 * include/multiboot.h: Move multiboot definitions to one file. Rename
47924 many definitions to not get grub specific.
47925 * include/multiboot2.h: Create header with multiboot 2 definitions.
47926 * include/grub/multiboot.h: Header for grub specific function
47927 prototypes and definitions.
47928 * include/grub/multiboot2.h: Likewise.
47929 * include/grub/multiboot_loader.h: Likewise.
47930 * include/grub/i386/pc/multiboot.h: Removed.
47931 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47932
47933 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47934 and 2 to allow for one multiboot and module commands.
47935 * loader/multiboot2.c: Add multiboot2 functionality.
47936 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47937 and definition names.
47938 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47939 2 functions.
47940 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47941 ieee1275 specific multiboot2 code.
47942
47943 * kern/i386/pc/startup.S: Change headers and definition names for
47944 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47945
47946 2007-07-22 Robert Millan <rmh@aybabtu.com>
47947
47948 * geninitheader.sh: Process file specified in first parameter rather
47949 than hardcoding grub_modules_init.lst.
47950 * geninit.sh: Likewise. Also, construct header name dynamically rather
47951 than hardcoding grub_modules_init.h.
47952
47953 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47954 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47955 grub_probe_init.[ch] and grub_setup_init.[ch].
47956
47957 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47958 grub_modules_init.h with grub_emu_init.h.
47959 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47960 grub_probe_init.[ch] files.
47961 * conf/i386-efi.rmk: Likewise.
47962 * conf/i386-pc.rmk: Likewise.
47963 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47964 grub_setup_init.[ch] files.
47965
47966 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47967 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47968 to initialize modules rather than a list of hardcoded functions.
47969 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47970 grub_init_all() to initialize modules rather than a list of hardcoded
47971 functions.
47972
47973 2007-07-22 Robert Millan <rmh@aybabtu.com>
47974
47975 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47976 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47977
47978 2007-07-22 Robert Millan <rmh@aybabtu.com>
47979
47980 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47981 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47982 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47983 flag when running on SmartFirmware.
47984 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47985 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47986 was set.
47987
47988 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47989 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47990 rather than decreasing it.
47991
47992 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47993 there's not enough space to do it, fail in the same way as when it
47994 can't be done because there are no partitions.
47995
47996 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47997 when nvsetenv failed.
47998
47999 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
48000
48001 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
48002 because this rule is automatically generated.
48003 (grub-mkrescue): Removed for the same reason as above.
48004
48005 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
48006
48007 Migrate to GNU General Public License Version 3.
48008
48009 * COPYING: Replaced with the plain text version of GPLv3.
48010
48011 * config.guess: Updated from gnulib.
48012 * config.sub: Likewise.
48013
48014 * geninit.sh: Output a GPLv3 copyright notice.
48015 * geninitheader.sh: Likewise.
48016 * genmodsrc.sh: Likewise.
48017 * gensymlist.sh.in: Likewise.
48018
48019 * boot/i386/pc/boot.S: Upgraded to GPLv3.
48020 * boot/i386/pc/diskboot.S: Likewise.
48021 * boot/i386/pc/pxeboot.S: Likewise.
48022 * commands/blocklist.c: Likewise.
48023 * commands/boot.c: Likewise.
48024 * commands/cat.c: Likewise.
48025 * commands/cmp.c: Likewise.
48026 * commands/configfile.c: Likewise.
48027 * commands/echo.c: Likewise.
48028 * commands/help.c: Likewise.
48029 * commands/ls.c: Likewise.
48030 * commands/search.c: Likewise.
48031 * commands/terminal.c: Likewise.
48032 * commands/test.c: Likewise.
48033 * commands/videotest.c: Likewise.
48034 * commands/i386/cpuid.c: Likewise.
48035 * commands/i386/pc/halt.c: Likewise.
48036 * commands/i386/pc/play.c: Likewise.
48037 * commands/i386/pc/reboot.c: Likewise.
48038 * commands/i386/pc/vbeinfo.c: Likewise.
48039 * commands/i386/pc/vbetest.c: Likewise.
48040 * commands/ieee1275/halt.c: Likewise.
48041 * commands/ieee1275/reboot.c: Likewise.
48042 * commands/ieee1275/suspend.c: Likewise.
48043 * disk/loopback.c: Likewise.
48044 * disk/lvm.c: Likewise.
48045 * disk/raid.c: Likewise.
48046 * disk/efi/efidisk.c: Likewise.
48047 * disk/i386/pc/biosdisk.c: Likewise.
48048 * disk/ieee1275/ofdisk.c: Likewise.
48049 * font/manager.c: Likewise.
48050 * fs/affs.c: Likewise.
48051 * fs/ext2.c: Likewise.
48052 * fs/fat.c: Likewise.
48053 * fs/fshelp.c: Likewise.
48054 * fs/hfs.c: Likewise.
48055 * fs/hfsplus.c: Likewise.
48056 * fs/iso9660.c: Likewise.
48057 * fs/jfs.c: Likewise.
48058 * fs/minix.c: Likewise.
48059 * fs/sfs.c: Likewise.
48060 * fs/ufs.c: Likewise.
48061 * fs/xfs.c: Likewise.
48062 * hello/hello.c: Likewise.
48063 * include/grub/acorn_filecore.h: Likewise.
48064 * include/grub/arg.h: Likewise.
48065 * include/grub/bitmap.h: Likewise.
48066 * include/grub/boot.h: Likewise.
48067 * include/grub/cache.h: Likewise.
48068 * include/grub/device.h: Likewise.
48069 * include/grub/disk.h: Likewise.
48070 * include/grub/dl.h: Likewise.
48071 * include/grub/elfload.h: Likewise.
48072 * include/grub/env.h: Likewise.
48073 * include/grub/err.h: Likewise.
48074 * include/grub/file.h: Likewise.
48075 * include/grub/font.h: Likewise.
48076 * include/grub/fs.h: Likewise.
48077 * include/grub/fshelp.h: Likewise.
48078 * include/grub/gzio.h: Likewise.
48079 * include/grub/hfs.h: Likewise.
48080 * include/grub/kernel.h: Likewise.
48081 * include/grub/loader.h: Likewise.
48082 * include/grub/lvm.h: Likewise.
48083 * include/grub/misc.h: Likewise.
48084 * include/grub/mm.h: Likewise.
48085 * include/grub/net.h: Likewise.
48086 * include/grub/normal.h: Likewise.
48087 * include/grub/parser.h: Likewise.
48088 * include/grub/partition.h: Likewise.
48089 * include/grub/pc_partition.h: Likewise.
48090 * include/grub/raid.h: Likewise.
48091 * include/grub/rescue.h: Likewise.
48092 * include/grub/script.h: Likewise.
48093 * include/grub/setjmp.h: Likewise.
48094 * include/grub/symbol.h: Likewise.
48095 * include/grub/term.h: Likewise.
48096 * include/grub/terminfo.h: Likewise.
48097 * include/grub/tparm.h: Likewise.
48098 * include/grub/types.h: Likewise.
48099 * include/grub/video.h: Likewise.
48100 * include/grub/efi/api.h: Likewise.
48101 * include/grub/efi/chainloader.h: Likewise.
48102 * include/grub/efi/console.h: Likewise.
48103 * include/grub/efi/console_control.h: Likewise.
48104 * include/grub/efi/disk.h: Likewise.
48105 * include/grub/efi/efi.h: Likewise.
48106 * include/grub/efi/pe32.h: Likewise.
48107 * include/grub/efi/time.h: Likewise.
48108 * include/grub/i386/linux.h: Likewise.
48109 * include/grub/i386/setjmp.h: Likewise.
48110 * include/grub/i386/types.h: Likewise.
48111 * include/grub/i386/efi/kernel.h: Likewise.
48112 * include/grub/i386/efi/loader.h: Likewise.
48113 * include/grub/i386/efi/time.h: Likewise.
48114 * include/grub/i386/pc/biosdisk.h: Likewise.
48115 * include/grub/i386/pc/boot.h: Likewise.
48116 * include/grub/i386/pc/chainloader.h: Likewise.
48117 * include/grub/i386/pc/console.h: Likewise.
48118 * include/grub/i386/pc/init.h: Likewise.
48119 * include/grub/i386/pc/kernel.h: Likewise.
48120 * include/grub/i386/pc/loader.h: Likewise.
48121 * include/grub/i386/pc/memory.h: Likewise.
48122 * include/grub/i386/pc/multiboot.h: Likewise.
48123 * include/grub/i386/pc/serial.h: Likewise.
48124 * include/grub/i386/pc/time.h: Likewise.
48125 * include/grub/i386/pc/vbe.h: Likewise.
48126 * include/grub/i386/pc/vbeblit.h: Likewise.
48127 * include/grub/i386/pc/vbefill.h: Likewise.
48128 * include/grub/i386/pc/vbeutil.h: Likewise.
48129 * include/grub/i386/pc/vga.h: Likewise.
48130 * include/grub/ieee1275/ieee1275.h: Likewise.
48131 * include/grub/ieee1275/ofdisk.h: Likewise.
48132 * include/grub/powerpc/libgcc.h: Likewise.
48133 * include/grub/powerpc/setjmp.h: Likewise.
48134 * include/grub/powerpc/types.h: Likewise.
48135 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
48136 * include/grub/powerpc/ieee1275/console.h: Likewise.
48137 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
48138 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
48139 * include/grub/powerpc/ieee1275/loader.h: Likewise.
48140 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
48141 * include/grub/powerpc/ieee1275/time.h: Likewise.
48142 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
48143 * include/grub/sparc64/libgcc.h: Likewise.
48144 * include/grub/sparc64/setjmp.h: Likewise.
48145 * include/grub/sparc64/types.h: Likewise.
48146 * include/grub/sparc64/ieee1275/console.h: Likewise.
48147 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48148 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48149 * include/grub/sparc64/ieee1275/time.h: Likewise.
48150 * include/grub/util/biosdisk.h: Likewise.
48151 * include/grub/util/getroot.h: Likewise.
48152 * include/grub/util/lvm.h: Likewise.
48153 * include/grub/util/misc.h: Likewise.
48154 * include/grub/util/raid.h: Likewise.
48155 * include/grub/util/resolve.h: Likewise.
48156 * io/gzio.c: Likewise.
48157 * kern/device.c: Likewise.
48158 * kern/disk.c: Likewise.
48159 * kern/dl.c: Likewise.
48160 * kern/elf.c: Likewise.
48161 * kern/env.c: Likewise.
48162 * kern/err.c: Likewise.
48163 * kern/file.c: Likewise.
48164 * kern/fs.c: Likewise.
48165 * kern/loader.c: Likewise.
48166 * kern/main.c: Likewise.
48167 * kern/misc.c: Likewise.
48168 * kern/mm.c: Likewise.
48169 * kern/parser.c: Likewise.
48170 * kern/partition.c: Likewise.
48171 * kern/rescue.c: Likewise.
48172 * kern/term.c: Likewise.
48173 * kern/efi/efi.c: Likewise.
48174 * kern/efi/init.c: Likewise.
48175 * kern/efi/mm.c: Likewise.
48176 * kern/i386/dl.c: Likewise.
48177 * kern/i386/efi/init.c: Likewise.
48178 * kern/i386/efi/startup.S: Likewise.
48179 * kern/i386/pc/init.c: Likewise.
48180 * kern/i386/pc/lzo1x.S: Likewise.
48181 * kern/i386/pc/startup.S: Likewise.
48182 * kern/ieee1275/ieee1275.c: Likewise.
48183 * kern/powerpc/cache.S: Likewise.
48184 * kern/powerpc/dl.c: Likewise.
48185 * kern/powerpc/ieee1275/cmain.c: Likewise.
48186 * kern/powerpc/ieee1275/crt0.S: Likewise.
48187 * kern/powerpc/ieee1275/init.c: Likewise.
48188 * kern/powerpc/ieee1275/openfw.c: Likewise.
48189 * kern/sparc64/cache.S: Likewise.
48190 * kern/sparc64/dl.c: Likewise.
48191 * kern/sparc64/ieee1275/init.c: Likewise.
48192 * kern/sparc64/ieee1275/openfw.c: Likewise.
48193 * loader/efi/chainloader.c: Likewise.
48194 * loader/efi/chainloader_normal.c: Likewise.
48195 * loader/i386/efi/linux.c: Likewise.
48196 * loader/i386/efi/linux_normal.c: Likewise.
48197 * loader/i386/pc/chainloader.c: Likewise.
48198 * loader/i386/pc/chainloader_normal.c: Likewise.
48199 * loader/i386/pc/linux.c: Likewise.
48200 * loader/i386/pc/linux_normal.c: Likewise.
48201 * loader/i386/pc/multiboot.c: Likewise.
48202 * loader/i386/pc/multiboot_normal.c: Likewise.
48203 * loader/powerpc/ieee1275/linux.c: Likewise.
48204 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48205 * normal/arg.c: Likewise.
48206 * normal/cmdline.c: Likewise.
48207 * normal/command.c: Likewise.
48208 * normal/completion.c: Likewise.
48209 * normal/execute.c: Likewise.
48210 * normal/function.c: Likewise.
48211 * normal/lexer.c: Likewise.
48212 * normal/main.c: Likewise.
48213 * normal/menu.c: Likewise.
48214 * normal/menu_entry.c: Likewise.
48215 * normal/misc.c: Likewise.
48216 * normal/parser.y: Likewise.
48217 * normal/script.c: Likewise.
48218 * normal/i386/setjmp.S: Likewise.
48219 * normal/powerpc/setjmp.S: Likewise.
48220 * normal/sparc64/setjmp.S: Likewise.
48221 * partmap/acorn.c: Likewise.
48222 * partmap/amiga.c: Likewise.
48223 * partmap/apple.c: Likewise.
48224 * partmap/gpt.c: Likewise.
48225 * partmap/pc.c: Likewise.
48226 * partmap/sun.c: Likewise.
48227 * term/gfxterm.c: Likewise.
48228 * term/terminfo.c: Likewise.
48229 * term/efi/console.c: Likewise.
48230 * term/i386/pc/console.c: Likewise.
48231 * term/i386/pc/serial.c: Likewise.
48232 * term/i386/pc/vesafb.c: Likewise.
48233 * term/i386/pc/vga.c: Likewise.
48234 * term/ieee1275/ofconsole.c: Likewise.
48235 * util/biosdisk.c: Likewise.
48236 * util/console.c: Likewise.
48237 * util/genmoddep.c: Likewise.
48238 * util/getroot.c: Likewise.
48239 * util/grub-emu.c: Likewise.
48240 * util/grub-mkdevicemap.c: Likewise.
48241 * util/grub-probe.c: Likewise.
48242 * util/lvm.c: Likewise.
48243 * util/misc.c: Likewise.
48244 * util/raid.c: Likewise.
48245 * util/resolve.c: Likewise.
48246 * util/update-grub.in: Likewise.
48247 * util/update-grub_lib.in: Likewise.
48248 * util/grub.d/00_header.in: Likewise.
48249 * util/grub.d/10_hurd.in: Likewise.
48250 * util/grub.d/10_linux.in: Likewise.
48251 * util/i386/efi/grub-install.in: Likewise.
48252 * util/i386/efi/grub-mkimage.c: Likewise.
48253 * util/i386/pc/grub-install.in: Likewise.
48254 * util/i386/pc/grub-mkimage.c: Likewise.
48255 * util/i386/pc/grub-mkrescue.in: Likewise.
48256 * util/i386/pc/grub-setup.c: Likewise.
48257 * util/i386/pc/misc.c: Likewise.
48258 * util/powerpc/ieee1275/grub-install.in: Likewise.
48259 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
48260 * util/powerpc/ieee1275/misc.c: Likewise.
48261 * video/bitmap.c: Likewise.
48262 * video/video.c: Likewise.
48263 * video/i386/pc/vbe.c: Likewise.
48264 * video/i386/pc/vbeblit.c: Likewise.
48265 * video/i386/pc/vbefill.c: Likewise.
48266 * video/i386/pc/vbeutil.c: Likewise.
48267 * video/readers/tga.c: Likewise.
48268
48269 2007-07-02 Robert Millan <rmh@aybabtu.com>
48270
48271 * conf/i386-efi.rmk: Replace obsolete reference to
48272 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
48273 with util/getroot.c.
48274 * conf/powerpc-ieee1275.rmk: Likewise.
48275 * conf/sparc64-ieee1275.rmk: Likewise.
48276
48277 * util/grub-emu.c (main): Fix unchecked pointer handling.
48278
48279 2007-07-02 Robert Millan <rmh@aybabtu.com>
48280
48281 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
48282 invocation to fail, in order to support partition-less media.
48283
48284 * util/i386/pc/grub-install.in: Likewise.
48285
48286 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
48287 which fs or partmap modules are needed (akin to its sister scripts).
48288
48289 Also use grub-probe to get rid of unportable /proc/mounts check.
48290
48291 Print the same informational message that the other scripts do, before
48292 exiting.
48293
48294 2007-06-23 Robert Millan <rmh@aybabtu.com>
48295
48296 * util/update-grub_lib.in (font_path): New function. Determine whether
48297 a font file can be found and, if so, echo the GRUB path to it.
48298
48299 * util/update-grub.in: Handle multiple terminals depending on user
48300 input, platform availability and font file presence. Propagate
48301 variables of our findings to /etc/grub.d/ children.
48302
48303 * util/grub.d/00_header.in: Handle multiple terminals, based on
48304 environment setup by update-grub.
48305
48306 2007-06-23 Robert Millan <rmh@aybabtu.com>
48307
48308 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
48309
48310 2007-06-21 Robert Millan <rmh@aybabtu.com>
48311
48312 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
48313 indicate end of data section in kernel image.
48314 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
48315 GRUB_KERNEL_MACHINE_DATA_END.
48316
48317 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
48318 space for it.
48319 * kern/i386/efi/startup.S: Likewise.
48320
48321 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
48322 during image generation. Implement --prefix option to override this
48323 patch.
48324 * util/i386/efi/grub-mkimage.c: Likewise.
48325
48326 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
48327 code to make path relative to its root into a separate function.
48328
48329 * util/i386/pc/grub-install.in: Use newly provided
48330 make_system_path_relative_to_its_root() to convert ${grubdir}, then
48331 pass the result to grub-install --prefix.
48332
48333 2007-06-13 Robert Millan <rmh@aybabtu.com>
48334
48335 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
48336 DEFAULT_DEVICE_MAP.
48337 * util/grub-emu.c: Use above definitions from misc.h instead of
48338 defining them.
48339 * util/grub-mkdevicemap.c: Likewise.
48340 * util/i386/pc/grub-setup.c: Likewise.
48341 * util/grub-probe.c: Likewise.
48342 (probe): Abort with grub_util_error() when either
48343 grub_guess_root_device or grub_util_get_grub_dev fails.
48344
48345 2007-06-12 Robert Millan <rmh@aybabtu.com>
48346
48347 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
48348 "pager" assignment.
48349 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
48350 "pcdata".
48351 * util/grub-probe.c (probe): Likewise for "drive_name".
48352
48353 2007-06-11 Robert Millan <rmh@aybabtu.com>
48354
48355 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
48356 not just the cdrom one.
48357
48358 2007-06-11 Robert Millan <rmh@aybabtu.com>
48359
48360 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48361 Add --pkglibdir=DIR option to override pkglibdir.
48362 Mention --image-type=TYPE in help output.
48363 Fix --grub-mkimage (it was a no-op).
48364 Abort gracefully when no parameter is given.
48365
48366 2007-06-11 Robert Millan <rmh@aybabtu.com>
48367
48368 * util/i386/pc/grub-mkrescue.in: New file.
48369 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48370 * Makefile.in: Handle bin_SCRIPTS.
48371
48372 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48373
48374 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48375 list of video modes.
48376
48377 2007-06-06 Robert Millan <rmh@aybabtu.com>
48378
48379 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48380 file doesn't exist, or if it is in a filesystem grub can't read.
48381
48382 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48383 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48384 header comment to fit in 80 columns when the variables are resolved.
48385
48386 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48387 could be identified by update-grub. Remove redundant check for
48388 unifont.pff existence (since convert_system_path_to_grub_path now
48389 handles that).
48390
48391 2007-06-04 Robert Millan <rmh@aybabtu.com>
48392
48393 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48394
48395 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48396
48397 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48398
48399 2007-06-04 Robert Millan <rmh@aybabtu.com>
48400
48401 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48402
48403 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48404 grub_apple_partition_map_fini.
48405
48406 * util/biosdisk.c
48407 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48408 to access >2 TiB disks).
48409
48410 Print disk->total_sectors with %llu instead of %lu, since this
48411 variable is always 64-bit (prevents wrong disk size from being displayed
48412 on either >2 TiB disk or big-endian CPU).
48413
48414 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48415 into a generic case that supports all (sane) partition maps.
48416
48417 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48418 breaks big-endian.
48419
48420 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48421 and grub_apple_partition_map_fini() after that.
48422
48423 2007-06-01 Robert Millan <rmh@aybabtu.com>
48424
48425 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48426
48427 * util/grub.d/00_header.in: Only enable gfxterm when
48428 convert_system_path_to_grub_path() succeeds.
48429
48430 2007-05-20 Robert Millan <rmh@aybabtu.com>
48431
48432 * util/update-grub_lib.in: New file.
48433 * DISTLIST: Add update-grub_lib.in.
48434 * conf/common.rmk: Generate update-grub_lib and install it in
48435 $(lib_DATA).
48436 * Makefile.in: Add install routine for $(lib_DATA).
48437
48438 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48439 function provided by update-grub_lib to support arbitrary paths of
48440 unifont.pff.
48441 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48442 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48443
48444 2007-05-19 Robert Millan <rmh@aybabtu.com>
48445
48446 * commands/i386/cpuid.c: New module.
48447 * DISTLIST: Add it.
48448 * conf/i386-efi.rmk: Enable cpuid.mod.
48449 * conf/i386-pc.rmk: Likewise.
48450
48451 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48452
48453 * kern/disk.c (grub_disk_read): Check return value of
48454 grub_realloc().
48455
48456 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48457
48458 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48459 arrays.
48460 * disk/raid.c (grub_raid_open): Likewise.
48461
48462 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48463
48464 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48465 stack instead of on the heap.
48466
48467 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48468 before doing a read on it.
48469
48470 * configure.ac: Only use -fno-stack-protector for the target
48471 environment.
48472
48473 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48474
48475 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48476 __attribute_ ((unused)) to mode_type argument.
48477
48478 * util/getroot.c (grub_guess_root_device): Fix #endif.
48479
48480 * kern/misc.c (memcmp): Fix prototype.
48481
48482 * include/grub/partition.h [GRUB_UTIL]
48483 (grub_gpt_partition_map_init): Add prototype.
48484 (grub_gpt_partition_map_fini): Likewise.
48485
48486 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48487 at the right place.
48488
48489 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48490 (grub_fat_read_data): Likewise.
48491 (grub_fat_find_dir): Likewise.
48492
48493 * font/manager.c (find_glyph): Make table a const.
48494 (grub_font_get_glyph): Remove bitmap from if statement.
48495
48496 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48497
48498 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48499 code, first search for device in /dev/mapper, then in /dev.
48500 (grub_util_get_grub_dev): New function.
48501 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48502 prototype.
48503 * util/grub-probe.c (probe): Remove check for RAID, call
48504 grub_util_get_grub_dev() instead of
48505 grub_util_biosdisk_get_grub_dev().
48506 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48507 grub_util_biosdisk_get_grub_dev().
48508 * util/i386/pc/grub-setup.c (main): Likewise.
48509
48510 2007-05-16 Robert Millan <rmh@aybabtu.com>
48511
48512 * DISTLIST: Update for the latest changes.
48513 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48514 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48515 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48516 grub/util/biosdisk.h.
48517 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48518 grub/util/biosdisk.h.
48519
48520 2007-05-16 Robert Millan <rmh@aybabtu.com>
48521
48522 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48523
48524 2007-05-16 Robert Millan <rmh@aybabtu.com>
48525
48526 * util/i386/efi/grub-install.in: New.
48527 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48528 newly added grub-install.
48529 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48530 include.
48531 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48532 grub/util/biosdisk.h.
48533 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48534 grub/util/biosdisk.h.
48535
48536 2007-05-16 Robert Millan <rmh@aybabtu.com>
48537
48538 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48539 * include/grub/util/biosdisk.h: ... here.
48540 * util/i386/pc/biosdisk.c: Moved to ...
48541 * util/biosdisk.c: ... here.
48542 * util/i386/pc/getroot.c: Moved to ...
48543 * util/getroot.c: ... here.
48544 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48545 * util/grub-mkdevicemap.c: ... here.
48546 * util/i386/pc/grub-probe.c: Moved to ...
48547 * util/grub-probe.c: ... here.
48548
48549 2007-05-15 Robert Millan <rmh@aybabtu.com>
48550
48551 * util/update-grub.in: Remove duplicated line in grub.cfg header
48552 message.
48553
48554 2007-05-13 Robert Millan <rmh@aybabtu.com>
48555
48556 * util/update-grub.in: Fix a few assumptions about the devices holding
48557 /, /boot and /boot/grub being the same.
48558 * util/grub.d/00_header.in: Likewise.
48559 * util/grub.d/10_hurd.in: Likewise.
48560 * util/grub.d/10_linux.in: Likewise.
48561
48562 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48563 patterns. Use that to define the `.old' suffix as older than `'.
48564
48565 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48566
48567 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48568 the grub.cfg header message.
48569
48570 2007-05-11 Robert Millan <rmh@aybabtu.com>
48571
48572 * util/update-grub.in: Create device.map if it doesn't already exist,
48573 before attempting to run grub-probe.
48574 Check for grub-probe and grub-mkdevicemap with the same code
48575 grub-install is using.
48576 Remove test mode.
48577
48578 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48579
48580 * Makefile.in: Add the datarootdir autoconf variable.
48581
48582 2007-05-09 Robert Millan <rmh@aybabtu.com>
48583
48584 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
48585 fail gracefully if dev->disk->partition == NULL.
48586
48587 2007-05-07 Robert Millan <rmh@aybabtu.com>
48588
48589 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48590 determine partition map module.
48591 * util/i386/pc/grub-install.in: Use this feature to decide which
48592 partition module to load, instead of hardcoding pc and gpt.
48593
48594 2007-05-07 Robert Millan <rmh@aybabtu.com>
48595
48596 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48597 source directory differs from build directory.
48598
48599 2007-05-05 Robert Millan <rmh@aybabtu.com>
48600
48601 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48602 initialisation.
48603
48604 2007-05-05 Robert Millan <rmh@aybabtu.com>
48605
48606 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48607
48608 2007-05-05 Robert Millan <rmh@aybabtu.com>
48609
48610 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48611 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48612
48613 2007-05-05 Robert Millan <rmh@aybabtu.com>
48614
48615 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48616 (grub_probe_SOURCES): Likewise.
48617 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48618 GPT and initialize dos_part and bsd_part accordingly.
48619 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48620 install_bsd_part.
48621 (main): Activate gpt module for use during partition identification,
48622 and deactivate it afterwards.
48623 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48624 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48625 partition identification, and deactivate it afterwards.
48626
48627 2007-05-05 Robert Millan <rmh@aybabtu.com>
48628
48629 * term/i386/pc/console.c (grub_console_fini): Call
48630 grub_term_set_current() before grub_term_unregister().
48631
48632 2007-05-04 Robert Millan <rmh@aybabtu.com>
48633
48634 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48635 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48636 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48637 and update-grub_DATA.
48638 * conf/common.rmk: Build and install update-grub components.
48639 * conf/common.mk: Regenerate.
48640 * util/update-grub.in: New. Core of update-grub.
48641 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48642 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48643 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48644 * util/grub.d/README: New. Document grub.d directory layout.
48645
48646 2007-05-01 Robert Millan <rmh@aybabtu.com>
48647
48648 * util/grub-emu.c: Move initialization functions
48649 grub_util_biosdisk_init() and grub_init_all() before
48650 grub_util_biosdisk_get_grub_dev(), which relies on them.
48651
48652 2007-04-19 Robert Millan <rmh@aybabtu.com>
48653
48654 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48655 it is used later.
48656
48657 2007-04-18 Jerone Young <jerone@gmail.com>
48658
48659 * kernel/elf.c: Add missing parenthesis for conditional statement
48660 stanza.
48661
48662 2007-04-10 Jerone Young <jerone@gmail.com>
48663
48664 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48665 continue on and look for device node with real device name.
48666
48667 2007-04-10 Jerone Young <jerone@gmail.com>
48668
48669 * configure.ac: Add argument for autoconf to use transformation
48670 ability.
48671 * Makefile.in: Add autoconf package transformation code.
48672 * util/i386/pc/grub-install.in: Likewise.
48673 * util/powerpc/ieee1275/grub-install.in: Likewise.
48674
48675 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48676
48677 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48678 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48679 (EXT2_REVISION): Likewise.
48680 (EXT2_INODE_SIZE): Likewise.
48681 (struct grub_ext2_block_group): Added a missing member
48682 "used_dirs".
48683 (grub_ext2_read_inode): Divide by the inode size in a superblock
48684 instead of 128 to obtain INODES_PER_BLOCK.
48685 Use the macro EXT2_INODE_SIZE instead of directly using
48686 SBLOCK->INODE_SIZE.
48687
48688 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48689
48690 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48691 superblock instead of the structure size to compute an
48692 offset. This fixes the problem that GRUB could not read a
48693 filesystem when inode size is different from 128-byte.
48694
48695 2007-03-05 Marco Gerards <marco@gnu.org>
48696
48697 * normal/main.c (read_config_file): When "menu" is not set, create
48698 an initial context.
48699
48700 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48701
48702 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48703 (HEAP_LIMIT): New macro.
48704 (grub_claim_heap): Claim memory up to `heaplimit'.
48705
48706 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48707
48708 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48709 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48710 (_start): Likewise.
48711 (grub_arch_modules_addr): Return address after `_end'.
48712 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48713 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48714 (add_segments): Calculate `_end' from phdr size and location.
48715 (ALIGN_UP): Moved to ...
48716 * include/grub/misc.h: here.
48717 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48718 New macro.
48719 (GRUB_IEEE1275_MODULE_BASE): Removed.
48720
48721 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48722
48723 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48724 loop boundary.
48725
48726 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48727
48728 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48729 All users updated.
48730 (grub_elf64_load_hook_t): Likewise.
48731 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48732 debug output.
48733
48734 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48735
48736 * kern/mm.c: Update copyright.
48737 (grub_mm_debug): Correct syntax error.
48738 (grub_mm_dump_free): New function.
48739 (grub_debug_free): Call `grub_free'.
48740 * include/grub/mm.h: Update copyright.
48741 (grub_mm_dump_free): Add declaration.
48742
48743 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48744
48745 * include/grub/ieee1275/ieee1275.h: Update copyright.
48746 * kern/powerpc/ieee1275/init.c: Likewise.
48747 * kern/powerpc/ieee1275/openfw.c: Likewise.
48748
48749 * loader/powerpc/ieee1275/linux.c: Likewise.
48750 * include/grub/elfload.h: Likewise.
48751 * kern/elf.c: Likewise.
48752 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48753 callers.
48754 (grub_elf64_load): Likewise.
48755 (grub_elf32_load_segment): Move to a nested function.
48756 (grub_elf64_load_segment): Likewise.
48757
48758 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48759
48760 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48761 prototype.
48762 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48763 (grub_heap_len): Likewise.
48764 (HEAP_SIZE): New macro.
48765 (grub_claim_heap): New function.
48766 (grub_machine_init): Don't claim heap directly. Call
48767 `grub_claim_heap'.
48768 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48769 (grub_available_iterate): New function.
48770
48771 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48772
48773 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48774 * configure.ac: Use it for testing the HOST and TARGET compilers.
48775
48776 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48777
48778 * Makefile.in (enable_grub_emu): New variable.
48779 * configure.ac (--enable-grub-emu): New option.
48780 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48781 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48782 * conf/i386-pc.rmk: Likewise.
48783 * conf/powerpc-ieee1275.rmk: Likewise.
48784 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48785
48786 2006-12-12 Marco Gerards <marco@gnu.org>
48787
48788 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48789
48790 * kern/env.c (grub_env_unset): Don't free the member `value' when
48791 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48792 pointer.
48793
48794 * normal/main.c (current_menu): Removed.
48795 (free_menu): Unset the `menu' environment variable.
48796 (grub_normal_menu_addentry): Make use of the environment variable
48797 `menu', instead of using the global `current_menu'. Allocate
48798 memory for the sourcecode of this entry.
48799 (read_config_file): New argument `nested', changed all callers.
48800 Only in the case of a new context, initialize a new menu. Set the
48801 `menu' environment variable.
48802 (grub_normal_execute): Don't set and unset the environment
48803 variable `menu' here anymore. Only free the menu when leaving the
48804 context.
48805
48806 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48807 leak.
48808
48809 2006-12-11 Marco Gerards <marco@gnu.org>
48810
48811 * normal/menu_entry.c (run): Fix off by one bug so the last line
48812 is executed. Move the loader check to outside the loop.
48813
48814 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48815
48816 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48817
48818 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48819
48820 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48821 the number of sectors. Reported by Andrey Shuvikov
48822 <mr_hyro@yahoo.com>.
48823
48824 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48825
48826 * kern/disk.c (grub_disk_read): When there is a read error, always
48827 try to read only the necessary data.
48828
48829 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48830 disk/raid.c.
48831 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48832 prototype.
48833 [GRUB_UTIL] (grub_raid_fini): Likewise.
48834 [GRUB_UTIL] (grub_lvm_init): Likewise.
48835 [GRUB_UTIL] (grub_lvm_fini): Likewise.
48836 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48837 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48838 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48839 and grub_raid_fini().
48840
48841 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48842
48843 * include/grub/types.h (__unused): Rename to UNUSED.
48844 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48845 (grub_elf64_size): Likewise.
48846
48847 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48848
48849 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48850 grub_error_push and grub_error_pop in the error-handling path.
48851 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48852 length.
48853
48854 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48855
48856 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48857 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48859 (kernel_elf_SOURCES): Likewise.
48860 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48861 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48862 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48863 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48864 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48865 (elf_mod_SOURCES): New variable.
48866 (elf_mod_CFLAGS): Likewise.
48867 (elf_mod_LDFLAGS): Likewise.
48868 * include/grub/types.h (__unused): New macro.
48869 * include/grub/elfload.h: New file.
48870 * kern/elf.c: Likewise.
48871 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48872 (ELF32_LOADMASK): New macro.
48873 (ELF64_LOADMASK): Likewise.
48874 (vmlinux): Removed.
48875 (grub_linux_load32): New function.
48876 (grub_linux_load64): Likewise.
48877 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48878 Use grub_elf_t instead of grub_file_t.
48879
48880 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48881
48882 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48883 `catch_result' to struct set_color_args.
48884
48885 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48886
48887 * normal/menu.c: Include grub/script.h.
48888 * normal/menu_entry.c: Likewise.
48889 * include/grub/normal.h: Do not include grub/script.h.
48890
48891 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48892
48893 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48894
48895 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48896
48897 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48898 disk.
48899 (grub_disk_close): Print debug messages when closing a disk.
48900 (grub_disk_read): Print debug messages when disk read fails.
48901 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48902 filesystem type.
48903 * kern/partition.c: Include misc.h.
48904 (grub_partition_iterate): Print debug messages when detecting
48905 partition type.
48906
48907 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48908
48909 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48910 is negative.
48911 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48912
48913 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48914
48915 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48916 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48917
48918 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48919
48920 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48921 instead of sizeof(lv). Patch by Michael Guntsche.
48922
48923 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48924
48925 * disk/lvm.c: Rename VGS to VG_LIST.
48926 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48927 (grub_lvm_open): Likewise.
48928 Thanks to Michael Guntsche for finding this bug.
48929
48930 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48931
48932 * configure.ac (AC_INIT): Bumped to 1.95.
48933
48934 2006-10-14 Robert Millan <rmh@aybabtu.com>
48935
48936 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48937 with "/dev/.static/dev/md".
48938
48939 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48940
48941 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48942 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48943 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48944 DRIVE_NAME are always freed.
48945
48946 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48947 DOS_PART, as a DOS partition is counted from one instead of zero
48948 now. Reported by Robert Millan.
48949
48950 2006-10-14 Robert Millan <rmh@aybabtu.com>
48951
48952 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48953 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48954 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48955 string returned by grub_guess_root_device.
48956 * util/i386/pc/grub-setup.c: Likewise.
48957 * util/i386/pc/grub-probefs.c: Likewise.
48958
48959 * util/i386/pc/grub-probefs.c: Rename to ...
48960 * util/i386/pc/grub-probe.c: ... this.
48961 * DISTLIST: Remove grub-probefs, add grub-probe.
48962 * conf/i386-efi.rmk: Likewise.
48963 * conf/i386-pc.rmk: Likewise.
48964 * util/i386/pc/grub-install.in: Likewise.
48965
48966 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48967 choose which information we want to print.
48968
48969 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48970
48971 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48972 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48973 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48974 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48975 video/readers/tga.c and video/i386/pc/vbeutil.c.
48976
48977 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48978
48979 Added support for RAID and LVM.
48980
48981 * disk/lvm.c: New file.
48982 * disk/raid.c: Likewise.
48983 * include/grub/lvm.h: Likewise.
48984 * include/grub/raid.h: Likewise.
48985 * include/grub/util/lvm.h: Likewise.
48986 * include/grub/util/raid.h: Likewise.
48987 * util/lvm.c: Likewise.
48988 * util/raid.c: Likewise.
48989
48990 * include/grub/disk.h (grub_disk_dev_id): Add
48991 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48992 (grub_disk_get_size): New prototype.
48993 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48994 returns a partition.
48995 (grub_disk_get_size): New function.
48996
48997 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48998 verbatim if grub_install_dos_part is -2.
48999
49000 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
49001 and LVM devices.
49002
49003 * util/i386/pc/grub-setup.c (setup): New argument
49004 MUST_EMBED. Force embedding of GRUB when the argument is
49005 true. Close FILE before returning.
49006 (main): Add support for RAID and LVM.
49007
49008 * conf/common.rmk: Add RAID and LVM modules.
49009 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
49010 util/lvm.c.
49011 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
49012
49013 * kern/misc.c (grub_strstr): New function.
49014 * include/grub/misc.h (grub_strstr): New prototype.
49015
49016 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
49017
49018 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
49019
49020 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
49021
49022 * kern/misc.c (grub_strtoull): Guess the base only if not
49023 specified.
49024
49025 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
49026
49027 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
49028 PowerMac support.
49029
49030 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
49031
49032 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
49033
49034 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
49035 Remove `flags' argument. All callers changed.
49036 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
49037 (IEEE1275_IHANDLE_INVALID): New variable.
49038 (IEEE1275_CELL_INVALID): New variable.
49039 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
49040 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
49041 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
49042 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
49043 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
49044 codes from Open Firmware. All callers updated.
49045 (grub_ieee1275_next_property): Directly return Open Firmware return
49046 code.
49047 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
49048 Standardize error checking from `grub_ieee1275_get_property'.
49049 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
49050 `devalias' to `aliases'. Correct comments. Consolidate error paths.
49051
49052 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
49053
49054 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
49055 `instance_to_package_args' to `instance_to_path_args'.
49056
49057 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
49058 `grub_ieee1275_chosen'.
49059
49060 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
49061 `grub_ieee1275_interpret'.
49062
49063 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
49064
49065 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
49066
49067 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
49068
49069 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
49070 (__cmpdi): Likewise.
49071
49072 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
49073 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
49074 `grub_ssize_t'.
49075
49076 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
49077
49078 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
49079 to type `grub_ssize_t'.
49080 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
49081
49082 2006-09-22 Marco Gerards <marco@gnu.org>
49083
49084 * normal/script.c (grub_script_create_cmdmenu): Skip leading
49085 newlines.
49086
49087 2006-09-22 Marco Gerards <marco@gnu.org>
49088
49089 * commands/echo.c: New file.
49090
49091 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
49092
49093 * conf/common.rmk (echo_mod_SOURCES): New variable.
49094 (echo_mod_CFLAGS): Likewise.
49095 (echo_mod_LDFLAGS): Likewise.
49096
49097 2006-09-22 Marco Gerards <marco@gnu.org>
49098
49099 * normal/main.c (get_line): Malloc memory instead of using
49100 preallocated memory. Removed the arguments `cmdline' and
49101 `max_len'. Updated all callers.
49102
49103 2006-09-22 Marco Gerards <marco@gnu.org>
49104
49105 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
49106 (normal_mod_DEPENDENCIES): Likewise.
49107
49108 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
49109 (normal_mod_DEPENDENCIES): Likewise.
49110
49111 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
49112
49113 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
49114
49115 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
49116 programs.
49117 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
49118 (normal_mod_DEPENDENCIES): Likewise.
49119 * conf/i386-pc.mk: Regenerate.
49120 * conf/i386-efi.mk: Likewise
49121 * conf/common.mk: Likewise.
49122 * conf/powerpc-ieee1275.mk: Likewise.
49123 * conf/sparc64-ieee1275.mk: Likewise.
49124
49125 2006-09-22 Robert Millan <rmh@aybabtu.com>
49126
49127 Sync with i386 version.
49128 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
49129 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
49130
49131 2006-09-21 Robert Millan <rmh@aybabtu.com>
49132
49133 Import from GRUB Legacy (lib/device.c):
49134 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
49135 (init_device_map) [__linux__]: Add support for I2O devices.
49136
49137 2006-09-14 Marco Gerards <marco@gnu.org>
49138
49139 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
49140 `-melf_i386'.
49141
49142 2006-09-14 Robert Millan <rmh@aybabtu.com>
49143
49144 * util/i386/pc/grub-install.in: Skip menu.lst when removing
49145 /boot/grub/*.lst.
49146
49147 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
49148
49149 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
49150 before adding it to device.map.
49151
49152 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
49153
49154 * genmk.rb: Let GCC generate dependencies the first time it
49155 compiles a file; using the -MD option.
49156 * conf/common.mk: Regenerate.
49157 * conf/i386-pc.mk: Likewise.
49158 * conf/i386-efi.mk: Likewise.
49159 * conf/powerpc-ieee1275.mk: Likewise.
49160 * conf/sparc64-ieee1275.mk: Likewise.
49161
49162 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
49163
49164 Move the prototypes of grub_setjmp and grub_longjmp to
49165 cpu/setjmp.h, so that each architecture may specify different
49166 attributes.
49167
49168 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
49169 (grub_longjmp): Likewise.
49170 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
49171 (grub_longjmp): Likewise.
49172 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
49173 (grub_longjmp): Likewise.
49174
49175 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
49176 [!GRUB_UTIL] (grub_longjmp): Removed.
49177
49178 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
49179
49180 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
49181 "color!" method does not return any value.
49182
49183 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49184
49185 * include/grub/bitmap.h: New file.
49186
49187 * include/grub/i386/pc/vbeutil.h: Likewise.
49188
49189 * video/bitmap.c: Likewise.
49190
49191 * video/readers/tga.c: Likewise.
49192
49193 * video/i386/pc/vbeutil.c: Likewise.
49194
49195 * commands/videotest.c: Code cleanup and updated to reflect to new
49196 video API.
49197
49198 * term/gfxterm.c: Likewise.
49199
49200 * video/video.c: Likewise.
49201
49202 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
49203 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
49204 (bitmap_mod_SOURCES): New entry.
49205 (bitmap_mod_CFLAGS): Likewise.
49206 (bitmap_mod_LDFLAGS): Likewise.
49207 (tga_mod_SOURCES): Likewise.
49208 (tga_mod_CFLAGS): Likewise.
49209 (tga_mod_LDFLAGS): Likewise.
49210
49211 * include/grub/video.h (grub_video_blit_operators): New enum type.
49212 (grub_video_render_target): Changed as forward declaration and moved
49213 actual definition to be video driver specific.
49214 (grub_video_adapter.blit_bitmap): Added blitting operator.
49215 (grub_video_adapter.blit_render_target): Likewise.
49216 (grub_video_blit_bitmap): Likewise.
49217 (grub_video_blit_render_target): Likewise.
49218
49219 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
49220 driver specific render target definition.
49221 (grub_video_vbe_map_rgba): Added driver internal helper.
49222 (grub_video_vbe_unmap_color): Updated to use
49223 grub_video_i386_vbeblit_info.
49224 (grub_video_vbe_get_video_ptr): Likewise.
49225
49226 * include/grub/i386/pc/vbeblit.h
49227 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
49228 grub_video_i386_vbeblit_info.
49229 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
49230 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
49231 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
49232 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
49233 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
49234 (grub_video_i386_vbeblit_index_index): Likewise.
49235 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
49236 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
49237 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
49238 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
49239 operator.
49240 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
49241 operator.
49242
49243 * video/i386/pc/vbeblit.c: Updated to reflect changes on
49244 include/grub/i386/pc/vbeblit.h.
49245
49246 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
49247 Updated to use grub_video_i386_vbeblit_info.
49248 (grub_video_i386_vbefill_R8G8B8): Likewise.
49249 (grub_video_i386_vbefill_index): Likewise.
49250 (grub_video_i386_vbefill): Added generic filler.
49251
49252 * video/i386/pc/vbefill.c: Updated to reflect changes on
49253 include/grub/i386/pc/vbefill.h.
49254
49255 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
49256 grub_video_i386_vbeblit_info.
49257 (grub_video_vbe_unmap_color): Likewise.
49258 (grub_video_vbe_blit_glyph): Likewise.
49259 (grub_video_vbe_scroll): Likewise.
49260 (grub_video_vbe_draw_pixel): Removed function.
49261 (grub_video_vbe_get_pixel): Likewise.
49262 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
49263 updated code to use it.
49264 (common_blitter): Added common blitter for render target and bitmap.
49265 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
49266 (grub_video_vbe_blit_render_target): Likewise.
49267
49268 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
49269
49270 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
49271 is in text mode if there is no console control protocol instance
49272 available.
49273
49274 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49275
49276 * include/grub/video.h: Code cleanup.
49277
49278 * include/grub/i386/pc/vbe.h: Likewise.
49279
49280 * video/i386/pc/vbe.c: Likewise.
49281
49282 * video/i386/pc/vbeblit.c: Likewise.
49283
49284 * video/i386/pc/vbefill.c: Likewise.
49285
49286 * video/video.c: Likewise. Also added more comments.
49287
49288 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49289
49290 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
49291 (struct grub_biosdisk_dap): Likewise.
49292
49293 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
49294 linkage settings for all functions.
49295
49296 2006-07-12 Marco Gerards <marco@gnu.org>
49297
49298 * configure.ac (--enable-mm-debug): Fix typo.
49299
49300 * genkernsyms.sh.in: Use proper quoting for `CC'.
49301
49302 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
49303
49304 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
49305 (normal_mod_ASFLAGS): Remove "-m32".
49306
49307 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
49308
49309 * util/misc.c: Include config.h.
49310 [!HAVE_MEMALIGN]: Do not include malloc.h.
49311 (grub_memalign): Use posix_memalign, if present. Then, use
49312 memalign, if present. Otherwise, emit an error.
49313
49314 * util/grub-emu.c: Do not include malloc.h.
49315
49316 * include/grub/util/misc.h: Include unistd.h. This is required for
49317 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
49318 D. Eades III <hde@foobar-qux.org>.
49319
49320 * configure.ac (AC_GNU_SOURCE): Added.
49321 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
49322 type.
49323
49324 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
49325
49326 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
49327 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
49328
49329 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
49330
49331 * include/grub/types.h (grub_host_addr_t): Rename to
49332 grub_target_addr_t.
49333 (grub_host_off_t): Rename to grub_target_off_t.
49334 (grub_host_size_t): Rename to grub_target_size_t.
49335 (grub_host_ssize_t): Rename to grub_target_ssize_t.
49336 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
49337
49338 * include/grub/kernel.h (struct grub_module_header): Change type
49339 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
49340 (grub_module_info): Likewise.
49341
49342 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49343
49344 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
49345 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
49346 Velazquez <jesus.velazquez@gmail.com>.
49347
49348 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49349
49350 Count partitions from 1 instead of 0 in the string representation
49351 of partitions. Still use 0-based internally.
49352
49353 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
49354 (sun_partition_map_iterate): Use grub_partition_t instead of
49355 struct grub_partition *. Cast DESC->START_CYLINDER to
49356 grub_uint64_t after converting the endian.
49357 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49358 (sun_partition_map_get_name): Add 1 to P->INDEX.
49359
49360 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49361 PCDATA->DOS_PART.
49362 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49363
49364 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49365 zero instead of one.
49366 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49367 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49368
49369 * partmap/apple.c (apple_partition_map_iterate): Change the type
49370 of POS to unsigned.
49371 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49372 (apple_partition_map_get_name): Add 1 into P->INDEX.
49373
49374 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49375 of POS to unsigned.
49376 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49377 calculate the offset of a partition.
49378 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49379 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49380
49381 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49382 SECTOR to grub_disk_addr_t.
49383 (acorn_partition_map_iterate): Likewise.
49384 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49385 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49386 top.
49387 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49388
49389 * kern/i386/pc/init.c (make_install_device): Add 1 into
49390 GRUB_INSTALL_DOS_PART.
49391
49392 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49393 conditional.
49394
49395 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49396
49397 Clean up the code to support 64-bit addressing in disks and
49398 files. This change is not enough for filesystems yet.
49399
49400 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49401 type of "start" to grub_uint64_t.
49402 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49403 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49404 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49405 convert addresses.
49406
49407 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49408 to grub_disk_addr_t.
49409
49410 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49411 string.
49412
49413 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49414
49415 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49416 to char *.
49417
49418 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49419
49420 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49421
49422 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49423
49424 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49425 to grub_off_t, to detect an error from grub_file_seek.
49426 (grub_multiboot_load_elf32): Likewise.
49427
49428 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49429 maximum unsigned long value when an overflow is detected.
49430 (grub_strtoull): New function.
49431 (grub_divmod64): Likewise.
49432 (grub_lltoa): use grub_divmod64.
49433
49434 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49435 grub_disk_addr_t.
49436 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49437 the pointer to next character. Use grub_strtoull instead of
49438 grub_strtoul.
49439 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49440 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49441 respectively.
49442
49443 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
49444 return value is signed.
49445 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49446 test if OFFSET is less than zero, as OFFSET is unsigned now.
49447
49448 * kern/disk.c (struct grub_disk_cache): Change the type of
49449 "sector" to grub_disk_addr_t.
49450 (grub_disk_cache_get_index): Change the type of SECTOR to
49451 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49452 unsigned after shifting.
49453 (grub_disk_cache_invalidate): Change the type of SECTOR to
49454 grub_disk_addr_t.
49455 (grub_disk_cache_unlock): Likewise.
49456 (grub_disk_cache_store): Likewise.
49457 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49458 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49459 grub_disk_addr_t and grub_uint64_t, respectively.
49460 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49461 body, as the value of OFFSET is tweaked by
49462 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49463 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49464 respectively.
49465 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49466 body, as the value of OFFSET is tweaked by
49467 grub_disk_check_range. Change the types of LEN and N to
49468 grub_size_t.
49469
49470 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49471 and "saved_offset" to grub_off_t.
49472 (test_header): Cast BUF to char *.
49473 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49474 to char *.
49475 (grub_gzio_read): Change the types of OFFSET and SIZE to
49476 grub_off_t and grub_size_t, respectively.
49477
49478 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49479 Removed.
49480 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49481 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49482 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49483 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49484 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49485
49486 * include/grub/types.h (grub_off_t): Unconditionally set to
49487 grub_uint64_t.
49488 (grub_disk_addr_t): Changed to grub_uint64_t.
49489
49490 * include/grub/partition.h (struct grub_partition): Change the
49491 types of "start", "len" and "offset" to grub_disk_addr_t,
49492 grub_uint64_t and grub_disk_addr_t, respectively.
49493 (grub_partition_get_start): Return grub_disk_addr_t.
49494 (grub_partition_get_len): Return grub_uint64_t.
49495
49496 * include/grub/misc.h (grub_strtoull): New prototype.
49497 (grub_divmod64): Likewise.
49498
49499 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49500 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49501 grub_off_t, respectively.
49502 All callers and references changed.
49503
49504 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49505 grub_size_t in "read".
49506 All callers and references changed.
49507
49508 * include/grub/file.h (struct grub_file): Change the types of
49509 "offset" and "size" to grub_off_t and grub_off_t,
49510 respectively. Change the type of SECTOR to grub_disk_addr_t in
49511 "read_hook".
49512 (grub_file_read): Change the type of LEN to grub_size_t.
49513 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49514 grub_off_t.
49515 (grub_file_size): Return grub_off_t.
49516 (grub_file_tell): Likewise.
49517 All callers and references changed.
49518
49519 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49520 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49521 "write".
49522 (struct grub_disk): Change the type of "total_sectors" to
49523 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
49524 "read_hook".
49525 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49526 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49527 (grub_disk_write): Likewise.
49528 All callers and references changed.
49529
49530 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49531 char * for grub_strncmp to silence gcc.
49532 (grub_iso9660_mount): Likewise.
49533 (grub_iso9660_mount): Likewise.
49534 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49535 return statement.
49536 (grub_iso9660_iterate_dir): Likewise.
49537 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49538
49539 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49540 LEN to grub_disk_addr_t and grub_size_t, respectively.
49541
49542 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49543
49544 * fs/jfs.c (grub_jfs_read_file): Likewise.
49545
49546 * fs/minix.c (grub_jfs_read_file): Likewise.
49547
49548 * fs/sfs.c (grub_jfs_read_file): Likewise.
49549
49550 * fs/ufs.c (grub_jfs_read_file): Likewise.
49551
49552 * fs/xfs.c (grub_jfs_read_file): Likewise.
49553
49554 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49555 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49556 respectively.
49557
49558 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49559 BLKNR to -1 instead of returning GRUB_ERRNO.
49560 (grub_ext2_read_file): Change the types of SECTOR and
49561 LEN to grub_disk_addr_t and grub_size_t, respectively.
49562
49563 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49564 LEN to grub_disk_addr_t and grub_size_t, respectively.
49565
49566 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49567 grub_file_read.
49568
49569 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49570 string. Do not cast SECTOR explicitly.
49571
49572 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49573 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49574 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49575 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49576 over 2TB and LBA mode is not supported, raise an error.
49577 (get_safe_sectors): New function.
49578 (grub_biosdisk_read): Use get_safe_sectors.
49579 (grub_biosdisk_write): Likewise.
49580
49581 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49582 (grub_efidisk_write): Likewise.
49583
49584 * disk/loopback.c (delete_loopback): Cosmetic changes.
49585 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49586 correctly.
49587 (grub_loopback_open): Likewise.
49588 (grub_loopback_read): Likewise. Also, change the type of POS to
49589 grub_off_t, and fix the usage of grub_memset.
49590
49591 * commands/i386/pc/play.c: Include grub/machine/time.h.
49592
49593 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49594 print FILE->SIZE.
49595
49596 * commands/configfile.c: Include grub/env.h.
49597
49598 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49599 GRUB_ERRNO directly instead. Change the type of POS to
49600 grub_off_t. Follow the coding standard.
49601
49602 * commands/blocklist.c: Include grub/partition.h.
49603 (grub_cmd_blocklist): Return an error if the underlying device is
49604 not a disk. Take the starting sector of a partition into account,
49605 if a partition is used.
49606
49607 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49608 a length field.
49609 (lba_mode): Support 64-bit addresses.
49610 (chs_mode): Likewise.
49611 (copy_buffer): Adapted to the new offsets of a length field and a
49612 segment field.
49613 (blocklist_default_start): Allocate 64-bit space.
49614
49615 * boot/i386/pc/boot.S (force_lba): Removed.
49616 (boot_drive): Moved to under KERNEL_SECTOR.
49617 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
49618 space.
49619 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49620 is useless.
49621 (lba_mode): Refactored to support a 64-bit address. More size
49622 optimization.
49623 (setup_sectors): Likewise.
49624
49625 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49626
49627 * DISTLIST: Added include/grub/i386/linux.h. Removed
49628 include/grub/i386/pc/linux.h
49629
49630 * configure.ac (AC_INIT): Bumped to 1.94.
49631
49632 * config.guess: Updated from gnulib.
49633 * config.sub: Likewise.
49634 * install-sh: Likewise.
49635 * mkinstalldirs: Likewise.
49636
49637 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49638
49639 * conf/common.rmk (grub_modules_init.lst): Depended on
49640 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49641 MODSRCFILES.
49642
49643 * genmk.rb (PModule::rule): Reverted the previous change.
49644
49645 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49646
49647 * conf/common.rmk (grub_modules_init.lst): Depends on
49648 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49649 that the target does not exist before producing.
49650 (grub_modules_init.h): Remove the target before generating.
49651 (grub_emu_init.c): Likewise.
49652
49653 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49654
49655 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49656
49657 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49658 for the target-specific tests. Make sure that we also have the
49659 up-to-date target variables for those tests.
49660
49661 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49662
49663 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49664 (PModule::rule): Likewise.
49665
49666 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49667
49668 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49669 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49670 target-specific flags should be prefixed.
49671 (PModule::rule): Likewise.
49672
49673 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49674
49675 * configure.ac (CMP): Check if cmp is available explicitly.
49676
49677 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49678
49679 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49680 (target_cpu): New variable.
49681 (pkglibdir): Use target_cpu instead of host_cpu.
49682
49683 * util/i386/pc/grub-install.in (host_cpu): Removed.
49684 (target_cpu): New variable.
49685 (pkglibdir): Use target_cpu instead of host_cpu.
49686
49687 * util/genmoddep.c: Removed.
49688
49689 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49690 instead of GRUB_HOST_SIZEOF_VOID_P.
49691 * kern/dl.c: Likewise.
49692
49693 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49694 ...
49695 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49696 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49697 (GRUB_TARGET_SIZEOF_LONG): ... this.
49698 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49699 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49700 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49701 to ...
49702 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49703 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49704 (GRUB_TARGET_SIZEOF_LONG): ... this.
49705 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49706 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49707 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49708 to ...
49709 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49710 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49711 (GRUB_TARGET_SIZEOF_LONG): ... this.
49712 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49713 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49714
49715 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49716 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49717 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49718 instead of GRUB_HOST_SIZEOF_LONG.
49719 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49720 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49721 GRUB_CPU_WORDS_BIGENDIAN.
49722 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49723 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49724 grub_host_ssize_t.
49725
49726 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49727 (genmoddep_SOURCES): Likewise.
49728 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49729 (genmoddep_SOURCES): Likewise.
49730 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49731 (genmoddep_SOURCES): Likewise.
49732 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49733 Likewise.
49734 (genmoddep_SOURCES): Likewise.
49735
49736 * genmoddep.awk: New file.
49737
49738 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49739 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49740 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49741 (PModule::rule): Likewise.
49742 (Program::rule): Likewise.
49743 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49744 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49745 respectively.
49746
49747 * configure.ac: Rewritten intensively to use host and target
49748 instead of build and host, respectively.
49749
49750 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49751 (host_cpu): Removed.
49752 (target_cpu): New variable.
49753 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49754 (BUILD_CC): Removed.
49755 (BUILD_CFLAGS): Likewise.
49756 (BUILD_CPPFLAGS): Likewise.
49757 (TARGET_CC): New variable.
49758 (TARGET_CFLAGS): Likewise.
49759 (TARGET_CPPFLAGS): Likewise.
49760 (TARGET_LDFLAGS): Likewise.
49761 (AWK): Likewise.
49762 (include): Use target_cpu instead of host_cpu.
49763 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
49764
49765 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49766
49767 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49768
49769 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49770 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49771 field 'false' to 'exec_on_false'.
49772 (grub_script_create_cmdif): Renamed argument names to reflect above
49773 changes.
49774
49775 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49776
49777 * normal/script.c (grub_script_create_cmdif): Likewise.
49778
49779 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49780
49781 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49782 top.
49783 (grub_hfsplus_btree_recptr): Likewise.
49784 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49785 FILEBLOCK both to pass a block number and store next block
49786 number.
49787 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49788 overflow file correctly. Specify errors appropriately, because
49789 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49790 grub_hfsplus_btree_recptr to get the pointer to a found key.
49791 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49792 is found.
49793
49794 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49795 linux.mod.
49796 (_linux_mod_SOURCES): New variable.
49797 (_linux_mod_CFLAGS): Likewise.
49798 (_linux_mod_LDFLAGS): Likewise.
49799 (linux_mod_SOURCES): Likewise.
49800 (linux_mod_CFLAGS): Likewise.
49801 (linux_mod_LDFLAGS): Likewise.
49802
49803 * DISTLIST: Added loader/i386/efi/linux.c,
49804 loader/i386/efi/linux_normal.c and
49805 include/grub/i386/efi/loader.h.
49806
49807 * loader/i386/efi/linux.c: New file.
49808 * loader/i386/efi/linux_normal.c: Likewise.
49809 * include/grub/i386/efi/loader.h: Likewise.
49810
49811 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49812
49813 * commands/blocklist.c: New file.
49814
49815 * DISTLIST: Added commands/blocklist.c.
49816
49817 * term/efi/console.c (grub_console_highlight_color): Use a lighter
49818 color for the background, and a darker color for the foreground.
49819 (grub_console_checkkey): Return READ_KEY.
49820 (grub_console_cls): Set the background to
49821 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49822
49823 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49824
49825 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49826 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49827
49828 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49829 prototype.
49830
49831 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49832 BG. The spec is wrong again.
49833
49834 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49835 prototype.
49836 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49837
49838 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49839 commands/blocklist.c.
49840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49841
49842 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49843 (blocklist_mod_SOURCES): New variable.
49844 (blocklist_mod_CFLAGS): Likewise.
49845 (blocklist_mod_LDFLAGS): Likewise.
49846
49847 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49848
49849 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49850 duplication.
49851 (lba_mode): Use %eax more intensively to reduce the code size.
49852
49853 2006-05-20 Marco Gerards <marco@gnu.org>
49854
49855 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49856
49857 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49858 for `menuentry'.
49859 (script): Accept leading newlines.
49860 (newlines): New rule to describe 0 or more newlines.
49861 (commands): Accept `command' with trailing newline. Fixed the
49862 order in which arguments were passed to `grub_script_add_cmd'.
49863 Accept commands separated by newlines.
49864 (function): Changed to accept newlines.
49865 (menuentry) Rewritten.
49866
49867 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49868 front of the list, instead of to the end.
49869
49870 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49871
49872 * util/i386/pc/grub-install.in (bindir): New variable.
49873 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49874 Shaver <lbgwjl@gmail.com>.
49875
49876 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49877
49878 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49879 grub/machine/linux.h
49880 * loader/i386/pc/linux.c: Likewise.
49881
49882 * include/grub/i386/pc/linux.h: Moved to ...
49883 * include/grub/i386/linux.h: ... here.
49884
49885 * include/grub/i386/linux.h (struct linux_kernel_params): New
49886 struct.
49887
49888 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49889
49890 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49891 checking.
49892 (grub_video_vbe_blit_glyph): Likewise.
49893 (grub_video_vbe_blit_bitmap): Likewise.
49894 (grub_video_vbe_blit_render_target): Likewise.
49895
49896 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49897
49898 * configure.ac (--with-platform): Properly quote the square
49899 brackets.
49900
49901 2006-05-08 Marco Gerards <marco@gnu.org>
49902
49903 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49904 this...
49905 (kernel_elf_HEADERS): ...to this. Updated all users.
49906 (grubof_symlist.c): Renamed from this...
49907 (kernel_elf_symlist.c): ...to this. Updated all users.
49908 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49909 (grubof_SOURCES): Renamed from this...
49910 (kernel_elf_SOURCES): ...to this.
49911 (grubof_HEADERS): Renamed from this...
49912 (kernel_elf_HEADERS): ...to this.
49913 (grubof_CFLAGS): Renamed from this...
49914 (kernel_elf_CFLAGS): ...to this.
49915 (grubof_ASFLAGS): Renamed from this...
49916 (kernel_elf_ASFLAGS): ...to this.
49917 (grubof_LDFLAGS): Renamed from this...
49918 (kernel_elf_LDFLAGS): ...to this.
49919
49920 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49921 this...
49922 (kernel_elf_HEADERS): ...to this. Updated all users.
49923 (grubof_symlist.c): Renamed from this...
49924 (kernel_elf_symlist.c): ...to this. Updated all users.
49925 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49926 (grubof_SOURCES): Renamed from this...
49927 (kernel_elf_SOURCES): ...to this.
49928 (grubof_HEADERS): Renamed from this...
49929 (kernel_elf_HEADERS): ...to this.
49930 (grubof_CFLAGS): Renamed from this...
49931 (kernel_elf_CFLAGS): ...to this.
49932 (grubof_ASFLAGS): Renamed from this...
49933 (kernel_elf_ASFLAGS): ...to this.
49934 (grubof_LDFLAGS): Renamed from this...
49935 (kernel_elf_LDFLAGS): ...to this.
49936
49937 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49938 `kernel.elf' instead of `grubof'.
49939
49940 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49941
49942 Add --with-platform to configure. Use pkglibdir instead of
49943 pkgdatadir. This is reported by Roger Leigh.
49944
49945 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49946 (host_vendor): Likewise.
49947 (host_os): Likewise.
49948 (pkgdatadir): Likewise.
49949 (platform): New variable.
49950 (pkglibdir): Likewise.
49951 Use PKGLIBDIR instead of PKGDATADIR.
49952
49953 * util/i386/pc/grub-install.in (datadir): Removed.
49954 (host_vendor): Likewise.
49955 (host_os): Likewise.
49956 (pkgdatadir): Likewise.
49957 (platform): New variable.
49958 (pkglibdir): Likewise.
49959 Use PKGLIBDIR instead of PKGDATADIR.
49960
49961 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49962 instead of GRUB_DATADIR.
49963 (main): Likewise.
49964 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49965 (main): Likewise.
49966 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49967 (main): Likewise.
49968
49969 * configure.ac (--with-platform): New option.
49970 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49971
49972 * Makefile.in: Include a makefile based on PLATFORM instead of
49973 HOST_VENDOR.
49974 (pkgdatadir): Not appended by the machine type.
49975 (pkglibdir): Appended by the machine type.
49976 (host_vendor): Removed.
49977 (platform): New variable.
49978 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49979 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49980 (uninstall): Likewise.
49981
49982 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49983
49984 Use the environment context in the menu. Remove the commands
49985 "default" and "timeout", and use variables instead.
49986
49987 * normal/menu.c: Include grub/env.h.
49988 (print_entry): Cast TITLE to silence gcc.
49989 (get_timeout): New function.
49990 (set_timeout): Likewise.
49991 (get_entry_number): Likewise.
49992 (run_menu): Use a default entry, a fallback entry and a timeout
49993 in the environment variables "default", "fallback" and
49994 "timeout". Also, tweak the default entry if it is not within the
49995 current menu entries.
49996 (grub_menu_run): Use a fallback entry in the environment variable
49997 "fallback".
49998
49999 * normal/main.c (read_config_file): Do not initialize
50000 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
50001 NEWMENU->TIMEOUT.
50002 (grub_normal_execute): Use a data slot to store the menu.
50003
50004 * include/grub/normal.h (struct grub_menu): Removed default_entry,
50005 fallback_entry and timeout.
50006 (struct grub_menu_list): Removed.
50007 (grub_menu_list_t): Likewise.
50008 (struct grub_context): Likewise.
50009 (grub_context_t): Likewise.
50010 (grub_context_get): Likewise.
50011 (grub_context_get_current_menu): Likewise.
50012 (grub_context_push_menu): Likewise.
50013 (grub_context_pop_menu): Likewise.
50014 (grub_default_init): Likewise.
50015 (grub_default_fini): Likewise.
50016 (grub_timeout_init): Likewise.
50017 (grub_timeout_fini): Likewise.
50018
50019 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
50020 and timeout.mod.
50021 (normal_mod_SOURCES): Removed normal/context.c.
50022
50023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
50024 commands/default.c, commands/timeout.c and normal/context.c.
50025 (normal_mod_SOURCES): Removed normal/context.c.
50026
50027 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
50028 commands/timeout.c and normal/context.c.
50029 (normal_mod_SOURCES): Removed normal/context.c.
50030
50031 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
50032 commands/default.c, commands/timeout.c and normal/context.c.
50033 (normal_mod_SOURCES): Removed normal/context.c.
50034
50035 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
50036 timeout.mod.
50037 (default_mod_SOURCES): Removed.
50038 (default_mod_CFLAGS): Likewise.
50039 (default_mod_LDFLAGS): Likewise.
50040 (timeout_mod_SOURCES): Removed.
50041 (timeout_mod_CFLAGS): Likewise.
50042 (timeout_mod_LDFLAGS): Likewise.
50043
50044 * DISTLIST: Removed commands/default.c, commands/timeout.c and
50045 normal/context.c.
50046
50047 * commands/default.c: Removed.
50048 * commands/timeout.c: Likewise.
50049 * normal/context.c: Likewise.
50050
50051 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
50052
50053 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
50054
50055 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
50056
50057 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
50058 "next" to "prev" for readability.
50059 (struct grub_env_sorted_var): New struct.
50060 (grub_env_context): Renamed to ...
50061 (initial_context): ... this.
50062 (grub_env_var_context): Renamed to ...
50063 (current_context): ... this.
50064 (grub_env_find): Look only at CURRENT_CONTEXT.
50065 (grub_env_context_open): Rewritten to copy exported variables from
50066 previous context.
50067 (grub_env_context_close): Rewritten according to the new
50068 scheme. Also, add an assertion to prevent the initial context from
50069 removed.
50070 (grub_env_insert): Removed the code for the sorted list.
50071 (grub_env_remove): Likewise.
50072 (grub_env_export): Simply mark the variable with
50073 GRUB_ENV_VAR_GLOBAL.
50074 (grub_env_set): A cosmetic change for naming consistency.
50075 (grub_env_get): Likewise.
50076 (grub_env_unset): Likewise.
50077 (grub_env_iterate): Rewritten to sort variables within this
50078 function.
50079 (grub_register_variable_hook): Fixed for naming consistency. Call
50080 grub_env_find again, only if NAME is not found at the first time.
50081 (mangle_data_slot_name): New function.
50082 (grub_env_set_data_slot): Likewise.
50083 (grub_env_get_data_slot): Likewise.
50084 (grub_env_unset_data_slot): Likewise.
50085
50086 * include/grub/env.h (grub_env_var_type): New enum.
50087 (GRUB_ENV_VAR_LOCAL): New constant.
50088 (GRUB_ENV_VAR_GLOBAL): Likewise.
50089 (GRUB_ENV_VAR_DATA): Likewise.
50090 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
50091 "type".
50092 (grub_env_set): Replace VAR with NAME for consistency.
50093 (grub_register_variable_hook): Likewise.
50094 (grub_env_export): Specify the name of the argument.
50095 (grub_env_set_data_slot): New prototype.
50096 (grub_env_get_data_slot): Likewise.
50097 (grub_env_unset_data_slot): Likewise.
50098
50099 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
50100
50101 Extend the loader so that GRUB can accept a loader which comes
50102 back to GRUB when a loaded image exits. Also, this change adds
50103 support for a chainloader on EFI.
50104
50105 * term/efi/console.c: Include grub/misc.h.
50106 (grub_console_checkkey): Display a scan code on the top for
50107 debugging. This will be removed once the EFI port gets stable.
50108 Correct the scan code mapping.
50109
50110 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
50111 allocate memory from larger regions, in order to reduce the number
50112 of allocated regions. Otherwise, the MacOSX loader panics.
50113 (filter_memory_map): Avoid less than 1MB for compatibility with
50114 other loaders.
50115 (add_memory_regions): Allocate from the tail of a region, if
50116 possible, to avoid allocating a region near to 1MB, for the MacOSX
50117 loader.
50118
50119 * kern/efi/init.c (grub_efi_set_prefix): Specify
50120 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
50121
50122 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
50123 argument IMAGE_HANDLE and specify it to get a loaded image.
50124 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
50125 grub_efi_get_loaded_image.
50126 (grub_efi_get_filename): Divide the length by the size of
50127 grub_efi_char16_t.
50128 (grub_efi_get_device_path): New function.
50129 (grub_efi_print_device_path): Print End Device Path nodes. Divide
50130 the length by the size of grub_efi_char16_t for a file path device
50131 path node.
50132
50133 * kern/loader.c (grub_loader_noreturn): New variable.
50134 (grub_loader_set): Accept a new argument NORETURN. Set
50135 GRUB_LOADER_NORETURN to NORETURN.
50136 All callers changed.
50137 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
50138 grub_machine_fini.
50139
50140 * include/grub/efi/efi.h (grub_efi_get_device_path): New
50141 prototype.
50142 (grub_efi_get_loaded_image): Take an argument to specify an image
50143 handle.
50144
50145 * include/grub/loader.h (grub_loader_set): Added one more argument
50146 NORETURN.
50147
50148 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
50149 instead of grub_efi_open_protocol.
50150 (grub_efidisk_get_device_name): Likewise.
50151 (grub_efidisk_close): Print a newline.
50152 (grub_efidisk_get_device_handle): Fixed to use
50153 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
50154 GRUB_EFI_DEVICE_PATH_TYPE.
50155
50156 * disk/efi/efidisk.c (device_path_guid): Moved to ...
50157 * kern/efi/efi.c (device_path_guid): ... here.
50158
50159 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
50160 chain.mod.
50161 (kernel_mod_HEADERS): Added efi/disk.h.
50162 (_chain_mod_SOURCES): New variable.
50163 (_chain_mod_CFLAGS): Likewise.
50164 (_chain_mod_LDFLAGS): Likewise.
50165 (chain_mod_SOURCES): Likewise.
50166 (chain_mod_CFLAGS): Likewise.
50167 (chain_mod_LDFLAGS): Likewise.
50168
50169 * DISTLIST: Added include/grub/efi/chainloader.h,
50170 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
50171
50172 * include/grub/efi/chainloader.h: New file.
50173 * loader/efi/chainloader.c: Likewise.
50174 * loader/efi/chainloader_normal.c: Likewise.
50175
50176 2006-04-30 Marco Gerards <marco@gnu.org>
50177
50178 * commands/configfile.c (grub_cmd_source): New function.
50179 (GRUB_MOD_INIT): Register the commands `source' and `.'.
50180 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
50181
50182 2006-04-30 Marco Gerards <marco@gnu.org>
50183
50184 * normal/execute.c (grub_script_execute_cmd): Change the return
50185 type to `grub_err_t'. Correctly return the error.
50186 (grub_script_execute_cmdline): In case a command line is not a
50187 command or a function, try to interpret it as an assignment.
50188
50189 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
50190
50191 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
50192 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
50193 skip a node whose name is obviously invalid as UTF-16,
50194 i.e. contains a NUL character. Stop the iteration when the last
50195 directory entry is found. Instead of using the return value of
50196 grub_hfsplus_btree_iterate_node, store the value in RET and use
50197 it, because the iterator can be stopped by the last directory
50198 entry.
50199
50200 2006-04-30 Marco Gerards <marco@gnu.org>
50201
50202 * include/grub/env.h (grub_env_export): New prototype. Reported
50203 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
50204
50205 2006-04-30 Marco Gerards <marco@gnu.org>
50206
50207 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
50208 size of the extents in a catalog file record.
50209
50210 2006-04-29 Marco Gerards <marco@gnu.org>
50211
50212 * commands/configfile.c (grub_cmd_configfile): Execute the
50213 configfile within its own context.
50214
50215 * include/grub/env.h (grub_env_context_open): New prototype.
50216 (grub_env_context_close): Likewise.
50217
50218 * kern/env.c (grub_env): Removed.
50219 (grub_env_sorted): Likewise.
50220 (grub_env_context): New variable.
50221 (grub_env_var_context): Likewise.
50222 (grub_env_find): Search both the active context and the global
50223 context.
50224 (grub_env_context_open): New function.
50225 (grub_env_context_close): Likewise.
50226 (grub_env_insert): Likewise.
50227 (grub_env_remove): Likewise.
50228 (grub_env_export): Likewise.
50229 (grub_env_set): Changed to use helper functions to avoid code
50230 duplication.
50231 (grub_env_iterate): Rewritten so both the current context and the
50232 global context are being used.
50233
50234 * normal/command.c (export_command): New function.
50235 (grub_command_init): Register the `export' function.
50236
50237 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
50238
50239 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
50240 explicitly to suppress gcc's warnings.
50241 * fs/fat.c (grub_fat_find_dir): Likewise.
50242 (grub_fat_label): Likewise.
50243 * fs/xfs.c (grub_xfs_read_inode): Likewise.
50244 (grub_xfs_mount): Likewise.
50245 (grub_xfs_label): Likewise.
50246 * fs/affs.c (grub_affs_mount): Likewise.
50247 (grub_affs_label): Likewise.
50248 (grub_affs_iterate_dir): Likewise.
50249 * fs/sfs.c (grub_sfs_mount): Likewise.
50250 (grub_sfs_iterate_dir): Likewise.
50251 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
50252 * fs/hfs.c (grub_hfs_mount): Likewise.
50253 (grub_hfs_cmp_catkeys): Likewise.
50254 (grub_hfs_find_dir): Likewise.
50255 (grub_hfs_dir): Likewise.
50256 (grub_hfs_label): Likewise.
50257 * fs/jfs.c (grub_jfs_mount): Likewise.
50258 (grub_jfs_opendir): Likewise.
50259 (grub_jfs_getent): Likewise.
50260 (grub_jfs_lookup_symlink): Likewise.
50261 (grub_jfs_label): Likewise.
50262 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
50263 (grub_hfsplus_iterate_dir): Likewise.
50264 (grub_hfsplus_btree_iterate_node): Made static.
50265
50266 * util/grub-emu.c (prefix): New variable.
50267 (grub_machine_set_prefix): New function.
50268 (main): Do not set the environment variable "prefix" here. Only
50269 set PREFIX, which is used later by grub_machine_set_prefix.
50270
50271 * include/grub/video.h: Do not include grub/symbol.h.
50272 (grub_video_register): Not exported. This symbol is not defined in
50273 the kernel.
50274 (grub_video_unregister): Likewise.
50275 (grub_video_iterate): Likewise.
50276 (grub_video_setup): Likewise.
50277 (grub_video_restore): Likewise.
50278 (grub_video_get_info): Likewise.
50279 (grub_video_get_blit_format): Likewise.
50280 (grub_video_set_palette): Likewise.
50281 (grub_video_get_palette): Likewise.
50282 (grub_video_set_viewport): Likewise.
50283 (grub_video_get_viewport): Likewise.
50284 (grub_video_map_color): Likewise.
50285 (grub_video_map_rgb): Likewise.
50286 (grub_video_map_rgba): Likewise.
50287 (grub_video_fill_rect): Likewise.
50288 (grub_video_blit_glyph): Likewise.
50289 (grub_video_blit_bitmap): Likewise.
50290 (grub_video_blit_render_target): Likewise.
50291 (grub_video_scroll): Likewise.
50292 (grub_video_swap_buffers): Likewise.
50293 (grub_video_create_render_target): Likewise.
50294 (grub_video_delete_render_target): Likewise.
50295 (grub_video_set_active_render_target): Likewise.
50296
50297 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
50298 Undefined.
50299 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
50300
50301 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
50302 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50303 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50304 instead of $(srcdir)/genkernsyms.sh.
50305
50306 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
50307 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50308 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50309 instead of $(srcdir)/genkernsyms.sh.
50310
50311 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
50312 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50313 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50314 instead of $(srcdir)/genkernsyms.sh.
50315
50316 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
50317 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50318 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50319 instead of $(srcdir)/genkernsyms.sh.
50320
50321 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
50322 genkernsyms.sh.
50323
50324 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
50325 genkernsyms.sh.
50326 (gensymlist.sh): New target.
50327 (genkernsyms.sh): Likewise.
50328
50329 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
50330 genkernsyms.sh.in and gensymlist.sh.in.
50331
50332 * genkernsyms.sh: Removed.
50333 * gensymlist.sh: Likewise.
50334
50335 * genkernsyms.sh.in: New file.
50336 * gensymlist.sh.in: Likewise.
50337
50338 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50339
50340 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
50341 clobber "prefix", since we may have already set it manually.
50342
50343 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50344
50345 * kern/misc.c (abort): New alias for grub_abort.
50346
50347 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
50348
50349 A new machine-specific function "grub_machine_set_prefix" is
50350 defined. This is called after loading modules, so that a prefix
50351 initialization can use modules. Also, this change adds an
50352 intensive debugging feature for the memory manager via the
50353 configure option "--enable-mm-debug".
50354
50355 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
50356 PART.LEN.
50357
50358 * kern/sparc64/ieee1275/init.c (abort): Removed.
50359 (grub_stop): Likewise.
50360 (grub_exit): New function.
50361 (grub_set_prefix): Renamed to ...
50362 (grub_machine_set_prefix): ... this.
50363 (grub_machine_init): Do not call grub_set_prefix.
50364
50365 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50366 (grub_machine_set_prefix): ... this.
50367 (grub_machine_init): Do not call grub_set_prefix.
50368
50369 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50370 (grub_machine_init): Do not set the prefix here.
50371
50372 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50373
50374 * kern/efi/init.c: Include grub/mm.h.
50375 (grub_efi_set_prefix): New function.
50376
50377 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50378 (grub_efi_get_filename): New function.
50379 (grub_print_device_path): Renamed to ...
50380 (grub_efi_print_device_path): ... this.
50381
50382 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50383 [MM_DEBUG] (grub_realloc): Likewise.
50384 [MM_DEBUG] (grub_free): Likewise.
50385 [MM_DEBUG] (grub_memalign): Likewise.
50386 [MM_DEBUG] (grub_mm_debug): New variable.
50387 [MM_DEBUG] (grub_debug_malloc): New function.
50388 [MM_DEBUG] (grub_debug_free): New function.
50389 [MM_DEBUG] (grub_debug_realloc): New function.
50390 [MM_DEBUG] (grub_debug_memalign): New function.
50391
50392 * kern/misc.c (grub_abort): Print a newline to distinguish
50393 the message.
50394
50395 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50396 grub_set_root_dev after loading modules. This is necessary when
50397 setting a prefix depends on modules.
50398
50399 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50400 (grub_efi_print_device_path): ... this.
50401 (grub_efi_get_filename): New prototype.
50402 (grub_efi_set_prefix): Likewise.
50403
50404 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50405 and grub/disk.h.
50406 (grub_efidisk_get_device_handle): New prototype.
50407 (grub_efidisk_get_device_name): Likewise.
50408
50409 * include/grub/mm.h: Include config.h.
50410 (MM_DEBUG): Removed.
50411 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50412 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50413 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50414 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50415 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50416 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50417 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50418 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50419 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50420
50421 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50422
50423 * disk/efi/efidisk.c: Include grub/partition.h.
50424 (iterate_child_devices): New function.
50425 (add_device): First, compare only last device path nodes, so that
50426 devices are sorted by the types.
50427 (grub_efidisk_get_device_handle): New function.
50428 (grub_efidisk_get_device_name): Likewise.
50429
50430 * configure.ac (--enable-mm-debug): New option to enable the
50431 memory manager debugging feature. This makes the binary much
50432 bigger, so is disabled by default.
50433
50434 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50435
50436 Use grub_abort instead of grub_stop, and grub_exit must be
50437 define in each architecture now. Also, this change adds support
50438 for EFI disks.
50439
50440 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50441 (grub_getkey): New function.
50442 (grub_term_get_current): Likewise.
50443
50444 * util/i386/pc/grub-setup.c: Include grub/term.h.
50445 (grub_getkey): New function.
50446 (grub_term_get_current): Likewise.
50447
50448 * util/misc.c (grub_stop): Renamed to ...
50449 (grub_exit): ... this.
50450
50451 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50452 (grub_exit): ... this.
50453 (grub_machine_init): Use grub_abort instead of abort.
50454 (grub_stop): Removed.
50455
50456 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50457 abort.
50458
50459 * kern/i386/pc/startup.S (grub_exit): New function.
50460 (cold_reboot): New label.
50461
50462 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50463 (grub_efi_init): Call grub_efidisk_init.
50464 (grub_efi_fini): Call grub_efidisk_fini.
50465
50466 * kern/efi/efi.c: Include grub/mm.h.
50467 (grub_efi_console_control_guid): Renamed to ...
50468 (console_control_guid): ... this.
50469 (grub_efi_loaded_image_guid): Renamed to ...
50470 (loaded_image_guid): ... this.
50471 (grub_efi_locate_handle): New function.
50472 (grub_efi_open_protocol): Likewise.
50473 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50474 GRUB_EFI_CONSOLE_CONTROL_GUID.
50475 (grub_efi_exit): Removed.
50476 (grub_stop): Likewise.
50477 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50478 (grub_exit): New function.
50479 (grub_print_device_path): Likewise.
50480
50481 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50482 (grub_enter_rescue_mode): Register "exit".
50483
50484 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50485 (grub_abort): New function.
50486
50487 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50488
50489 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50490
50491 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50492
50493 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50494 (grub_print_device_path): New prototype.
50495 (grub_efi_locate_handle): Likewise.
50496 (grub_efi_open_protocol): Likewise.
50497
50498 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50499 * disk/efi/efidisk.c: Likewise.
50500
50501 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50502
50503 * include/grub/efi/console_control.h
50504 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50505
50506 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50507 last 8 bytes as an array.
50508 (GRUB_EFI_DISK_IO_GUID): New macro.
50509 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50510 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50511 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50512 grub_uint8_t.
50513 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50514 (struct grub_efi_device_path): Rename the member "sub_type" to
50515 "subtype".
50516 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50517 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50518 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50519 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50520 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50521 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50522 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50523 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50524 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50525 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50526 (struct grub_efi_pci_device_path): New structure.
50527 (grub_efi_pci_device_path_t): New type.
50528 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50529 (struct grub_efi_pccard_device_path): New structure.
50530 (grub_efi_pccard_device_path_t): New type.
50531 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50532 (struct grub_efi_memory_mapped_device_path): New structure.
50533 (grub_efi_memory_mapped_device_path_t): New type.
50534 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50535 (struct grub_efi_vendor_device_path): New structure.
50536 (grub_efi_vendor_device_path_t): New type.
50537 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50538 (struct grub_efi_controller_device_path): New structure.
50539 (grub_efi_controller_device_path_t): New type.
50540 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50541 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50542 (struct grub_efi_acpi_device_path): New structure.
50543 (grub_efi_acpi_device_path_t): New type.
50544 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50545 (struct grub_efi_expanded_acpi_device_path): New structure.
50546 (grub_efi_expanded_acpi_device_path_t): New type.
50547 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50548 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50549 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50550 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50551 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50552 (struct grub_efi_atapi_device_path): New structure.
50553 (grub_efi_atapi_device_path_t): New type.
50554 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50555 (struct grub_efi_fibre_channel_device_path): New structure.
50556 (grub_efi_fibre_channel_device_path_t): New type.
50557 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50558 (struct grub_efi_1394_device_path): New structure.
50559 (grub_efi_1394_device_path_t): New type.
50560 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50561 (struct grub_efi_usb_device_path): New structure.
50562 (grub_efi_usb_device_path_t): New type.
50563 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50564 (struct grub_efi_usb_class_device_path): New structure.
50565 (grub_efi_usb_class_device_path_t): New type.
50566 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50567 (struct grub_efi_i2o_device_path): New structure.
50568 (grub_efi_i2o_device_path_t): New type.
50569 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50570 (struct grub_efi_mac_address_device_path): New structure.
50571 (grub_efi_mac_address_device_path_t): New type.
50572 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50573 (struct grub_efi_ipv4_device_path): New structure.
50574 (grub_efi_ipv4_device_path_t): New type.
50575 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50576 (struct grub_efi_ipv6_device_path): New structure.
50577 (grub_efi_ipv6_device_path_t): New type.
50578 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50579 (struct grub_efi_infiniband_device_path): New structure.
50580 (grub_efi_infiniband_device_path_t): New type.
50581 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50582 (struct grub_efi_uart_device_path): New structure.
50583 (grub_efi_uart_device_path_t): New type.
50584 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50585 (struct grub_efi_vendor_messaging_device_path): New structure.
50586 (grub_efi_vendor_messaging_device_path_t): New type.
50587 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50588 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50589 (struct grub_efi_hard_drive_device_path): New structure.
50590 (grub_efi_hard_drive_device_path_t): New type.
50591 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50592 (struct grub_efi_cdrom_device_path): New structure.
50593 (grub_efi_cdrom_device_path_t): New type.
50594 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50595 (struct grub_efi_vendor_media_device_path): New structure.
50596 (grub_efi_vendor_media_device_path_t): New type.
50597 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50598 (struct grub_efi_file_path_device_path): New structure.
50599 (grub_efi_file_path_device_path_t): New type.
50600 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50601 (struct grub_efi_protocol_device_path): New structure.
50602 (grub_efi_protocol_device_path_t): New type.
50603 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50604 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50605 (struct grub_efi_bios_device_path): New structure.
50606 (grub_efi_bios_device_path_t): New type.
50607 (struct grub_efi_disk_io): New structure.
50608 (grub_efi_disk_io_t): New type.
50609 (struct grub_efi_block_io_media): New structure.
50610 (grub_efi_block_io_media_t): New type.
50611 (struct grub_efi_block_io): New structure.
50612 (grub_efi_block_io_t): New type.
50613
50614 * include/grub/misc.h (grub_stop): Removed.
50615 (grub_exit): New prototype.
50616 (grub_abort): Likewise.
50617
50618 * include/grub/disk.h (enum grub_disk_dev_id): Added
50619 GRUB_DISK_DEVICE_EFIDISK_ID.
50620
50621 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50622 disk/efi/efidisk.c.
50623 (kernel_syms.lst): Remove the target if an error occurs.
50624
50625 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50626
50627 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50628 as it was simply too buggy.
50629
50630 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50631
50632 * kern/misc.c (grub_lltoa): New function.
50633 (grub_vsprintf): Added support for the long long suffix,
50634 i.e. "ll".
50635
50636 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50637
50638 * Makefile.in (LDFLAGS): Add variable.
50639 (LD): Remove variable.
50640 * configure.ac: Add -m32 to LDFLAGS.
50641 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50642 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50643 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50644 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50645 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50646 variables.
50647 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50648 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50649 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50650
50651 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50652
50653 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50654 length for unknown glyph.
50655
50656 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50657
50658 Add support for pre-loaded modules into the EFI port.
50659
50660 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50661 completely. Accept one more argument DIR. The caller has changed.
50662
50663 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50664
50665 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50666 (grub_efi_loaded_image_guid): New variable.
50667 (grub_efi_get_loaded_image): New function.
50668 (grub_arch_modules_addr): Likewise.
50669
50670 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50671 prototype.
50672
50673 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50674 (struct grub_efi_loaded_image): New structure.
50675 (grub_efi_loaded_image_t): New type.
50676
50677 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50678
50679 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50680 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50681 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50682
50683 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50684
50685 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50686
50687 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50688
50689 * DISTLIST: Added include/grub/efi/console.h,
50690 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50691 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50692
50693 * include/grub/efi/console.h: New file.
50694 * include/grub/efi/time.h: Likewise.
50695 * include/grub/i386/efi/kernel.h: Likewise.
50696 * kern/efi/init.c: Likewise.
50697 * kern/efi/mm.c: Likewise.
50698 * term/efi/console.c: Likewise.
50699
50700 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50701 (grub_stop): Removed.
50702 (grub_get_rtc): Likewise.
50703 (grub_machine_init): Simply call grub_efi_init.
50704 (grub_machine_fini): Call grub_efi_fini.
50705
50706 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50707 (grub_efi_output_string): Removed.
50708 (grub_efi_stall): New function.
50709 (grub_stop): Likewise.
50710 (grub_get_rtc): Likewise.
50711
50712 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50713 (grub_efi_stall): New prototype.
50714 (grub_efi_allocate_pages): Likewise.
50715 (grub_efi_free_pages): Likewise.
50716 (grub_efi_get_memory_map): Likewise.
50717 (grub_efi_mm_init): Likewise.
50718 (grub_efi_mm_fini): Likewise.
50719 (grub_efi_init): Likewise.
50720 (grub_efi_fini): Likewise.
50721
50722 * include/grub/i386/efi/time.h: Do not include
50723 grub/symbol.h. Include grub/efi/time.h.
50724 (GRUB_TICKS_PER_SECOND): Removed.
50725 (grub_get_rtc): Likewise.
50726
50727 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50728 Added padding. The EFI spec is buggy.
50729 (GRUB_EFI_BLACK): New macro.
50730 (GRUB_EFI_BLUE): Likewise.
50731 (GRUB_EFI_GREEN): Likewise.
50732 (GRUB_EFI_CYAN): Likewise.
50733 (GRUB_EFI_RED): Likewise.
50734 (GRUB_EFI_MAGENTA): Likewise.
50735 (GRUB_EFI_BROWN): Likewise.
50736 (GRUB_EFI_LIGHTGRAY): Likewise.
50737 (GRUB_EFI_BRIGHT): Likewise.
50738 (GRUB_EFI_DARKGRAY): Likewise.
50739 (GRUB_EFI_LIGHTBLUE): Likewise.
50740 (GRUB_EFI_LIGHTGREEN): Likewise.
50741 (GRUB_EFI_LIGHTCYAN): Likewise.
50742 (GRUB_EFI_LIGHTRED): Likewise.
50743 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50744 (GRUB_EFI_YELLOW): Likewise.
50745 (GRUB_EFI_WHITE): Likewise.
50746 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50747 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50748 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50749 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50750 (GRUB_EFI_BACKGROUND_RED): Likewise.
50751 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50752 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50753 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50754 (GRUB_EFI_TEXT_ATTR): Likewise.
50755
50756 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50757 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50758 (kernel_mod_HEADERS): Added efi/time.h.
50759
50760 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50761
50762 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50763 include/grub/efi/api.h, include/grub/efi/console_control.h,
50764 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50765 include/grub/i386/efi/time.h, kern/efi/efi.c,
50766 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50767 and util/i386/efi/grub-mkimage.c.
50768
50769 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50770
50771 * genmk.rb (PModule#rule): Do not export symbols if
50772 #{prefix}_EXPORTS is set to "no".
50773
50774 * conf/i386-efi.mk: New file.
50775 * conf/i386-efi.rmk: Likewise.
50776 * include/grub/efi/api.h: Likewise.
50777 * include/grub/efi/console_control.h: Likewise.
50778 * include/grub/efi/efi.h: Likewise.
50779 * include/grub/efi/pe32.h: Likewise.
50780 * include/grub/i386/efi/time.h: Likewise.
50781 * kern/efi/efi.c: Likewise.
50782 * kern/i386/efi/init.c: Likewise.
50783 * kern/i386/efi/startup.S: Likewise.
50784 * util/i386/efi/grub-mkimage.c: Likewise.
50785
50786 2006-04-17 Marco Gerards <marco@gnu.org>
50787
50788 * include/grub/script.h: Include <grub/parser.h> and
50789 "grub_script.tab.h".
50790 (struct grub_lexer_param): New struct.
50791 (struct grub_parser_param): Likewise.
50792 (grub_script_create_arglist): Pass the state in an argument.
50793 (grub_script_add_arglist): Likewise.
50794 (grub_script_create_cmdline): Likewise.
50795 (grub_script_create_cmdblock): Likewise.
50796 (grub_script_create_cmdif): Likewise.
50797 (grub_script_create_cmdmenu): Likewise.
50798 (grub_script_add_cmd): Likewise.
50799 (grub_script_arg_add): Likewise.
50800 (grub_script_lexer_ref): Likewise.
50801 (grub_script_lexer_deref): Likewise.
50802 (grub_script_lexer_record_start): Likewise.
50803 (grub_script_lexer_record_stop): Likewise.
50804 (grub_script_mem_record): Likewise.
50805 (grub_script_mem_record_stop): Likewise.
50806 (grub_script_malloc): Likewise.
50807 (grub_script_yylex): Likewise.
50808 (grub_script_yyparse): Likewise.
50809 (grub_script_yyerror): Likewise.
50810 (grub_script_yylex): Likewise.
50811 (grub_script_lexer_init): Return the state.
50812
50813 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50814 (grub_script_lexer_done): Likewise.
50815 (grub_script_lexer_getline): Likewise.
50816 (grub_script_lexer_refs): Likewise.
50817 (script): Likewise.
50818 (newscript): Likewise.
50819 (record): Likewise.
50820 (recording): Likewise.
50821 (recordpos): Likewise.
50822 (recordlen): Likewise.
50823 (grub_script_lexer_init): Return the state instead of setting
50824 global variables.
50825 (grub_script_lexer_ref): Use the newly added argument for state
50826 instead of globals.
50827 (grub_script_lexer_deref): Likewise.
50828 (grub_script_lexer_record_start): Likewise.
50829 (grub_script_lexer_record_stop): Likewise.
50830 (recordchar): Likewise.
50831 (nextchar): Likewise.
50832 (grub_script_yylex2): Likewise.
50833 (grub_script_yylex): Likewise.
50834 (grub_script_yyerror): Likewise.
50835
50836 * normal/parser.y (func_mem): Removed variable.
50837 (menu_entry): Likewise.
50838 (err): Likewise.
50839 (%lex-param): New parser option.
50840 (%parse-param): Likewise.
50841 (script): Always return the AST.
50842 (argument): Pass the state around.
50843 (arguments): Likewise.
50844 (grubcmd): Likewise.
50845 (commands): Likewise.
50846 (function): Likewise.
50847 (menuentry): Likewise.
50848 (if_statement): Likewise.
50849 (if): Likewise.
50850
50851 * normal/script.c (grub_script_memused): Removed variable.
50852 (grub_script_parsed): Likewise.
50853 (grub_script_malloc): Added a state argument. Use that instead of
50854 global variables.
50855 (grub_script_mem_record): Likewise.
50856 (grub_script_mem_record_stop): Likewise.
50857 (grub_script_arg_add): Likewise.
50858 (grub_script_add_arglist): Likewise.
50859 (grub_script_create_cmdline): Likewise.
50860 (grub_script_create_cmdif): Likewise.
50861 (grub_script_create_cmdmenu): Likewise.
50862 (grub_script_add_cmd): Likewise.
50863 (grub_script_parse): Setup the state before calling the parser.
50864
50865 2006-04-16 Marco Gerards <marco@gnu.org>
50866
50867 * normal/command.c (grub_command_init): Remove the title command.
50868
50869 * normal/lexer.c (grub_script_yylex): Renamed from this...
50870 (grub_script_yylex2): ... to this.
50871 (grub_script_yylex): New function. Temporary
50872 introduced to filter some tokens.
50873 (grub_script_yyerror): Print a newline.
50874
50875 * normal/main.c (read_config_file): Output information about the
50876 lines that contain errors. Wait for a key after all lines have
50877 been processed. Don't return an empty menu.
50878
50879 * normal/parser.y (func_mem): Don't initialize.
50880 (menu_entry): Likewise.
50881 (err): New variable.
50882 (script): Don't return anything when an error was encountered.
50883 (ws, returns): Removed rules.
50884 (argument): Disabled concatenated variable support.
50885 (arguments): Remove explicit separators.
50886 (grubcmd): Likewise.
50887 (function): Likewise.
50888 (menuentry): Likewise.
50889 (if): Likewise.
50890 (commands): Likewise. Add error handling.
50891
50892 * normal/script.c (grub_script_create_cmdline): If
50893 `grub_script_parsed' is 0, assume the parser encountered an error.
50894
50895 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50896
50897 * configure.ac: Add support for EFI. Fix the typo
50898 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50899
50900 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50901
50902 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50903 foreign multibyte characters should be shown correctly.
50904
50905 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50906
50907 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50908 calculation.
50909 (read_config_file): Made it to close file before returning.
50910
50911 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50912
50913 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50914 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50915 video/i386/pc/vbefill.c.
50916
50917 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50918 video/i386/pc/vbefill.c.
50919
50920 * include/grub/video.h (grub_video_blit_format): New enum.
50921 (grub_video_mode_info): Added new member blit_format.
50922 (grub_video_get_blit_format): New function prototype.
50923
50924 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50925 function prototype.
50926 (grub_video_vbe_map_rgb): Likewise.
50927 (grub_video_vbe_unmap_color): Likewise.
50928
50929 * include/grub/i386/pc/vbeblit.h: New file.
50930
50931 * include/grub/i386/pc/vbefill.h: New file.
50932
50933 * video/video.c (grub_video_get_blit_format): New function.
50934 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50935 (grub_video_vbe_map_rgb): Likewise.
50936 (grub_video_vbe_unmap_color): Likewise.
50937
50938 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50939 optimized fills.
50940 (grub_video_vbe_blit_render_target): Changed to use more optimized
50941 blits.
50942 (grub_video_vbe_setup): Added detection for optimized settings.
50943 (grub_video_vbe_create_render_target): Likewise.
50944
50945 * video/i386/pc/vbeblit.c: New file.
50946
50947 * video/i386/pc/vbefill.c: New file.
50948
50949 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50950
50951 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50952 here...
50953
50954 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50955 parsing to support both hex and dec ranges. If filename was missing
50956 show usage information.
50957
50958 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50959
50960 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50961 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50962
50963 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50964 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50965 (video_mod_SOURCES): Added.
50966 (video_mod_CFLAGS): Likewise.
50967 (video_mod_LDFLAGS): Likewise.
50968 (gfxterm_mod_SOURCES): Likewise.
50969 (gfxterm_mod_CFLAGS): Likewise.
50970 (gfxterm_mod_LDFLAGS): Likewise.
50971 (videotest_mod_SOURCES): Likewise.
50972 (videotest_mod_CFLAGS): Likewise.
50973 (videotest_mod_LDFLAGS): Likewise.
50974 (vesafb_mod_SOURCES): Removed.
50975 (vesafb_mod_CFLAGS): Likewise.
50976 (vesafb_mod_LDFLAGS): Likewise.
50977 (vga_mod_SOURCES): Likewise.
50978 (vga_mod_CFLAGS): Likewise.
50979 (vga_mod_LDFLAGS): Likewise.
50980
50981 * commands/videotest.c: New file.
50982
50983 * font/manager.c (fill_with_default_glyph): Modified to use
50984 grub_font_glyph.
50985 (grub_font_get_glyph): Likewise.
50986 (fontmanager): Renamed from this...
50987 (font_manager): ... to this.
50988
50989 * include/grub/font.h (grub_font_glyph): Added new structure.
50990 (grub_font_get_glyph): Modified to use grub_font_glyph.
50991
50992 * include/grub/misc.h (grub_abs): Added as inline function.
50993
50994 * include/grub/video.h: New file.
50995
50996 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50997 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50998 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50999 (grub_vbe_get_controller_info): Renamed from this...
51000 (grub_vbe_bios_get_controller_info): ... to this.
51001 (grub_vbe_get_mode_info): Renamed from this...
51002 (grub_vbe_bios_get_mode_info): ... to this.
51003 (grub_vbe_set_mode): Renamed from this...
51004 (grub_vbe_bios_set_mode): ... to this.
51005 (grub_vbe_get_mode): Renamed from this...
51006 (grub_vbe_bios_get_mode): ... to this.
51007 (grub_vbe_set_memory_window): Renamed from this...
51008 (grub_vbe_bios_set_memory_window): ... to this.
51009 (grub_vbe_get_memory_window): Renamed from this...
51010 (grub_vbe_bios_get_memory_window): ... to this.
51011 (grub_vbe_set_scanline_length): Renamed from this...
51012 (grub_vbe_set_scanline_length): ... to this.
51013 (grub_vbe_get_scanline_length): Renamed from this...
51014 (grub_vbe_bios_get_scanline_length): ... to this.
51015 (grub_vbe_set_display_start): Renamed from this...
51016 (grub_vbe_bios_set_display_start): ... to this.
51017 (grub_vbe_get_display_start): Renamed from this...
51018 (grub_vbe_bios_get_display_start): ... to this.
51019 (grub_vbe_set_palette_data): Renamed from this...
51020 (grub_vbe_bios_set_palette_data): ... to this.
51021 (grub_vbe_set_pixel_rgb): Removed.
51022 (grub_vbe_set_pixel_index): Likewise.
51023
51024 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
51025 from this...
51026 (grub_vbe_bios_get_controller_info): ... to this.
51027 (grub_vbe_get_mode_info): Renamed from this...
51028 (grub_vbe_bios_get_mode_info): ... to this.
51029 (grub_vbe_set_mode): Renamed from this...
51030 (grub_vbe_bios_set_mode): ... to this.
51031 (grub_vbe_get_mode): Renamed from this...
51032 (grub_vbe_bios_get_mode): ... to this.
51033 (grub_vbe_set_memory_window): Renamed from this...
51034 (grub_vbe_bios_set_memory_window): ... to this.
51035 (grub_vbe_get_memory_window): Renamed from this...
51036 (grub_vbe_bios_get_memory_window): ... to this.
51037 (grub_vbe_set_scanline_length): Renamed from this...
51038 (grub_vbe_set_scanline_length): ... to this.
51039 (grub_vbe_get_scanline_length): Renamed from this...
51040 (grub_vbe_bios_get_scanline_length): ... to this.
51041 (grub_vbe_set_display_start): Renamed from this...
51042 (grub_vbe_bios_set_display_start): ... to this.
51043 (grub_vbe_get_display_start): Renamed from this...
51044 (grub_vbe_bios_get_display_start): ... to this.
51045 (grub_vbe_set_palette_data): Renamed from this...
51046 (grub_vbe_bios_set_palette_data): ... to this.
51047 (grub_vbe_bios_get_controller_info): Fixed problem with registers
51048 getting corrupted after calling it. Added more pushes and pops.
51049 (grub_vbe_bios_set_mode): Likewise.
51050 (grub_vbe_bios_get_mode): Likewise.
51051 (grub_vbe_bios_get_memory_window): Likewise.
51052 (grub_vbe_bios_set_scanline_length): Likewise.
51053 (grub_vbe_bios_get_scanline_length): Likewise.
51054 (grub_vbe_bios_get_display_start): Likewise.
51055 (grub_vbe_bios_set_palette_data): Likewise.
51056
51057 * normal/cmdline.c (cl_set_pos): Refresh the screen.
51058 (cl_insert): Likewise.
51059 (cl_delete): Likewise.
51060
51061 * term/gfxterm.c: New file.
51062
51063 * term/i386/pc/vesafb.c: Removed file.
51064
51065 * video/video.c: New file.
51066
51067 * video/i386/pc/vbe.c (real2pm): Added new function.
51068 (grub_video_vbe_draw_pixel): Likewise.
51069 (grub_video_vbe_get_video_ptr): Likewise.
51070 (grub_video_vbe_get_pixel): Likewise
51071 (grub_video_vbe_init): Likewise.
51072 (grub_video_vbe_fini): Likewise.
51073 (grub_video_vbe_setup): Likewise.
51074 (grub_video_vbe_get_info): Likewise.
51075 (grub_video_vbe_set_palette): Likewise.
51076 (grub_video_vbe_get_palette): Likewise.
51077 (grub_video_vbe_set_viewport): Likewise.
51078 (grub_video_vbe_get_viewport): Likewise.
51079 (grub_video_vbe_map_color): Likewise.
51080 (grub_video_vbe_map_rgb): Likewise.
51081 (grub_video_vbe_map_rgba): Likewise.
51082 (grub_video_vbe_unmap_color): Likewise.
51083 (grub_video_vbe_fill_rect): Likewise.
51084 (grub_video_vbe_blit_glyph): Likewise.
51085 (grub_video_vbe_blit_bitmap): Likewise.
51086 (grub_video_vbe_blit_render_target): Likewise.
51087 (grub_video_vbe_scroll): Likewise.
51088 (grub_video_vbe_swap_buffers): Likewise.
51089 (grub_video_vbe_create_render_target): Likewise.
51090 (grub_video_vbe_delete_render_target): Likewise.
51091 (grub_video_vbe_set_active_render_target): Likewise.
51092 (grub_vbe_set_pixel_rgb): Remove function.
51093 (grub_vbe_set_pixel_index): Likewise.
51094 (index_color_mode): Remove static variable.
51095 (active_mode): Likewise.
51096 (framebuffer): Likewise.
51097 (bytes_per_scan_line): Likewise.
51098 (grub_video_vbe_adapter): Added new static variable.
51099 (framebuffer): Likewise.
51100 (render_target): Likewise.
51101 (initial_mode): Likewise.
51102 (mode_in_use): Likewise.
51103 (mode_list): Likewise.
51104
51105 2006-03-10 Marco Gerards <marco@gnu.org>
51106
51107 * configure.ac (AC_INIT): Bumped to 1.93.
51108
51109 * DISTLIST: Added `include/grub/hfs.h'.
51110
51111 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
51112
51113 * boot/i386/pc/boot.S (general_error): Before looping, try INT
51114 18H, which might help the BIOS falling back to next boot media.
51115
51116 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
51117
51118 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
51119 Poe Chen <poe.poechen@gmail.com>.
51120
51121 2006-01-17 Marco Gerards <marco@gnu.org>
51122
51123 * include/grub/normal.h: Include <grub/script.h>.
51124 (grub_command_list): Removed struct.
51125 (grub_command_list_t): Removed type.
51126 (grub_menu_entry): Remove members `num' and `command_list'. Add
51127 members `commands' and `sourcecode'.
51128 * include/grub/script.h: Add inclusion guards.
51129 (grub_script_cmd_menuentry): New struct.
51130 (grub_script_execute_menuentry): New prototype.
51131 (grub_script_lexer_record_start): Likewise.
51132 (grub_script_lexer_record_stop): Likewise.
51133 * normal/execute.c (grub_script_execute_menuentry): New function.
51134 * normal/lexer.c (record, recording, recordpos, recordlen): New
51135 variables.
51136 (grub_script_lexer_record_start): New function.
51137 (grub_script_lexer_record_stop): Likewise.
51138 (recordchar): Likewise.
51139 (nextchar): Likewise.
51140 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
51141 2048 as the buffer size. Add the tokens `menuentry' and `@'.
51142 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
51143 (current_menu): New variable.
51144 (free_menu): Mainly rewritten.
51145 (grub_normal_menu_addentry): New function.
51146 (read_config_file): Rewritten.
51147 * normal/menu.c (run_menu_entry): Mainly rewritten.
51148 * normal/menu_entry.c (make_screen): Rewritten the code to insert
51149 the menu entry.
51150 (run): Mainly rewritten.
51151 * normal/parser.y (menu_entry): New variable.
51152 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
51153 (menuentry): New rule.
51154 (command): Add `menuentry'.
51155 (if_statement): Allow additional returns before `fi'.
51156 * normal/script.c (grub_script_create_cmdmenu): New function.
51157
51158 2006-01-03 Marco Gerards <marco@gnu.org>
51159
51160 * INSTALL: GNU Bison is required.
51161 * configure.ac: Rewritten the test to detect Bison.
51162 * Makefile.in (YACC): New variable. Reported by Xun Sun
51163 <xun.sun.cn@gmail.com>.
51164
51165 2006-01-03 Marco Gerards <marco@gnu.org>
51166
51167 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
51168 the HFS+ filesystem to filesystem blocks.
51169 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
51170 GCC warning is silenced.
51171
51172 2006-01-03 Marco Gerards <marco@gnu.org>
51173
51174 * partmap/apple.c (apple_partition_map_iterate): Convert the data
51175 read from disk from big endian to host byte order.
51176
51177 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
51178
51179 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
51180 documentation.
51181 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
51182 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
51183 embedded HFS+ filesystem.
51184 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
51185 (grub_hfs_sblock): Move from here...
51186 * include/grub/hfs.h: To here... New file.
51187 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
51188 documentation.
51189 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
51190 New macros.
51191 (grub_hfsplus_volheader): Change type of member `magic' to
51192 `grub_uint16_t'.
51193 (grub_hfsplus_data): Add new member `embedded_offset'.
51194 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
51195 returned block.
51196 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
51197 Calculate the offset.
51198
51199 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51200
51201 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
51202 Removed.
51203 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
51204
51205 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51206
51207 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
51208 ENV->NAME is NULL after allocating ENV->VALUE.
51209
51210 2005-12-25 Marco Gerards <marco@gnu.org>
51211
51212 * kern/env.c (grub_env_set): Rewritten the error handling code.
51213
51214 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51215
51216 * geninit.sh: Made more robust, and more portable.
51217
51218 2005-12-25 Marco Gerards <marco@gnu.org>
51219
51220 Add support for Apple HFS+ filesystems.
51221
51222 * fs/hfsplus.c: New file.
51223
51224 * DISTLIST: Added `fs/hfsplus.c'.
51225
51226 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
51227 (hfsplus_mod_SOURCES): New variable.
51228 (hfsplus_mod_CFLAGS): Likewise.
51229 (hfsplus_mod_LDFLAGS): Likewise.
51230 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
51231 (grub_setup_SOURCES): Likewise.
51232 (grub_mkdevicemap_SOURCES): Likewise.
51233 (grub_emu_SOURCES): Likewise.
51234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51235
51236 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
51237
51238 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
51239
51240 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51241
51242 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
51243 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
51244 include/grub/parser.h, include/grub/script.h, kern/parser.c,
51245 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
51246 normal/lexer.c, normal/parser.y, normal/script.c, and
51247 partmap/gpt.c.
51248 Removed kern/sparc64/cache.c.
51249
51250 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
51251 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
51252 grub_emu_init.c.
51253
51254 * configure.ac (AC_INIT): Bumped to 1.92.
51255
51256 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
51257
51258 * kern/err.c (grub_error_push): Added new function to support error
51259 stacks.
51260 (grub_error_pop): Likewise.
51261 (grub_error_stack_items): New local variable to support error stacks.
51262 (grub_error_stack_pos): Likewise.
51263 (grub_error_stack_assert): Likewise.
51264 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
51265 stack depth.
51266 (grub_print_error): Added support to print errors from error stack.
51267
51268 * include/grub/err.h (grub_error_push): Added function prototype.
51269 (grub_error_pop): Likewise.
51270
51271 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
51272
51273 * configure.ac: Accept `powerpc64' as host_cpu.
51274 (amd64): Rename to `biarch32'.
51275
51276 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
51277 non-cacheline-aligned addresses.
51278
51279 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
51280 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
51281 if `size' is non-zero.
51282
51283 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
51284
51285 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
51286 and `cd' to make sure the filename is not prefixed with a
51287 directory name.
51288 (pkgdata_MODULES): Add `gpt.mod'.
51289 (gpt_mod_SOURCES): New variable.
51290 (gpt_mod_CFLAGS): Likewise.
51291 (gpt_mod_LDFLAGS): Likewise.
51292
51293 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
51294
51295 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
51296 New macro.
51297
51298 * partmap/gpt.c: New file.
51299
51300 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
51301 GPT partition map is detected.
51302
51303 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
51304
51305 * commands/i386/pc/play.c: New file.
51306 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
51307 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
51308 macros.
51309
51310 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
51311
51312 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
51313 ((unused))' to silence gcc warning.
51314
51315 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
51316
51317 * configure.ac: Correct `AC_PROG_YACC' test.
51318
51319 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51320
51321 * util/powerpc/ieee1275/grub-install.in: Run the mount point
51322 check before installing files.
51323
51324 2005-11-22 Mike Small <smallm@panix.com>
51325
51326 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
51327 number regex so multidigit numbers are recognized correctly.
51328
51329 2005-11-22 Mike Small <smallm@panix.com>
51330
51331 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
51332 debugging message before attempting to claim memory.
51333 (grub_rescue_cmd_initrd): Add a claim debugging message and try
51334 multiple addresses in case of failure.
51335
51336 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51337
51338 * term/tparm.c (get_space): Remove empty `if' statement.
51339
51340 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
51341
51342 * kern/parser.c (check_varstate): Rename `state' to 's'.
51343
51344 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51345
51346 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
51347 variable definitions to the beginning of each function. Sort stack
51348 variables by size.
51349 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
51350 `buf' argument to `char *'.
51351
51352 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51353
51354 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
51355 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51356 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51357 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51358 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51359 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51360 configfile.mod, search.mod, gzio.mod and test.mod.
51361 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51362 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51363 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51364 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51365 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51366 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51367 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51368 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51369 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51370 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51371 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51372 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51373 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51374 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51375 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51376 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51377 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51378 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51379 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51380 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51381 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51382 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51383 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51384
51385 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51386 `grep --include'.
51387 (pkgdata_MODULES): Add test.mod.
51388
51389 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51390
51391 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51392 appending to variables with "+=".
51393 (PModule): Use full pathname to generate *.lst filenames.
51394
51395 * Makefile.in: Fixed list rules moved from genmk.rb.
51396 (.DELETE_ON_ERROR): New special target.
51397 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51398
51399 * conf/i386-pc.rmk: Include conf/common.mk.
51400 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51401 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51402 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51403 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51404 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51405 configfile.mod, search.mod, gzio.mod and test.mod.
51406 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51407 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51408 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51409 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51410 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51411 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51412 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51413 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51414 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51415 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51416 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51417 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51418 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51419 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51420 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51421 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51422 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51423 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51424 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51425 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51426 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51427 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51428 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51429 here...
51430 * conf/common.rmk: ... to here. New file.
51431
51432 * conf/common.mk: New file.
51433
51434 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51435
51436 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51437 (grub_script.tab.c): ... here.
51438
51439 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51440 (grub_script.tab.c): ... here.
51441
51442 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51443 (grub_script.tab.c): ... here.
51444
51445 * normal/command.c (grub_command_find): Fixed a memory leak of
51446 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51447
51448 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51449
51450 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51451 "@" which marks the start of a comment on ARM.
51452 (VARIABLE): Likewise.
51453
51454 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51455
51456 Add support for Linux/ADFS partition tables.
51457
51458 * partmap/acorn.c: New file.
51459
51460 * include/grub/acorn_filecore.h: Likewise.
51461
51462 * DISTLIST: Added `partmap/acorn.c' and
51463 `include/grub/acorn_filecore.h'.
51464
51465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51466 `partmap/acorn.c'.
51467 (pkgdata_MODULES): Add `acorn.mod'.
51468 (acorn_mod_SOURCES): New variable.
51469 (acorn_mod_CFLAGS): Likewise.
51470
51471 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51472 `partmap/acorn.c'.
51473 (pkgdata_MODULES): Add `acorn.mod'.
51474 (acorn_mod_SOURCES): New variable.
51475 (acorn_mod_CFLAGS): Likewise.
51476
51477 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51478 (pkgdata_MODULES): Add `acorn.mod'.
51479 (acorn_mod_SOURCES): New variable.
51480 (acorn_mod_CFLAGS): Likewise.
51481 (acorn_mod_LDFLAGS): Likewise.
51482
51483 * include/types.h (grub_disk_addr_t): New typedef.
51484
51485 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
51486
51487 * geninit.sh: New file.
51488
51489 * geninitheader.sh: Likewise.
51490
51491 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51492 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51493 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51494 * commands/configfile.c (grub_configfile_init)
51495 (grub_configfile_fini): Likewise.
51496 * commands/default.c (grub_default_init, grub_default_fini):
51497 Likewise.
51498 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51499 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51500 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51501 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51502 Likewise.
51503 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51504 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51505 Likewise.
51506 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
51507 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
51508 Likewise.
51509 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51510 Likewise.
51511 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
51512 Likewise.
51513 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51514 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51515 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51516 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51517 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51518 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51519 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51520 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51521 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51522 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51523 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51524 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51525 * partmap/amiga.c (grub_amiga_partition_map_init)
51526 (grub_amiga_partition_map_fini): Likewise.
51527 * partmap/apple.c (grub_apple_partition_map_init)
51528 (grub_apple_partition_map_fini): Likewise.
51529 * partmap/pc.c (grub_pc_partition_map_init)
51530 (grub_pc_partition_map_fini): Likewise.
51531 * partmap/sun.c (grub_sun_partition_map_init,
51532 grub_sun_partition_map_fini): Likewise.
51533 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51534 Likewise.
51535
51536 * util/grub-emu.c: Include <grub_modules_init.h>.
51537 (main): Don't initialize and de-initialize any modules directly,
51538 use `grub_init_all' and `grub_fini_all' instead.
51539
51540 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51541 `grub_vesafb_mod_init'.
51542 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51543 all users.
51544 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51545 `grub_vga_mod_init'. Updated all users.
51546 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
51547
51548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51549 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51550 rules.
51551
51552 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51553 Generate a function to initialize the module in utilities.
51554 Updated all callers.
51555 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51556 initialize the module in utilities. Updated all callers.
51557
51558 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51559
51560 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51561 escape sequence and a literal ^L to clear the screen.
51562
51563 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51564 when returning from Open Firmware.
51565
51566 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51567
51568 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51569 (grub_ofconsole_height): Likewise.
51570 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51571 manually insert a '\n'.
51572 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51573 `grub_ofconsole_height'. Return early if these are already set.
51574
51575 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51576
51577 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51578 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51579 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51580 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51581 and `normal/script.c'.
51582 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51583 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51584 (test_mod_SOURCES): New variable.
51585 (test_mod_CFLAGS): Likewise.
51586 (test_mod_LDFLAGS): Likewise.
51587 (pkgdata_MODULES): Add `test.mod'.
51588 (grub_script.tab.c): New rule.
51589 (grub_script.tab.h): Likewise.
51590
51591 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
51592
51593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51594 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51595 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51596 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51597 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51598 (test_mod_SOURCES): New variable.
51599 (test_mod_CFLAGS): Likewise.
51600 (pkgdata_MODULES): Add `test.mod'.
51601 (grub_script.tab.c): New rule.
51602 (grub_script.tab.h): Likewise.
51603
51604 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
51605
51606 Add initial scripting support.
51607
51608 * commands/test.c: New file.
51609 * include/grub/script.h: Likewise.
51610 * normal/execute.c: Likewise.
51611 * normal/function.c: Likewise.
51612 * normal/lexer.c: Likewise.
51613 * normal/parser.y: Likewise.
51614 * normal/script.c: Likewise.
51615
51616 * configure.ac: Add `AC_PROG_YACC' test.
51617
51618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51619 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51620 `normal/function.c' and `normal/script.c'.
51621 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51622 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51623 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51624 variables.
51625 (pkgdata_MODULES): Add `test.mod'.
51626 (grub_script.tab.c): New rule.
51627 (grub_script.tab.h): Likewise.
51628
51629 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51630
51631 * include/grub/normal.h (grub_test_init): New prototype.
51632 (grub_test_fini): Likewise.
51633
51634 * normal/command.c: Include <grub/script.h>.
51635 (grub_command_execute): Rewritten.
51636
51637 * util/grub-emu.c (main): Call `grub_test_init' and
51638 `grub_test_fini'.
51639
51640 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51641
51642 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51643 to 0.
51644 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51645 there are no pending characters.
51646
51647 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51648
51649 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51650 `grub_strndup' to drop device arguments. Replace unnecessary
51651 `grub_strndup' with `grub_strdup'.
51652
51653 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51654
51655 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51656 `debug' environment variable has been set.
51657
51658 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
51659
51660 * Makefile.in (install-local): Use $(DATA).
51661 (uninstall): Likewise.
51662 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51663 (sbin_UTILITIES): ... to here.
51664 (sbin_SCRIPTS): New variable.
51665 (grub_install_SOURCES): New variable.
51666 * util/powerpc/ieee1275/grub-install.in: New file.
51667 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51668 variable.
51669 (add_segments): Call `grub_util_get_path'.
51670
51671 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51672
51673 From Timothy Baldwin:
51674 * commands/ls.c (grub_ls_list_files): Close FILE with
51675 grub_file_close.
51676 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51677
51678 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
51679
51680 * include/grub/parser.h: New file.
51681
51682 * kern/parser.c: Likewise.
51683
51684 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51685 (grub_setup_SOURCES): Likewise.
51686 (grub_probefs_SOURCES): Likewise.
51687 (grub_emu_SOURCES): Likewise.
51688 (kernel_img_HEADERS): Add `parser.h'.
51689
51690 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51691 (grub_emu_SOURCES): Add `kern/parser.c'.
51692 (grubof_SOURCES): Likewise.
51693
51694 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51695 (grubof_SOURCES): Add `kern/parser.c'.
51696
51697 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51698
51699 * kern/misc.c (grub_split_cmdline): Removed function.
51700
51701 * kern/rescue.c: Include <grub/parser.h>.
51702 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51703 of `grub_split_cmdline'.
51704
51705 * normal/command.c: Include <grub/parser.h>.
51706 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51707 of `grub_split_cmdline'.
51708
51709 * normal/completion.c: Include <grub/parser.h>.
51710 (cmdline_state): New variable.
51711 (iterate_dir): End the filename with a quote depending on the
51712 command line state.
51713 (get_state): new function.
51714 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51715 split the arguments and determine the current argument. When the
51716 argument string is not quoted, escape all spaces.
51717
51718 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51719
51720 * normal/sparc64/setjmp.S: New file.
51721
51722 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51723
51724 * include/grub/sparc64/libgcc.h: New file.
51725 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51726 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51727 normal/sparc64/setjmp.c.
51728
51729 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51730
51731 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51732 * kern/sparc64/cache.S: New file.
51733 * kern/sparc64/cache.c: Removed.
51734 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51735 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51736 -mtune=ultrasparc.
51737 (COMMON_LDFLAGS): Add -melf64_sparc.
51738 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51739 (grubof_SOURCES): Use cache.S instead of cache.c.
51740 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51741 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51742 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51743 commented though.
51744 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51745 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51746 (linux_mod_CFLAGS): Commented out.
51747 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51748 out because module isn't built.
51749 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51750 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51751 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51752 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51753 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51754 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51755 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51756 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51757 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51758 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51759 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51760 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51761 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51762 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51763
51764 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51765
51766 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51767 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51768 longer, because HFS should not be used on PC.
51769
51770 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51771
51772 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51773 consistently within the loop.
51774
51775 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
51776
51777 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51778 directory can not be read.
51779
51780 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51781
51782 * configure.ac (AC_INIT): Increase the version number to 1.91.
51783
51784 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51785 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51786 term/i386/pc/serial.c.
51787
51788 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51789
51790 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51791 file size must be permitted.
51792
51793 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51794 between %ah and %al.
51795
51796 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51797
51798 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51799 grub_uint64_t.
51800 Call the hook with a NUL-terminated filename.
51801 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51802 grub_cpu_to_be32.
51803
51804 * kern/term.c (cursor_state): New variable.
51805 (grub_term_set_current): Reset the cursor state on a new
51806 terminal.
51807 (grub_setcursor): Rewritten to use CURSOR_STATE.
51808 (grub_getcursor): New function.
51809
51810 * include/grub/term.h (grub_getcursor): New prototype.
51811
51812 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51813 integers on ARM. Reported by Timothy Baldwin
51814 <T.E.Baldwin99@members.leeds.ac.uk>.
51815
51816 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
51817
51818 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51819 allocated.
51820 (grub_sfs_dir): Likewise.
51821
51822 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
51823
51824 Add support for the SFS filesystem.
51825
51826 * fs/sfs.c: New file.
51827
51828 * DISTLIST: Added `fs/sfs.c'.
51829
51830 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51831 (grub_probefs_SOURCES): Likewise.
51832 (grub_emu_SOURCES): Likewise.
51833 (pkgdata_MODULES): Add `sfs.mod'.
51834 (sfs_mod_SOURCES): New variable.
51835 (sfs_mod_CFLAGS): Likewise.
51836 (sfs_mod_LDFLAGS): Likewise.
51837
51838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51839 (pkgdata_MODULES): Add `sfs.mod'.
51840 (sfs_mod_SOURCES): New variable.
51841 (sfs_mod_CFLAGS): Likewise.
51842
51843 * util/grub-emu.c (main): Call `grub_sfs_init' and
51844 `grub_sfs_fini'.
51845
51846 * include/grub/fs.h (grub_sfs_init): New prototype.
51847 (grub_sfs_fini): Likewise.
51848
51849 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
51850
51851 Add support for the AFFS filesystem.
51852
51853 * fs/affs.c: New file.
51854
51855 * DISTLIST: Added `fs/affs.c'.
51856
51857 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51858 (grub_probefs_SOURCES): Likewise.
51859 (grub_emu_SOURCES): Likewise.
51860 (pkgdata_MODULES): Add `affs.mod'.
51861 (affs_mod_SOURCES): New variable.
51862 (affs_mod_CFLAGS): Likewise.
51863 (affs_mod_LDFLAGS): Likewise.
51864
51865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51866 (pkgdata_MODULES): Add `affs.mod'.
51867 (affs_mod_SOURCES): New variable.
51868 (affs_mod_CFLAGS): Likewise.
51869
51870 * util/grub-emu.c (main): Call `grub_affs_init' and
51871 `grub_affs_fini'.
51872
51873 * include/grub/fs.h (grub_affs_init): New prototype.
51874 (grub_affs_fini): Likewise.
51875
51876 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51877
51878 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51879
51880 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51881
51882 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51883 `-m32' to CFLAGS.
51884
51885 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51886 linking.
51887
51888 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51889 (COMMON_LDFLAGS): New variable.
51890 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51891 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51892 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51893 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51894 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51895 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51896 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51897 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51898 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51899 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51900 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51901 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51902 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51903 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51904 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51905 variables.
51906 (normal_mod_ASFLAGS): Add `-m32'.
51907
51908 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51909 (grub_host_size_t, grub_host_ssize_t): New types.
51910 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
51911 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
51912 `GRUB_HOST_SIZEOF_VOID_P'.
51913
51914 * include/grub/kernel.h (struct grub_module_header): Type of
51915 member offset changed to `grub_host_off_t'. Type of member size
51916 changed to `grub_host_size_t'.
51917 (struct grub_module_info): Type of member offset changed to
51918 `grub_host_off_t'. Type of member size changed to
51919 `grub_host_size_t'.
51920
51921 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51922
51923 Make GRUB's kernel compliant to Multiboot Specification.
51924
51925 * kern/i386/pc/startup.S (multiboot_header): New label.
51926 (multiboot_entry): Likewise.
51927 (multiboot_trampoline): Likewise.
51928
51929 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51930 Increased to 0x4A0.
51931
51932 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51933 put parentheses after a question mark.
51934 [!GRUB_UTIL] (my_mod): New variable.
51935
51936 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51937
51938 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
51939
51940 Adds support for the XFS filesystem. Btrees are not supported
51941 yet.
51942
51943 * fs/xfs.c: New file.
51944
51945 * DISTLIST: Added `fs/xfs.c'.
51946
51947 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51948 (grub_probefs_SOURCES): Likewise.
51949 (grub_emu_SOURCES): Likewise.
51950 (pkgdata_MODULES): Add `xfs.mod'.
51951 (xfs_mod_SOURCES): New variable.
51952 (xfs_mod_CFLAGS): Likewise.
51953
51954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51955 (pkgdata_MODULES): Add `xfs.mod'.
51956 (xfs_mod_SOURCES): New variable.
51957 (xfs_mod_CFLAGS): Likewise.
51958
51959 * util/grub-emu.c (main): Call `grub_xfs_init' and
51960 `grub_xfs_fini'.
51961
51962 * include/grub/fs.h (grub_xfs_init): New prototype.
51963 (grub_xfs_fini): Likewise.
51964
51965
51966 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51967
51968 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51969 color modes, allow greater than 16 colors to be configured as
51970 a default palette.
51971
51972 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51973
51974 * normal/completion.c (complete_arguments): Add the qualifier
51975 const into OPTIONS.
51976
51977 From Omniflux <omniflux+lists@omniflux.com>:
51978 * include/grub/terminfo.h: New file.
51979 * include/grub/tparm.h: Likewise.
51980 * include/grub/i386/pc/serial.h: Likewise.
51981 * term/terminfo.c: Likewise.
51982 * term/tparm.c: Likewise.
51983 * term/i386/pc/serial.c: Likewise.
51984 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51985 serial.mod.
51986 (terminfo_mod_SOURCES): New variable.
51987 (terminfo_mod_CFLAGS): Likewise.
51988 (serial_mod_SOURCES): Likewise.
51989 (serial_mod_CFLAGS): Likewise.
51990
51991 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51992
51993 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51994 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51995 and kern/powerpc/ieee1275/cmain.c, respectively.
51996
51997 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51998 * kern/powerpc/ieee1275/crt0.S: ... here.
51999
52000 * boot/powerpc/ieee1275/cmain.c: Moved to ...
52001 * kern/powerpc/ieee1275/cmain.c: ... here.
52002
52003 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
52004 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
52005 instead of boot/powerpc/ieee1275/crt0.S and
52006 boot/powerpc/ieee1275/cmain.c, respectively.
52007
52008 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
52009 sectors. It was not used anyway.
52010
52011 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
52012
52013 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
52014 `unused parameter' warning.
52015
52016 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
52017
52018 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
52019 function.
52020 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
52021 getcharwidth.
52022
52023 2005-08-28 Marco Gerards <metgerards@student.han.nl>
52024
52025 * include/grub/normal.h (enum grub_completion_type): Added
52026 `GRUB_COMPLETION_TYPE_ARGUMENT'.
52027
52028 * normal/cmdline.c (print_completion): Handle
52029 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
52030 * normal/menu_entry.c (store_completion): Likewise.
52031
52032 * normal/completion.c (complete_arguments): New function.
52033 (grub_normal_do_completion): Call `complete_arguments' when the
52034 current words start with a dash.
52035
52036 2005-08-27 Marco Gerards <metgerards@student.han.nl>
52037
52038 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
52039 `gzio.mod' instead of `io.mod').
52040
52041 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
52042
52043 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
52044 (DISTDIRS): Added io and video.
52045 Rewrite the search routine to make an output consistently.
52046
52047 * DISTLIST: Added conf/sparc64-ieee1275.mk,
52048 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
52049 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
52050 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
52051 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
52052 util/powerpc/ieee1275/misc.c.
52053
52054 * include/grub/gzio.h: New file.
52055 * io/gzio.c: Likewise.
52056
52057 * kern/file.c (grub_file_close): Call grub_device_close only if
52058 FILE->DEVICE is not NULL.
52059
52060 * include/grub/mm.h [!NULL] (NULL): New macro.
52061
52062 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
52063
52064 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
52065 (pkgdata_MODULES): Added gzio.mod.
52066 (gzio_mod_SOURCES): New variable.
52067 (gzio_mod_CFLAGS): Likewise.
52068
52069 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
52070 (pkgdata_MODULES): Added gzio.mod.
52071 (gzio_mod_SOURCES): New variable.
52072 (gzio_mod_CFLAGS): Likewise.
52073
52074 * commands/cat.c: Include grub/gzio.h.
52075 (grub_cmd_cat): Use grub_gzfile_open instead of
52076 grub_file_open.
52077
52078 * commands/cmp.c: Include grub/gzio.h.
52079 (grub_cmd_cmp): Use grub_gzfile_open instead of
52080 grub_file_open.
52081
52082 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
52083 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
52084 grub_file_open.
52085 (grub_rescue_cmd_module): Likewise.
52086
52087 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
52088
52089 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
52090 kern/sparc64/ieee1275/init.c because it contains _start.
52091 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
52092
52093 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
52094
52095 * configure.ac: Add support for sparc64 host with ieee1275
52096 firmware.
52097 * configure: Generated from configure.ac.
52098 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
52099 instead of int.
52100 (grub_ofdisk_read): Likewise.
52101 (grub_ofdisk_open): Use %p to print pointer values, and cast the
52102 pointers as (void *) to remove a warning.
52103 (grub_ofdisk_close): Likewise.
52104 (grub_ofdisk_read): Likewise.
52105 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
52106 returns, so make it return void to remove a warning.
52107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
52108 Corresponding prototype change.
52109 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
52110 values, and cast the pointers as (void *) to remove a warning.
52111 (grub_mm_dump): Likewise.
52112 * conf/sparc64-ieee1275.mk: New file.
52113 * conf/sparc64-ieee1275.rmk: Likewise.
52114 * include/grub/sparc64/setjmp.h: Likewise.
52115 * include/grub/sparc64/types.h: Likewise.
52116 * include/grub/sparc64/ieee1275/console.h: Likewise.
52117 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
52118 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
52119 * include/grub/sparc64/ieee1275/time.h: Likewise.
52120 * kern/sparc64/cache.c: Likewise.
52121 * kern/sparc64/dl.c: Likewise.
52122 * kern/sparc64/ieee1275/init.c: Likewise.
52123 * kern/sparc64/ieee1275/openfw.c: Likewise.
52124
52125 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52126
52127 * util/console.c (grub_ncurses_putchar): If C is greater than
52128 0x7f, set C to a question mark.
52129 (grub_ncurses_getcharwidth): New function.
52130 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
52131 getcharwidth.
52132
52133 * normal/menu.c (print_entry): Made aware of Unicode. First,
52134 convert TITLE to UCS-4, and predict the cursor position by
52135 grub_getcharwidth.
52136
52137 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
52138 const to SRC.
52139 * kern/misc.c (grub_utf16_to_utf8): Likewise.
52140
52141 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52142
52143 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
52144 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
52145 grub_strcat.
52146
52147 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
52148 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
52149 grub_strcpy and grub_strlen. Take it into account that a space
52150 character is inserted as a delimiter.
52151
52152 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52153
52154 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
52155 invalid magic in the error.
52156
52157 * commands/search.c: New file.
52158
52159 * util/grub-emu.c (main): Call grub_search_init and
52160 grub_search_fini.
52161
52162 * kern/rescue.c (grub_rescue_print_disks): Removed.
52163 (grub_rescue_print_devices): New function.
52164 (grub_rescue_cmd_ls): Use grub_device_iterate with
52165 grub_rescue_print_devices instead of grub_disk_dev_iterate with
52166 grub_rescue_print_disks.
52167
52168 * kern/partition.c (grub_partition_iterate): Return the result of
52169 PARTMAP->ITERATE instead of GRUB_ERRNO.
52170
52171 * kern/device.c: Include grub/partition.h.
52172 (grub_device_iterate): New function.
52173
52174 * include/grub/partition.h (grub_partition_iterate): Return int
52175 instead of grub_err_t.
52176
52177 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
52178 prototype.
52179 [GRUB_UTIL] (grub_search_fini): Likewise.
52180
52181 * include/grub/device.h (grub_device_iterate): New prototype.
52182
52183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52184 commands/search.c.
52185 (pkgdata_MODULES): Added search.mod.
52186 (search_mod_SOURCES): New variable.
52187 (search_mod_CFLAGS): Likewise.
52188
52189 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
52190 (pkgdata_MODULES): Added search.mod.
52191 (search_mod_SOURCES): New variable.
52192 (search_mod_CFLAGS): Likewise.
52193
52194 * commands/ls.c (grub_ls_list_disks): Renamed to ...
52195 (grub_ls_list_devices): ... this, and use grub_device_iterate.
52196 All callers changed.
52197
52198 * DISTLIST: Added commands/search.c.
52199
52200 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52201
52202 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
52203 conversion.
52204 (grub_getcharwidth): New function.
52205
52206 * kern/misc.c (grub_utf8_to_ucs4): New function.
52207
52208 * include/grub/term.h (struct grub_term): Added a new member
52209 "getcharwidth".
52210 (grub_getcharwidth): New prototype.
52211
52212 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
52213
52214 * term/i386/pc/console.c (map_char): New function. Segregated from
52215 grub_console_putchar.
52216 (grub_console_putchar): Use map_char.
52217 (grub_console_getcharwidth): New function.
52218 (grub_console_term): Specified grub_console_getcharwidth as
52219 getcharwidth.
52220
52221 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
52222 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
52223
52224 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
52225 GRUB_ERRNO.
52226 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
52227 on grub_strtoul completely.
52228 (write_char): Declare local variables in the beginning of the
52229 function.
52230 (grub_vesafb_getcharwidth): New function.
52231 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
52232 getcharwidth.
52233
52234 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
52235
52236 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
52237 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
52238 commands/i386/pc/vbetest.c.
52239
52240 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
52241 call grub_vbe_get_controller_info again, because the returned
52242 information is volatile.
52243 (grub_vbe_set_video_mode): Mostly rewritten.
52244 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
52245 grub_vbe_status_t correctly.
52246 (grub_vbe_get_video_mode_info): Likewise.
52247 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
52248 several if statements.
52249
52250 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
52251 * commands/i386/pc/vbeinfo.c: ... this.
52252
52253 * commands/i386/pc/vbe_test.c: Renamed to ...
52254 * commands/i386/pc/vbetest.c: ... this.
52255
52256 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
52257 ...
52258 (grub_cmd_vbeinfo): ... this. Save video modes before
52259 iterating. Skip a video mode, if it is not available, not enough
52260 information is given or it is monochrome. Show the memory
52261 model. Leave the interpretation of MODEVAR to grub_strtoul
52262 completely.
52263 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
52264 (GRUB_MOD_FINI): Likewise.
52265
52266 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
52267 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
52268 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
52269 duplicated grub_env_get. Leave the interpretation of MODEVAR to
52270 grub_strtoul completely.
52271 (real2pm): Removed.
52272 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
52273 (GRUB_MOD_FINI): Likewise.
52274
52275 * normal/misc.c: Include grub/mm.h.
52276
52277 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
52278 vbe_list_modes with vbetest.mod and vbeinfo.mod.
52279 (vbe_list_modes_mod_SOURCES): Removed.
52280 (vbe_list_modes_mod_CFLAGS): Likewise.
52281 (vbe_test_mod_SOURCES): Likewise.
52282 (vbe_test_mod_CFLAGS): Likewise.
52283 (vbeinfo_mod_SOURCES): New variable.
52284 (vbeinfo_mod_CFLAGS): Likewise.
52285 (vbetest_mod_SOURCES): Likewise.
52286 (vbetest_mod_CFLAGS): Likewise.
52287
52288 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
52289
52290 * normal/misc.c: New file.
52291
52292 * DISTLIST: Added normal/misc.c.
52293
52294 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
52295 DISK to HOOK. Call HOOK with DISK.
52296 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52297 * partmap/pc.c (pc_partition_map_iterate): Likewise.
52298 * partmap/sun.c (sun_partition_map_iterate): Likewise.
52299
52300 * normal/menu_entry.c (struct screen): Added a new member
52301 "completion_shown".
52302 (completion_buffer): New global variable.
52303 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
52304 (store_completion): New function.
52305 (complete): Likewise.
52306 (clear_completions): Likewise.
52307 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
52308 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
52309 a tab, call complete.
52310
52311 * normal/completion.c (disk_dev): Removed.
52312 (print_simple_completion): Likewise.
52313 (print_partition_completion): Likewise.
52314 (print_func): New global variable.
52315 (add_completion): Do not take the arguments WHAT or PRINT any
52316 longer. Added a new argument TYPE. Instead of printing directly,
52317 call PRINT_FUNC if not NULL.
52318 All callers changed.
52319 (complete_device): Use a local variable DEV instead of
52320 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
52321 (grub_normal_do_completion): Take a new argument HOOK. Do not
52322 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
52323 empty string, return NULL instead.
52324 All callers changed.
52325
52326 * normal/cmdline.c (print_completion): New function.
52327
52328 * kern/partition.c (grub_partition_iterate): Add an argument DISK
52329 to HOOK.
52330 All callers changed.
52331
52332 * kern/disk.c (grub_print_partinfo): Removed.
52333
52334 * include/grub/partition.h (struct grub_partition_map): Add a new
52335 argument DISK into HOOK of ITERATE.
52336 (grub_partition_iterate): Add a new argument DISK to HOOK.
52337
52338 * include/grub/normal.h (enum grub_completion_type): New enum.
52339 (grub_completion_type_t): New type.
52340 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
52341 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
52342 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
52343 (GRUB_COMPLETION_TYPE_FILE): Likewise.
52344 (grub_normal_do_completion): Added a new argument HOOK.
52345 (grub_normal_print_device_info): New prototype.
52346
52347 * include/grub/disk.h (grub_print_partinfo): Removed.
52348
52349 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
52350 (normal_mod_SOURCES): Likewise.
52351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52352 (normal_mod_SOURCES): Likewise.
52353
52354 * commands/ls.c (grub_ls_list_disks): Use
52355 grub_normal_print_device_info instead of grub_print_partinfo. Free
52356 PNAME.
52357 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52358 duplicating the code.
52359
52360 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52361
52362 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
52363 follow GCS more precisely.
52364 * commands/i386/pc/vbe_test.c: Likewise.
52365 * include/grub/i386/pc/vbe.h: Likewise.
52366 * term/i386/pc/vesafb.c: Likewise.
52367 * video/i386/pc/vbe.c: Likewise.
52368
52369 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52370
52371 * DISTLIST: Added term/i386/pc/vesafb.c
52372 DISTLIST: Added video/i386/pc/vbe.c
52373 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52374 DISTLIST: Added commands/i386/pc/vbe_test.c.
52375 * commands/i386/pc/vbe_list_modes.c: New file.
52376 * commands/i386/pc/vbe_test.c: Likewise.
52377 * term/i386/pc/vesafb.c: Likewise.
52378 * video/i386/pc/vbe.c: Likewise.
52379 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52380 (grub_vbe_probe) Added prototype.
52381 (grub_vbe_set_video_mode) Likewise.
52382 (grub_vbe_get_video_mode) Likewise.
52383 (grub_vbe_get_video_mode_info) Likewise.
52384 (grub_vbe_set_pixel_rgb) Likewise.
52385 (grub_vbe_set_pixel_index) Likewise.
52386 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52387 (pkgdata_MODULES): Added vesafb.mod.
52388 (pkgdata_MODULES): Added vbe_list_modes.mod.
52389 (pkgdata_MODULES): Added vbe_test.mod.
52390 (vbe_mod_SOURCES): Added.
52391 (vbe_mod_CFLAGS): Likewise.
52392 (vesafb_mod_SOURCES): Likewise.
52393 (vesafb_mod_CFLAGS): Likewise.
52394 (vbe_list_modes_mod_SOURCES): Likewise.
52395 (vbe_list_modes_mod_CFLAGS): Likewise.
52396 (vbe_test_mod_SOURCES): Likewise.
52397 (vbe_test_mod_CFLAGS): Likewise.
52398
52399 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52400
52401 * normal/command.c (grub_command_execute): If INTERACTIVE is
52402 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52403 CMDLINE. Disable the pager if INTERACTIVE is true.
52404 All callers are changed.
52405
52406 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52407 before reading a config file.
52408 * normal/main.c (read_config_file): Even if a command is not
52409 found, register it if it is within an entry.
52410
52411 * util/grub-emu.c: Include sys/types.h and unistd.h.
52412 (options): Added --hold.
52413 (struct arguments): Added a new member "hold".
52414 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52415 missing.
52416 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52417 cleared by a debugger, if it is not zero.
52418
52419 * include/grub/normal.h (grub_command_execute): Add an argument
52420 INTERACTIVE.
52421
52422 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52423
52424 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52425
52426 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52427
52428 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52429 program with another one, because the old one didn't detect a bug
52430 in gcc-3.4. Always use regparm 2, because the new test is still
52431 not enough for gcc-4.0. Someone must investigate a simple test
52432 case which detects a bug in gcc-4.0.
52433
52434 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52435
52436 * DISTLIST: Added normal/completion.c.
52437
52438 * normal/completion.c: New file.
52439
52440 * term/i386/pc/console.c (grub_console_getwh): New function.
52441 (grub_console_term): Assign grub_console_getwh to getwh.
52442
52443 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52444 function is defined in normal/completion.c as
52445 grub_normal_do_completion.
52446 (grub_cmdline_get): Use grub_normal_do_completion instead of
52447 grub_tab_complete.
52448
52449 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52450 returns non-zero, otherwise return 0.
52451 (grub_partition_iterate): First, probe the partition map. Then,
52452 call ITERATE only for this partition map.
52453
52454 * kern/misc.c (grub_strncmp): Rewritten.
52455
52456 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52457 returns non-zero. Otherwise return 0.
52458
52459 * include/grub/partition.h (grub_partition_map_iterate): Return
52460 int instead of void.
52461
52462 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52463
52464 * include/grub/misc.h (grub_strncmp): Change the type of N to
52465 grub_size_t.
52466
52467 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52468 of void.
52469
52470 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
52471 unsigned explicitly before comparing it with I.
52472
52473 * kern/main.c (grub_env_write_root): Add the attribute unused into
52474 VAR.
52475
52476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52477 normal/completion.c.
52478 (normal_mod_SOURCES): Likewise.
52479 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52480 (normal_mod_SOURCES): Likewise.
52481
52482 * normal/command.c (grub_iterate_commands): If ITERATE returns
52483 non-zero, return one immediately.
52484
52485 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52486
52487 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52488 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52489 descriptions.
52490 (grub_vbe_get_controller_info): New function.
52491 (grub_vbe_get_mode_info): Likewise.
52492 (grub_vbe_set_mode): Likewise.
52493 (grub_vbe_get_mode): Likewise.
52494 (grub_vbe_set_memory_window): Likewise.
52495 (grub_vbe_get_memory_window): Likewise.
52496 (grub_vbe_set_scanline_length): Likewise.
52497 (grub_vbe_get_scanline_length): Likewise.
52498 (grub_vbe_set_display_start): Likewise.
52499 (grub_vbe_get_display_start): Likewise.
52500 (grub_vbe_set_palette_data): Likewise.
52501 * include/grub/i386/pc/vbe.h: New file.
52502
52503 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52504
52505 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52506 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52507 * DISTLIST: Likewise.
52508 * kern/ieee1275/of.c: Moved to ...
52509 * kern/ieee1275/ieee1275.c: ... here.
52510
52511 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52512
52513 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52514 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52515 Pass 0 as `end' parameter to grub_strtoul().
52516
52517 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52518
52519 * include/grub/powerpc/ieee1275/console.h: Do not include
52520 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52521 ifdef.
52522 (grub_console_cur_color): Remove i386-specific prototype.
52523 (grub_console_real_putchar): Likewise.
52524 (grub_console_checkkey): Likewise.
52525 (grub_console_getkey): Likewise.
52526 (grub_console_getxy): Likewise.
52527 (grub_console_gotoxy): Likewise.
52528 (grub_console_cls): Likewise.
52529 (grub_console_setcursor): Likewise.
52530 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52531 Include <grub/machine/console.h>.
52532 * term/ieee1275/ofconsole.c: Likewise.
52533
52534 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52535
52536 * Makefile.in (LIBLZO): New variable.
52537
52538 * configure.ac: Check for LZO version 2.
52539
52540 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52541 lzo/lzo1x.h instead of lzo1x.h.
52542
52543 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52544 of -llzo.
52545
52546 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52547 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52548
52549 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52550 copying the data from PARTITION to P.
52551
52552 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52553
52554 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52555 negative, unload the module.
52556
52557 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52558 map is "pc_partition_map" but not "pc".
52559 (usage): Fix the description. The options are --boot-image and
52560 --core-image but not --boot-file or --core-file.
52561 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52562 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52563 DEFAULT_DIRECTORY.
52564
52565 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52566 --core-file. Specify INSTALL_DEVICE as an argument.
52567
52568 * util/console.c: Include config.h.
52569 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52570 [HAVE_NCURSES_H]: Include ncurses.h.
52571 [HAVE_CURSES_H]: Include curses.h.
52572 [!A_NORMAL] (A_NORMAL): Defined as zero.
52573 [!A_STANDOUT] (A_STANDOUT): Likewise.
52574
52575 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52576 -lncurses.
52577 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52578
52579 * configure.ac: Check for curses libraries and headers.
52580
52581 * Makefile.in (LIBCURSES): New variable.
52582
52583 * genmk.rb (Script::rule): Set the executable bits.
52584
52585 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52586 name of the PC partition map is "pc_partition_map" but not "pc".
52587
52588 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52589
52590 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52591 (modules): Likewise.
52592 (usage): Added descriptions for --modules and --grub-probefs.
52593 Handle --modules and --grub-probefs. Save the arguments in MODULES
52594 and GRUB_PROBEFS, respectively.
52595 Auto-detect a filesystem module against GRUBDIR. If the result is
52596 empty and modules are not specified explicitly, abort the
52597 installation. Add the result to MODULES.
52598
52599 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52600 disk/powerpc/ieee1275/ofdisk.c,
52601 include/grub/powerpc/ieee1275/init.h and
52602 term/powerpc/ieee1275/ofconsole.c.
52603 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52604 term/ieee1275/ofconsole.c.
52605
52606 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52607
52608 * COPYING: Upgraded to the latest version. Only the address of the
52609 FSF office has changed.
52610
52611 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52612
52613 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52614 kern/ieee1275.c with kern/ieee1275/of.c.
52615
52616 * kern/ieee1275.c: Moved to ...
52617 * kern/ieee1275/of.c: ... here.
52618
52619 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52620
52621 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
52622 readability.
52623
52624 * config.guess: Updated to the latest version from gnulib.
52625 * config.sub: Likewise.
52626 * install.sh: Likewise.
52627 * mkinstalldirs: Likewise.
52628
52629 * include/grub/console.h: Removed. This file is arch-specific. Do
52630 not put this in include/grub.
52631
52632 * include/grub/i386/pc/console.h: Resurrected.
52633
52634 * util/console.c: Include grub/machine/console.h instead of
52635 grub/console.h.
52636 * util/grub-emu.c: Likewise.
52637
52638 2005-08-04 Marco Gerards <metgerards@student.han.nl>
52639
52640 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52641 hardcoded value.
52642
52643 From Vincent Pelletier <subdino2004@yahoo.fr>
52644 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52645 Redefined to use grub_getwh.
52646 (grub_term): New member named getwh.
52647 (grub_getwh): New prototype.
52648 * kern/term.c (grub_getwh): New function.
52649 * term/i386/pc/console.c (grub_console_getwh): New function.
52650 (grub_console_term): New member `getwh'.
52651 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52652 (grub_vga_term): New member `getwh'.
52653 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
52654 grub_ssize_t.
52655 (grub_ofconsole_getw): New function.
52656 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52657 (grub_ofconsole_term): New field named getwh and new initial
52658 value.
52659
52660 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52661
52662 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52663 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52664 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52665 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52666 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52667 of <grub/machine/ieee1275.h>.
52668 * commands/ieee1275/reboot.c: Likewise.
52669 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52670 * kern/ieee1275.c: ... to here. All users updated. Change all
52671 parameter structs to use new type `grub_ieee1275_cell_t'.
52672 * term/powerpc/ieee1275/ofconsole.c: Move ...
52673 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52674 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52675 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52676 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52677 to return int.
52678 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52679 Remove unused prototypes. All users updated.
52680 * include/grub/powerpc/ieee1275/console.h: Removed.
52681 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52682 `grub_ieee1275_cell_t'.
52683 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52684 Cast comparisons with -1 to the correct type.
52685 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52686 type to match `grub_ieee1275_entry_fn'.
52687
52688 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52689
52690 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52691
52692 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52693 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52694 partmap/sun.c.
52695 (grub_probefs_SOURCES): New variable.
52696
52697 * util/i386/pc/grub-probefs.c: New file.
52698
52699 * util/i386/pc/grub-setup.c (main): Call
52700 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52701 grub_hfs_init and grub_jfs_init to initialize the system. Call
52702 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52703 grub_pc_partition_map_fini to finish the system.
52704
52705 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52706
52707 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52708 function.
52709 (grub_multiboot_load_elf32): Likewise.
52710 (grub_multiboot_is_elf64): Likewise.
52711 (grub_multiboot_load_elf64): Likewise.
52712 (grub_multiboot_load_elf): Likewise.
52713 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52714 an ELF32 or ELF64 file.
52715 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52716
52717 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52718 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52719 NULL before calling FS->LABEL.
52720 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52721 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52722 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52723 before calling FS->LABEL.
52724
52725 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52726
52727 * util/i386/pc/grub-install.in (datadir): New variable.
52728 (libdir): Removed.
52729 (pkgdatadir): New variable.
52730 (pkglibdir): Removed.
52731
52732 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52733
52734 * DISTLIST: Added util/i386/pc/grub-install.in.
52735
52736 * util/i386/pc/grub-install.in: New file.
52737
52738 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52739 (grub_install_SOURCES): Likewise.
52740
52741 * genmk.rb: Added support for scripts.
52742 (Script): New class.
52743 (scripts): New variable.
52744
52745 * Makefile.in (install-local): Install sbin_SCRIPTS by
52746 INSTALL_SCRIPT.
52747 (uninstall): Remove sbin_SCRIPTS.
52748
52749 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52750 device, try to get a GRUB device by
52751 grub_util_biosdisk_get_grub_dev.
52752 Free DEST_DEV.
52753
52754 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52755 description for --device-map.
52756
52757 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52758
52759 Change the semantics of variable hooks. They now return strings
52760 instead of error values.
52761
52762 * util/i386/pc/grub-setup.c: Include grub/env.h.
52763 (setup): Use grub_device_set_root instead of grub_env_set.
52764
52765 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52766 grub_env_get instead of grub_device_set_root and
52767 grub_device_get_root, respectively.
52768
52769 * kern/main.c (grub_env_write_root): New function.
52770 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52771 grub_env_set instead of grub_device_set_root.
52772
52773 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52774 many variables.
52775 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52776 rather than calling ENV->WRITE_HOOK afterwards.
52777 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52778 passing a pointer of a pointer.
52779 (grub_register_variable_hook): Change the types of "read_hook" and
52780 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52781 respectively.
52782 Allocate the default empty string on the heap, because this string
52783 may be freed later.
52784
52785 * kern/device.c: Include grub/env.h.
52786 (grub_device_set_root): Removed.
52787 (grub_device_get_root): Likewise.
52788 (grub_device_open): Use grub_env_get instead of
52789 grub_device_get_root.
52790
52791 * include/grub/env.h (grub_env_read_hook_t): New type.
52792 (grub_env_write_hook_t): Likewise.
52793 (grub_env_var): Change the types of "read_hook" and "write_hook"
52794 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52795 (grub_register_variable_hook): Likewise.
52796
52797 * include/grub/device.h (grub_device_set_root): Removed.
52798 (grub_device_set_root): Likewise.
52799
52800 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52801 make sure that DIRNAME terminates with '/', so that
52802 grub_fat_find_dir will fail if PATH is not a directory.
52803
52804 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52805 from DIRNAME.
52806 Use the qualifier auto for print_files and print_files_long.
52807 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52808 as a regular file.
52809 Put a newline only if there is no error.
52810 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52811 used.
52812
52813 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52814
52815 * kern/partition.c (grub_partition_probe): Initialize PART to
52816 NULL. Otherwise, when no partition map is registered, this returns
52817 a garbage.
52818
52819 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52820
52821 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52822 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52823 valid.
52824
52825 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52826
52827 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52828 information on each device, if it does not have partitions. Print
52829 "Device" instead of "Disk", because this function is not specific
52830 to disk devices.
52831
52832 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52833 static to ensure that it is put on the memory rather than a
52834 register.
52835
52836 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52837
52838 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52839 (grub_cat_init): Likewise.
52840 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52841 (options): Likewise.
52842 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52843 (grub_configfile_init): Likewise.
52844 * font/manager.c (GRUB_MOD_INIT): Likewise.
52845 * commands/help.c (GRUB_MOD_INIT): Likewise.
52846 (grub_help_init): Likewise.
52847 * normal/command.c (grub_command_init): Likewise.
52848 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52849 * disk/loopback.c (grub_loop_init): Likewise.
52850 (GRUB_MOD_INIT): Likewise.
52851 * commands/ls.c (grub_ls_init): Likewise.
52852 (GRUB_MOD_INIT): Likewise.
52853 (options): Likewise.
52854 * commands/boot.c (grub_boot_init): Likewise.
52855 (GRUB_MOD_INIT): Likewise.
52856 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52857 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52858 (GRUB_MOD_INIT): Likewise.
52859 * commands/cmp.c (grub_cmp_init): Likewise.
52860 (GRUB_MOD_INIT): Likewise.
52861
52862 * normal/arg.c: Use <> instead of "" to include header files.
52863 (SHORT_ARG_HELP): New macro.
52864 (SHORT_ARG_USAGE): Likewise.
52865 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52866 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52867 descriptions.
52868 (find_short): Check if C is 'h' or 'u' explicitly.
52869 (grub_arg_show_help): Use space characters instead of tabs. Treat
52870 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52871 are shown with --help and --usage only if they are not used for
52872 the command itself.
52873 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52874 'h' and 'u'.
52875
52876 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52877 const into "longarg". Change the type of "shortarg" to int.
52878
52879 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52880
52881 * boot/i386/pc/boot.S (boot_drive_check): New label.
52882
52883 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52884 macro.
52885
52886 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52887 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52888
52889 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52890
52891 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52892 When turning off Gate A20, skip the check and return immediately,
52893 because this is not fatal usually.
52894
52895 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52896
52897 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52898 be 0x7C00 instead of 0x8000.
52899
52900 * boot/i386/pc/pxeboot.S: Rewritten.
52901
52902 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52903 EXT_C.
52904 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52905 result.
52906
52907 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52908
52909 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52910 robustness. This routine now supports a BIOS call and System
52911 Control Port A to modify the gate A20.
52912
52913 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52914 Increased to 0x440.
52915
52916 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52917
52918 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52919 device path and resulting ihandle.
52920 (grub_ofdisk_close): dprintf the ihandle being closed.
52921 (grub_ofdisk_read): dprintf function parameters.
52922 * kern/mm.c (grub_mm_init_region): Likewise.
52923 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52924 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52925 size, and boot arguments.
52926 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52927 before loading into memory.
52928 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52929 before loading into memory.
52930
52931 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52932
52933 * kern/mm.c: Added much documentation.
52934 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52935 8, set to 5 instead of 8.
52936
52937 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52938
52939 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52940
52941 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52942 (grub_mkdevicemap_SOURCES): New variable.
52943
52944 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52945 lib/device.c of GRUB Legacy.
52946
52947 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52948
52949 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52950 instead of PATH is NULL.
52951
52952 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52953
52954 * commands/cmp.c (BUFFER_SIZE): New macro.
52955 (grub_cmd_cmp): Close the right file at the right time. Compare
52956 only data just read. Don't report files of different size as
52957 identical. Dynamically allocate buffers. Move variable
52958 declarations at the beginning of function.
52959
52960 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
52961
52962 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52963 reverse.
52964
52965 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52966
52967 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52968 when backspace is pressed at beginning of line.
52969
52970 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
52971
52972 * DISTLIST: Added genfslist.sh.
52973
52974 * normal/main.c (fs_module_list): New variable.
52975 (autoload_fs_module): New function.
52976 (read_fs_list): Likewise.
52977 (grub_normal_execute): Call read_fs_list.
52978
52979 * kern/fs.c (grub_fs_autoload_hook): New variable.
52980 (grub_fs_probe): Added support for auto-loading.
52981
52982 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52983 (grub_fs_module_list_t): New type.
52984
52985 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52986 (grub_fs_autoload_hook): New prototype.
52987
52988 * genfslist.sh: New file.
52989
52990 * genmk.rb: Added a rule to generate a filesystem list.
52991
52992 2005-06-30 Marco Gerards <metgerards@student.han.nl>
52993
52994 * configure.ac: Fix the test for cross-compiling.
52995
52996 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52997 define GRUB_UTIL anymore.
52998
52999 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
53000 so this function works on other systems than just big endian.
53001 (load_modules): Likewise.
53002 (add_segments): Likewise.
53003
53004 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
53005
53006 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
53007 contains `l' modifier, get a long from va_arg().
53008
53009 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
53010
53011 * kern/mm.c (grub_free): If the next free block which is being
53012 merged is the first free block, set the first block to the block
53013 being freed.
53014 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
53015
53016 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
53017
53018 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
53019 `grub_ieee1275_chosen'.
53020
53021 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
53022
53023 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
53024 (grub_ieee1275_chosen): New variable.
53025 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
53026 `chosen'.
53027 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
53028 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53029 Rename first argument to `phandle' for consistency.
53030 (grub_ieee1275_get_property_length): Likewise.
53031 (grub_ieee1275_next_property): Likewise. Change type of first argument
53032 to grub_ieee1275_phandle_t.
53033 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
53034 Move export next to declaration.
53035 (grub_ieee1275_chosen): New variable.
53036 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
53037 Correct cosmetic typo.
53038 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
53039 `grub_ieee1275_chosen'.
53040 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
53041 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
53042 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
53043 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
53044 `grub_ieee1275_chosen'.
53045
53046 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
53047
53048 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
53049 /chosen/bootargs.
53050 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
53051 /chosen/bootargs as "variable=value" pairs.
53052
53053 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
53054
53055 * include/grub/misc.h (grub_dprintf): New macro.
53056 (grub_real_dprintf): New prototype.
53057 (grub_strword): Likewise.
53058 (grub_iswordseparator): Likewise.
53059 * kern/misc.c (grub_real_dprintf): New function.
53060 (grub_strword): Likewise.
53061 (grub_iswordseparator): Likewise.
53062
53063 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
53064
53065 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
53066 (roundup): Remove macro.
53067 (grub_ieee1275_flags): Make static.
53068 (grub_ieee1275_realmode): Remove.
53069 (grub_ieee1275_test_flag): New function.
53070 (grub_ieee1275_set_flag): Likewise.
53071 (find_options): Rename to `grub_ieee1275_find_options'; update
53072 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
53073 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
53074 (cmain): New prototype.
53075 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
53076 `grub_ieee1275_flags' directly.
53077 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
53078 machine/biosdisk.h.
53079 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
53080 Don't include grub/machine/init.h.
53081 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
53082 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53083 Remove prototype.
53084 (grub_ieee1275_realmode): Likewise.
53085 (grub_ieee1275_flag): New enum.
53086 (grub_ieee1275_test_flag): New prototype.
53087 (grub_ieee1275_set_flag): New prototype.
53088 * include/grub/powerpc/ieee1275/init.h: Remove file.
53089 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
53090 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
53091 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
53092 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
53093 comment.
53094 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
53095 `grub_ieee1275_test_flag'.
53096 (grub_ieee1275_encode_devname): Likewise.
53097
53098 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
53099
53100 * include/grub/powerpc/ieee1275/ieee1275.h
53101 (grub_ieee1275_encode_devname): New prototype.
53102 (grub_ieee1275_get_filename): Likewise.
53103 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
53104 function.
53105 (grub_set_prefix): Likewise.
53106 (grub_machine_init): Call grub_set_prefix.
53107 * kern/powerpc/ieee1275/openfw.c: Fix typos.
53108 (grub_parse_type): New enum.
53109 (grub_ieee1275_get_devargs): New function.
53110 (grub_ieee1275_get_devname): Likewise.
53111 (grub_ieee1275_parse_args): Likewise.
53112 (grub_ieee1275_get_filename): Likewise.
53113 (grub_ieee1275_encode_devname): Likewise.
53114
53115 2005-03-30 Marco Gerards <metgerards@student.han.nl>
53116
53117 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
53118 `grub_loader_unset'.
53119
53120 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
53121
53122 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
53123 instead of grub_ieee1275_interpret.
53124 (grub_halt_init): New function.
53125 (grub_halt_fini): Likewise.
53126 (GRUB_MOD_INIT): Correct message grammar.
53127 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
53128 instead of grub_ieee1275_interpret.
53129 (grub_reboot_init): New function.
53130 (grub_reboot_fini): Likewise.
53131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
53132 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
53133 util/i386/pc/misc.c with commands/ieee1275/halt.c,
53134 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
53135 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
53136 function.
53137 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
53138 Add prototype.
53139 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
53140 prototype.
53141 (grub_halt): Likewise.
53142 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
53143 (cmain): Remove __attribute__((unused)).
53144 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
53145 (grub_heap_len): Likewise.
53146 (grub_machine_fini): New function.
53147 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
53148 (grub_halt): Likewise.
53149 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
53150 function.
53151 * util/powerpc/ieee1275/misc.c: New file.
53152
53153 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
53154
53155 * DISTLIST: New file.
53156 * gendistlist.sh: Likewise.
53157
53158 * Makefile.in (COMMON_DISTFILES): Removed.
53159 (BOOT_DISTFILES): Likewise.
53160 (CONF_DISTFILES): Likewise.
53161 (DISK_DISTFILES): Likewise.
53162 (FS_DISTFILES): Likewise.
53163 (INCLUDE_DISTFILES): Likewise.
53164 (KERN_DISTFILES): Likewise.
53165 (LOADER_DISTFILES): Likewise.
53166 (TERM_DISTFILES): Likewise.
53167 (UTIL_DISTFILES): Likewise.
53168 (DISTFILES): Likewise.
53169 (uninstall): Uninstall files in $(pkgdata_DATA).
53170 (DISTLIST): New target.
53171 (distdir): Use the contents of the file DISTLIST to get a list of
53172 distributed files.
53173
53174 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
53175
53176 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
53177 descriptor. This is ported from GRUB Legacy.
53178
53179 * gencmdlist.sh: Added an extra semicolon to make it work with
53180 old sed versions. Reported by Robert Bihlmeyer
53181 <robbe@orcus.priv.at>.
53182
53183 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
53184
53185 Automatic loading of commands is supported.
53186
53187 * normal/main.c (read_command_list): New function.
53188 (grub_normal_execute): Call read_command_list.
53189
53190 * normal/command.c (grub_register_command): Return zero or CMD.
53191 Allocate CMD->NAME from the heap.
53192 Initialize CMD->MODULE_NAME to zero.
53193 Find the same name as well. If the same command is found and it is
53194 a dummy command, overwrite members. If it is not a dummy command,
53195 return zero.
53196 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
53197 (grub_command_find): If a dummy command is found, load a module
53198 and retry to find a command only once.
53199
53200 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
53201 make sure that each command is loaded.
53202
53203 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
53204 macro.
53205 (struct grub_command): Remove const from the member `name'.
53206 Add a new member `module_name'.
53207 (grub_register_command): Return grub_command_t.
53208
53209 * commands/help.c (grub_cmd_help): Call grub_command_find to make
53210 sure that each command is loaded.
53211
53212 * genmk.rb (PModule::rule): Specify a module name without the
53213 suffix ".mod" to gencmdlist.sh.
53214
53215 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53216
53217 * gencmdlist.sh: New file.
53218
53219 * genmk.rb (PModule::rule): Generate a rule for a command list.
53220 Clean command.lst.
53221 Generate command.lst from $(COMMANDFILES).
53222
53223 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
53224 (DATA): Added $(pkgdata_DATA).
53225 (install-local): Install files in $(pkgdata_DATA).
53226
53227 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53228
53229 * term/i386/pc/vga.c (debug_command): Removed.
53230 (GRUB_MOD_INIT): Do not register the command "debug".
53231
53232 From Hollis Blanchard:
53233 * commands/configfile.c: New file.
53234 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53235 commands/configfile.c.
53236 (pkgdata_MODULES): Added configfile.mod.
53237 (configfile_mod_SOURCES): New variable.
53238 (configfile_mod_CFLAGS): Likewise.
53239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
53240 commands/configfile.c.
53241 (pkgdata_MODULES): Added configfile.mod.
53242 (configfile_mod_SOURCES): New variable.
53243 (configfile_mod_CFLAGS): Likewise.
53244 * util/grub-emu.c (main): Call grub_configfile_init and
53245 grub_configfile_fini.
53246 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
53247 prototype.
53248 [GRUB_UTIL] (grub_configfile_fini): Likewise.
53249
53250 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53251
53252 * normal/arg.c (grub_arg_show_help): Do not show the bug report
53253 address.
53254
53255 * commands/help.c (grub_cmd_help): Do not print newlines after
53256 the last command in print_command_help.
53257
53258 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53259
53260 * commands/default.h: New file.
53261 * commands/timeout.h: Likewise.
53262 * normal/context.c: Likewise.
53263
53264 * util/misc.c: Do not include sys/times.h.
53265 Include sys/time.h and grub/machine/time.h.
53266 (grub_get_rtc): Rewritten with gettimeofday.
53267
53268 * util/grub-emu.c (main): Call grub_default_init and
53269 grub_timeout_init before grub_normal_init, and call
53270 grub_timeout_fini and grub_default_fini after grub_main.
53271
53272 * util/console.c (grub_ncurses_checkkey): Return the read
53273 character or -1.
53274
53275 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
53276 timeouts.
53277
53278 * normal/main.c (read_config_file): Push MENU. If this fails,
53279 print an error and wait for a user input.
53280 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
53281 If a menu is empty or an error occurs, pop MENU.
53282 (grub_normal_execute): Pop and free MENU after grub_menu_run
53283 returns.
53284
53285 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
53286
53287 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
53288 include time.h.
53289 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53290 without GRUB_UTIL.
53291 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
53292 time.h.
53293 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53294 without GRUB_UTIL.
53295
53296 * include/grub/normal.h (struct grub_menu_list): New struct.
53297 (grub_menu_list_t): New type.
53298 (struct grub_context): New struct.
53299 (grub_context_t): New type.
53300 (grub_register_command): Got rid of EXPORT_FUNC.
53301 (grub_unregister_command): Likewise.
53302 (grub_context_get): New prototype.
53303 (grub_context_get_current_menu): Likewise.
53304 (grub_context_push_menu): Likewise.
53305 (grub_context_pop_menu): Likewise.
53306 [GRUB_UTIL] (grub_default_init): Likewise.
53307 [GRUB_UTIL] (grub_default_fini): Likewise.
53308 [GRUB_UTIL] (grub_timeout_init): Likewise.
53309 [GRUB_UTIL] (grub_timeout_fini): Likewise.
53310
53311 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
53312 commands/timeout.c and normal/context.c.
53313 (pkgdata_MODULES): Added default.mod and timeout.mod.
53314 (normal_mod_SOURCES): Added normal/context.c.
53315 (default_mod_SOURCES): New variable.
53316 (default_mod_CFLAGS): Likewise.
53317 (timeout_mod_SOURCES): Likewise.
53318 (timeout_mod_CFLAGS): Likewise.
53319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
53320 conf/i386-pc.rmk.
53321 (pkgdata_MODULES): Added default.mod and timeout.mod.
53322 (normal_mod_SOURCES): Added normal/context.c.
53323 (default_mod_SOURCES): New variable.
53324 (default_mod_CFLAGS): Likewise.
53325 (timeout_mod_SOURCES): Likewise.
53326 (timeout_mod_CFLAGS): Likewise.
53327
53328 * Makefile.in (all-local): Added $(MKFILES).
53329
53330 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
53331
53332 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
53333 (grub_emu_SOURCES): Likewise.
53334 (pkgdata_MODULES): Add `sun.mod'.
53335 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53337 `partmap/sun.c'.
53338 (pkgdata_MODULES): Add `sun.mod'.
53339 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53340 * include/grub/partition.h (grub_sun_partition_map_init): New
53341 prototype.
53342 (grub_sun_partition_map_fini): Likewise.
53343 * partmap/sun.c: New file.
53344 * util/grub-emu.c (main): Initialize and de-initialize the sun
53345 partitionmap support.
53346
53347 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
53348
53349 This implements an Emacs-like menu entry editor.
53350
53351 * normal/menu_entry.c: New file.
53352
53353 * util/console.c (grub_ncurses_putchar): Translate some Unicode
53354 characters to ASCII.
53355 (saved_char): New variable.
53356 (grub_ncurses_checkkey): Rewritten completely.
53357 (grub_ncurses_getkey): Likewise.
53358 (grub_ncurses_init): Call raw instead of cbreak.
53359
53360 * normal/menu.c (print_entry): Do not put a space.
53361 (init_page): Renamed to ...
53362 (grub_menu_init_page): ... this. All callers changed.
53363 (edit_menu_entry): Removed.
53364 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53365
53366 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53367
53368 * kern/misc.c (grub_vprintf): Call grub_refresh.
53369
53370 * normal/menu.c (DISP_LEFT): Renamed to ...
53371 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53372 * normal/menu.c (DISP_UP): Renamed to ...
53373 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53374 * normal/menu.c (DISP_RIGHT): Renamed to ...
53375 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53376 * normal/menu.c (DISP_DOWN): Renamed to ...
53377 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53378 * normal/menu.c (DISP_HLINE): Renamed to ...
53379 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53380 * normal/menu.c (DISP_VLINE): Renamed to ...
53381 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53382 * normal/menu.c (DISP_UL): Renamed to ...
53383 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53384 * normal/menu.c (DISP_UR): Renamed to ...
53385 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53386 * normal/menu.c (DISP_LL): Renamed to ...
53387 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53388 * normal/menu.c (DISP_LR): Renamed to ...
53389 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53390 * normal/menu.c (TERM_WIDTH): Renamed to ...
53391 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53392 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53393 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53394 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53395 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53396 * normal/menu.c (TERM_MARGIN): Renamed to ...
53397 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53398 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53399 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53400 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53401 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53402 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53403 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53404 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53405 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53406 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53407 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53408 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53409 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53410 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53411 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53412 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53413 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53414 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53415 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53416 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53417 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53418 All callers changed.
53419
53420 * include/grub/normal.h: New prototype.
53421
53422 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53423 normal/menu_entry.c.
53424 (normal_mod_SOURCES): Likewise.
53425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53426 (normal_mod_SOURCES): Likewise.
53427
53428 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53429
53430 * include/grub/normal.h (grub_halt_init): New prototype.
53431 (grub_halt_fini): Likewise.
53432 (grub_reboot_init): Likewise.
53433 (grub_reboot_fini): Likewise.
53434
53435 * util/grub-emu.c: Include signal.h.
53436 (main_env): New global variable.
53437 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53438 catch C-c.
53439 (grub_machine_fini): New function.
53440 (main): Call grub_halt_init and grub_reboot_init before
53441 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53442 Call setjmp with MAIN_ENV to go back afterwards.
53443 Call grub_machine_fini right before return.
53444
53445 * include/grub/util/misc.h: Include setjmp.h.
53446 (main_env): New prototype.
53447
53448 * include/grub/kernel.h (grub_machine_fini): New prototype.
53449 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53450 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53451
53452 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53453 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53454 * term/i386/pc/console.c (grub_console_fini): Likewise.
53455
53456 * util/i386/pc/misc.c: New file.
53457
53458 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53459 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53460 commands/i386/pc/reboot.c.
53461
53462 2005-02-14 Guillem Jover <guillem@hadrons.org>
53463
53464 * include/grub/dl.h (grub_dl_check_header): New prototype.
53465 (grub_arch_dl_check_header): Change return type to grub_err_t,
53466 remove size parameter and export function. Update all callers.
53467 * kern/dl.c (grub_dl_check_header): New function.
53468 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53469 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53470 are inside the core.
53471 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53472 independent ELF header checks.
53473 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53474 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53475 `grub_dl_check_header' instead of explicit checks. Check for the
53476 ELF type.
53477 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53478 `grub_dl_check_header' instead of explicit checks. Remove arch
53479 specific ELF header checks.
53480
53481 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53482 argument SIZE.
53483
53484 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53485
53486 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53487 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53488
53489 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53490
53491 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
53492 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
53493 (part_map_iterate): Clear `grub_errno' and return 0 if
53494 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
53495 * partmap/amiga.c (amiga_partition_map_iterate): Return
53496 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53497 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53498
53499 2005-02-01 Guillem Jover <guillem@hadrons.org>
53500
53501 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53502 help info.
53503
53504 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53505
53506 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53507 Removed prototype.
53508 (grub_rescue_cmd_linux): New prototype.
53509 (grub_rescue_cmd_initrd): Likewise.
53510 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53511 `bi_rec'.
53512 (grub_linux_release_mem): Release the memory for the initrd.
53513 (grub_load_linux): Renamed from this...
53514 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53515 Changed `entry' not to be static. Loop over memory regions to
53516 find another one when the default fails.
53517 (grub_rescue_cmd_initrd): New function.
53518 (grub_linux_init): Remove function.
53519 (grub_linux_fini): Likewise.
53520 (GRUB_MOD_INIT): Register `initrd'.
53521 (GRUB_MOD_FINI): Unregister `initrd'.
53522 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53523 Function removed.
53524 (grub_linux_normal_fini): Likewise.
53525 (GRUB_MOD_INIT): Register `initrd'.
53526 (GRUB_MOD_FINI): Unregister `initrd'.
53527
53528 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53529
53530 * commands/help.c: New file.
53531 * normal/arg.c (show_help): Renamed to...
53532 (grub_arg_show_help): ... this.
53533 * commands/i386/pc/halt.c: New file.
53534 * commands/i386/pc/reboot.c: Likewise.
53535 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53536 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53537 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53538 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53539 variables.
53540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53541 `commands/help.c'.
53542 (pkgdata_MODULES): Add `help.mod'.
53543 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53544 * grub/i386/pc/init.h (grub_reboot): New prototype.
53545 (grub_halt): Likewise.
53546 * include/grub/normal.h (grub_arg_show_help): New prototype.
53547 (grub_help_init): Likewise.
53548 (grub_help_fini): Likewise.
53549 * util/grub-emu.c (main): Initialize and deinitialize the help
53550 command.
53551
53552 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53553
53554 * normal/command.c (grub_command_init): Fixed the description of
53555 the `set' and `unset' commands.
53556
53557 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53558
53559 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53560 function.
53561 * commands/ieee1275/halt.c: New file.
53562 * commands/ieee1275/reboot.c: Likewise.
53563 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53564 `__attribute__ ((unused))'. Some GCS related fixed.
53565 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53566 (grub_suspend_fini): Likewise.
53567 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53568 and `halt.mod'.
53569 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53570 (halt_mod_CFLAGS): New variables.
53571 * include/grub/powerpc/ieee1275/ieee1275.h
53572 (grub_ieee1275_interpret): New prototype.
53573
53574 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53575
53576 * include/grub/misc.h (memmove): New prototype.
53577 (memcpy): Likewise.
53578
53579 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53580
53581 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53582 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53583
53584 2005-01-22 Marco Gerards <metgerards@student.han.nl>
53585
53586 * kern/misc.c (grub_strndup): Function rewritten.
53587
53588 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53589
53590 * normal/menu.c (TERM_WIDTH): Macro redefined.
53591 (TERM_TOP_BORDER_Y): Likewise.
53592 (draw_border): Replaced while-loop by a for-loop. Make the number
53593 of lines consistent with the number of lines displayed in
53594 print_entries. Added a margin below the rectangle.
53595 (print_entry): Make the entry fit in the rectangle.
53596 (print_entries): Display the scroll arrows next to the right
53597 border.
53598
53599 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53600
53601 * fs/minix.c (grub_minix_find_file): Reserve more space for
53602 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53603 `grub_strncpy' to copy `path' into it.
53604
53605 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53606
53607 Add the loopback device, a device via which files can be accessed
53608 as devices.
53609
53610 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53611 (pkgdata_MODULES): Add loopback.mod.
53612 (loopback_mod_SOURCES): New variable.
53613 (loopback_mod_CFLAGS): Likewise.
53614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53615 `disk/loopback.c'.
53616 (pkgdata_MODULES): Add loopback.mod.
53617 (loopback_mod_SOURCES): New variable.
53618 (loopback_mod_CFLAGS): Likewise.
53619 * disk/loopback.c: new file.
53620 * include/grub/normal.h (grub_loop_init): New prototype.
53621 (grub_loop_fini): New prototype.
53622 * util/grub-emu.c (main): Initialize and de-initialize loopback
53623 support.
53624 * include/grub/disk.h (grub_disk_dev_id): Add
53625 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53626
53627 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53628
53629 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53630 function.
53631 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53632 (suspend_mod_SOURCES): New variable.
53633 (suspend_mod_CFLAGS): Likewise.
53634 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53635 New prototype.
53636 * commands/ieee1275/suspend.c: New file.
53637
53638 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53639
53640 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
53641 ((unused))' to `__attribute__ ((used))'.
53642 (GRUB_MOD_FINI): Likewise.
53643 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53644 * genmk.rb (PModule): Assign space to common symbols when linking
53645 modules.
53646
53647 2005-01-20 Marco Gerards <metgerards@student.han.nl>
53648
53649 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53650 `unsigned' arguments to `grub_size_t'.
53651 (grub_malloc): Likewise.
53652 (grub_realloc): Likewise.
53653 (grub_memalign): Likewise.
53654 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53655 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53656 * util/misc.c (grub_malloc): Likewise.
53657 (grub_realloc): Likewise.
53658 * kern/mm.c (get_header_from_pointer): Change the casts to
53659 `unsigned' into a cast to `grub_size_t'.
53660
53661 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53662 point to `currnode' when `currnode' is changed.
53663
53664 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53665 Schottelius <nico-linux@schottelius.org>.
53666
53667 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53668
53669 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53670 (note_path): Remove variable.
53671 (GRUB_IEEE1275_NOTE_NAME): New macro.
53672 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53673 (grub_ieee1275_note_hdr): New structure.
53674 (grub_ieee1275_note_desc): Likewise.
53675 (grub_ieee1275_note): Likewise.
53676 (load_note): Remove `dir' argument. All callers updated. Remove
53677 `note_img' and `path'. Do not load a file from `note_path'.
53678 Initialize a struct grub_ieee1275_note and write that to `out'.
53679 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53680
53681 2005-01-05 Marco Gerards <metgerards@student.han.nl>
53682
53683 * util/misc.c (grub_util_read_image): Revert last change. It
53684 called `grub_util_read_at', which seeks from the beginning of the
53685 file.
53686
53687 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53688
53689 * TODO: Add note about endianness in grub-mkimage.
53690 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53691 section.
53692 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53693 (grub_mkimage_SOURCES): New target.
53694 * include/grub/kernel.h (grub_start_addr): Remove variable.
53695 (grub_end_addr): Likewise.
53696 (grub_total_module_size): Likewise.
53697 (grub_kernel_image_size): Likewise.
53698 (GRUB_MODULE_MAGIC): New constant.
53699 (grub_module_info): New structure.
53700 (grub_arch_modules_addr): New prototype.
53701 (grub_get_end_addr): Remove prototype.
53702 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53703 * include/grub/powerpc/ieee1275/kernel.h: New file.
53704 * include/grub/util/misc.h (grub_util_get_fp_size): New
53705 prototype.
53706 (grub_util_read_at): Likewise.
53707 (grub_util_write_image_at): Likewise.
53708 * kern/main.c (grub_get_end_addr): Remove function.
53709 (grub_load_modules): Call grub_arch_modules_addr instead of using
53710 grub_end_addr. Look for a grub_module_info struct in memory. Use
53711 the grub_module_info fields instead of calling grub_get_end_addr
53712 as loop conditions. Move grub_add_unused_region code here.
53713 (grub_add_unused_region): Remove function.
53714 * kern/i386/pc/init.c: Include grub/cache.h.
53715 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53716 one call to add_mem_region.
53717 (grub_arch_modules_addr): New function.
53718 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53719 (grub_total_module_size): Likewise.
53720 Include grub/machine/kernel.h.
53721 (grub_arch_modules_addr): New function.
53722 * util/grub-emu.c (grub_end_addr): Remove variable.
53723 (grub_total_module_size): Likewise.
53724 (grub_arch_modules_addr): New function.
53725 * util/misc.c: Include unistd.h.
53726 (grub_util_get_fp_size): New function.
53727 (grub_util_read_at): Likewise.
53728 (grub_util_write_image_at): Likewise.
53729 (grub_util_read_image): Call grub_util_read_at.
53730 (grub_util_write_image): Call grub_util_write_image_at.
53731 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53732 additional memory in kernel_img for a struct grub_module_info.
53733 Fill in that grub_module_info.
53734 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53735
53736 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53737
53738 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53739 New function.
53740 * include/grub/powerpc/ieee1275/ieee1275.h
53741 (grub_ieee1275_milliseconds): New prototype.
53742 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53743 Change to 1000.
53744 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53745 grub_ieee1275_milliseconds.
53746
53747 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53748
53749 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53750 variable.
53751 (find_options): New function.
53752 (cmain): Call find_options.
53753 * include/grub/powerpc/ieee1275/ieee1275.h
53754 (grub_ieee1275_realmode): New extern variable.
53755 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53756 grub_map if grub_ieee1275_realmode is false.
53757
53758 2004-12-29 Marco Gerards <metgerards@student.han.nl>
53759
53760 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53761 lines are inserted and make it work like readline. Reported by
53762 Vincent Pelletier <subdino2004@yahoo.fr>.
53763
53764 2004-12-28 Marco Gerards <metgerards@student.han.nl>
53765
53766 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53767
53768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53769 `kern/powerpc/cache.S'.
53770
53771 2004-12-27 Marco Gerards <metgerards@student.han.nl>
53772
53773 * genmk.rb: Handle the `Program' class in the main loop. Written
53774 by Johan Rydberg <jrydberg@gnu.org>.
53775 (Program): New class.
53776 (programs): New variable.
53777 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53778 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53779 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53780 (help_arch): Function removed.
53781 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53782 `powerpc/libgcc.h' and `loader.h'.
53783 (pkgdata_PROGRAMS): New variable.
53784 (sbin_UTILITIES): Variable removed.
53785 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53786 (grubof_SOURCES): Variable re-defined so it only includes the
53787 core functionality.
53788 (grubof_CFLAGS): Remove `-DGRUBOF'.
53789 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53790 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53791 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53792 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53793 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53794 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53795 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53796 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53797 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53798 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53799 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53800 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53801 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53802 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53803 (pc_mod_CFLAGS): New variables.
53804 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53805 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53806 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53807 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53808 Moved from here...
53809 * include/grub/i386/pc/init.h (grub_os_area_addr)
53810 (rub_os_area_size): ... to here.
53811 * include/grub/powerpc/ieee1275/ieee1275.h
53812 (grub_ieee1275_entry_fn): Export symbol.
53813 * include/grub/powerpc/ieee1275/init.h: New file.
53814 * include/grub/powerpc/libgcc.h: Likewise.
53815 * include/grub/cache.h: Likewise.
53816 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53817 <hollis@penguinppc.org>.
53818 * kern/dl.c: Include <grub/cache.h>.
53819 (grub_dl_flush_cache): New function.
53820 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53821 for this module.
53822 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53823 (grub_console_init): Removed prototypes.
53824 (grub_machine_init): Don't initialize the modules anymore.
53825 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53826 static.
53827 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53828 Macro undef removed.
53829 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53830 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53831 relocation `R_PPC_REL32'. Return an error when the relocation is
53832 unknown.
53833 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53834 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53835 * util/misc.c (grub_arch_sync_caches): Likewise.
53836
53837 2004-12-19 Marco Gerards <metgerards@student.han.nl>
53838
53839 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53840 `symlist.c', add `grubof_symlist.c'.
53841 (symlist.c): Variable removed.
53842 (grubof_HEADERS): Variable added.
53843 (grubof_symlist.c): New target.
53844 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53845 `kernel_img_HEADERS'.
53846 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53847 * kern/powerpc/dl.c: New file.
53848 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53849 Function removed.
53850 (grub_arch_dl_relocate_symbols): Likewise.
53851 (grub_register_exported_symbols): Likewise.
53852
53853 2004-12-13 Marco Gerards <metgerards@student.han.nl>
53854
53855 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53856 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53857 to fail instead. Reported by Vincent Pelletier
53858 <subdino2004@yahoo.fr>.
53859
53860 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53861 it is not allocated. Reported by Vincent Pelletier
53862 <subdino2004@yahoo.fr>.
53863
53864 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53865 output so the output looks better.
53866
53867 2004-12-04 Marco Gerards <metgerards@student.han.nl>
53868
53869 Modulize the partition map support and add support for the amiga
53870 partition map.
53871
53872 * commands/ls.c: Include <grub/partition.h> instead of
53873 <grub/machine/partition.h>.
53874 * kern/disk.c: Likewise.
53875 * kern/rescue.c: Likewise.
53876 * loader/i386/pc/chainloader.c: Likewise.
53877 * normal/cmdline.c: Likewise.
53878 * kern/powerpc/ieee1275/init.c: Likewise.
53879 (grub_machine_init): Call `grub_pc_partition_map_init',
53880 `grub_amiga_partition_map_init' and
53881 `grub_apple_partition_map_init'.
53882 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53883 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53884 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53885 `partition.h' and `pc_partition.h'.
53886 (grub_setup_SOURCES): Remove
53887 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53888 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53889 (grub_emu_SOURCES): Likewise.
53890 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53891 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53892 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53894 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53895 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53896 (grubof_SOURCES): Likewise.
53897 * disk/i386/pc/partition.c: File removed.
53898 * disk/powerpc/ieee1275/partition.c: Likewise.
53899 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53900 * include/grub/i386/pc/partition.h: Likewise.
53901 * kern/partition.c: New file.
53902 * partmap/amiga.c: Likewise.
53903 * partmap/apple.c: Likewise.
53904 * partmap/pc.c: Likewise.
53905 * include/grub/partition.h: Likewise..
53906 * include/grub/pc_partition.h: Likewise.
53907 * util/grub-emu.c: Include <grub/partition.h> instead of
53908 <grub/machine/partition.h>.
53909 (main): Call `grub_pc_partition_map_init',
53910 `grub_amiga_partition_map_init' and
53911 `grub_apple_partition_map_init' and deinitialize afterwards.
53912 * util/i386/pc/biosdisk.c: Include `#include
53913 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53914 `<grub/machine/partition.h>'.
53915 * util/i386/pc/grub-setup.c: Likewise.
53916 * util/i386/pc/biosdisk.c: Likewise.
53917 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53918 partition information in case of a PC partition.
53919 * util/i386/pc/grub-setup.c: Include `#include
53920 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53921 `<grub/machine/partition.h>'.
53922 (setup): Only access the PC specific partition information in case
53923 of a PC partition.
53924
53925 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
53926
53927 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53928 (grub_longjmp): Likewise.
53929 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53930 20.
53931 * normal/powerpc/setjmp.S: New file.
53932 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53933 `normal/powerpc/setjmp.S'.
53934 (grubof_CFLAGS): Add `-DGRUBOF'.
53935 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53936 [GRUB_UTIL && !GRUBOF].
53937
53938 2004-11-16 Marco Gerards <metgerards@student.han.nl>
53939
53940 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53941 property named `name'. Correctly handle the error returned by
53942 `grub_ieee1275_finddevice' if a device can not be opened.
53943
53944 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53945
53946 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53947 `actual' for negativity.
53948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53949 kern/fshelp.c.
53950
53951 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53952
53953 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53954 (PAGE_OFFSET): New macro.
53955 (CRTC_ADDR_PORT): Likewise.
53956 (CRTC_DATA_PORT): Likewise.
53957 (START_ADDR_HIGH_REGISTER): Likewise.
53958 (START_ADDR_LOW_REGISTER): Likewise.
53959 (GRAPHICS_ADDR_PORT): Likewise.
53960 (GRAPHICS_DATA_PORT): Likewise.
53961 (READ_MAP_REGISTER): Likewise.
53962 (INPUT_STATUS1_REGISTER): Likewise.
53963 (INPUT_STATUS1_VERTR_BIT): Likewise.
53964 (page): New variable.
53965 (wait_vretrace): New function.
53966 (set_read_map): Likewise.
53967 (set_start_address): Likewise.
53968 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53969 the right page.
53970 (check_vga_mem): Take the page into account.
53971 (write_char): Likewise.
53972 (write_cursor): Likewise.
53973 (scroll_up): Likewise. Copy the page to the page that is not
53974 shown and switch between both pages.
53975 (grub_vga_putchar): Fix off by one error.
53976 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53977 account.
53978
53979 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53980
53981 Add support for iso9660 (including rockridge).
53982
53983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53984 (iso9660_mod_SOURCES): New variable.
53985 (iso9660_mod_CFLAGS): Likewise.
53986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53987 * include/grub/fs.h (grub_iso9660_init): New prototype.
53988 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53989 * fs/iso9660.c: New file.
53990
53991 * include/grub/misc.h (grub_strncat): New prototype.
53992 * kern/misc.c (grub_strncat): New function.
53993
53994 * fs/hfs.c (grub_hfs_mount): Translate the error
53995 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53996 * fs/jfs.c (grub_jfs_mount): Likewise.
53997 * fs/ufs.c (grub_ufs_mount): Likewise.
53998
53999 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
54000
54001 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
54002 which initialized BAT registers.
54003 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
54004 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
54005 Move from here...
54006 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
54007 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
54008 ... to here.
54009 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
54010 (grub_mapclaim): Likewise.
54011 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
54012 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
54013 hand.
54014
54015 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
54016
54017 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
54018 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
54019 -ffreestanding and -msoft-float.
54020
54021 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
54022
54023 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
54024 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
54025 set in grub_ieee1275_flags.
54026
54027 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
54028
54029 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
54030 prototype.
54031 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
54032 grub_console_init first.
54033 Change the memory range used for grub_ieee1275_claim and
54034 grub_mm_init_region.
54035 Print an error message if the claim fails.
54036 Include <grub/misc.h>.
54037
54038 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
54039
54040 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
54041 Call grub_children_iterate for device nodes of type `scsi',
54042 `ide', or `ata'.
54043 (grub_ofdisk_open): Remove manual device alias resolution.
54044 Fix memory leak when device cannot be opened.
54045 * include/grub/powerpc/ieee1275/ieee1275.h
54046 (grub_children_iterate): New prototype.
54047 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
54048 New function.
54049 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
54050 Return -1 if args.size was -1.
54051
54052 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
54053
54054 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
54055 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
54056 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
54057 Open Firmware's memory for it; claim memory from _start to _end.
54058 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
54059 (_end): New extern.
54060 (_start): Zero BSS from __bss_start to _end.
54061 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
54062 New extern.
54063 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
54064
54065 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
54066
54067 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
54068 -1 if args.base was -1.
54069
54070 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
54071
54072 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
54073 escape sequence instead of a literal ^L. Also call
54074 grub_ofconsole_gotoxy.
54075
54076 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
54077
54078 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
54079 void * arguments to grub_addr_t. All callers updated. Also make
54080 the `result' argument optional.
54081 (grub_ieee1275_release): change void * arguments to grub_addr_t.
54082 All callers updated.
54083
54084 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
54085
54086 * commands/ls.c (grub_ls_list_files): Use the string following the
54087 initial ')', if present, as the filesystem path.
54088 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
54089
54090 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
54091
54092 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
54093
54094 Make the source code of the menu interface more readable.
54095
54096 * normal/menu.c: Include grub/mm.h.
54097 (TERM_WIDTH): New macro.
54098 (TERM_HEIGHT): Likewise.
54099 (TERM_INFO_HEIGHT): Likewise.
54100 (TERM_MARGIN): Likewise.
54101 (TERM_SCROLL_WIDTH): Likewise.
54102 (TERM_TOP_BORDER_Y): Likewise.
54103 (TERM_LEFT_BORDER_X): Likewise.
54104 (TERM_BORDER_WIDTH): Likewise.
54105 (TERM_MESSAGE_HEIGHT): Likewise.
54106 (TERM_BORDER_HEIGHT): Likewise.
54107 (TERM_NUM_ENTRIES): Likewise.
54108 (TERM_FIRST_ENTRY_Y): Likewise.
54109 (TERM_ENTRY_WIDTH): Likewise.
54110 (TERM_CURSOR_X): Likewise.
54111 (draw_border): Use macros instead of magic numbers.
54112 (print_entry): Likewise.
54113 (print_entries): Likewise.
54114 (run_menu): Likewise. Also, handle the key 'e'.
54115 (run_menu_entry): Ignore empty command lines.
54116 (print_message): Added a new argument EDIT. If EDIT is true,
54117 print a different message.
54118 (init_page): Likewise.
54119 (edit_menu_entry): New function. Not implemented yet.
54120
54121 2004-09-17 Marco Gerards <metgerards@student.han.nl>
54122
54123 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
54124 can be loaded from normal mode.
54125
54126 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
54127 `multiboot.mod'.
54128 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
54129 (multiboot_mod_CFLAGS): New variables.
54130 * loader/i386/pc/linux_normal.c: New file.
54131 * loader/i386/pc/multiboot_normal.c: Likewise.
54132
54133 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
54134 attribute `unused'.
54135
54136 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
54137 `fdiro' to read the mode information from instead of `diro'.
54138
54139 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
54140 looking up a symlink.
54141
54142 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
54143 macro.
54144 * normal/command.c (grub_command_execute): Don't parse the
54145 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
54146 flags of the command.
54147
54148 * normal/menu.c (grub_menu_run): Fix typo.
54149
54150 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
54151
54152 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
54153
54154 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
54155 `y + 1' instead of `y - 1'.
54156
54157 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
54158
54159 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
54160
54161 From Hollis Blanchard <hollis@penguinppc.org>:
54162 * kern/misc.c (memmove): New alias for grub_memmove.
54163 (memcmp): New alias for grub_memcmp.
54164 (memset): New alias for grub_memset.
54165 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
54166 Change "int handle" to "grub_ieee1275_phandle_t handle".
54167 * include/grub/powerpc/ieee1275/ieee1275.h
54168 (grub_ieee1275_get_property): Likewise.
54169
54170 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
54171
54172 Added normal mode command `chainloader' as module chain.mod, which
54173 depends on normal.mod and _chain.mod.
54174
54175 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
54176 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
54177 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
54178 Deleted prototype.
54179 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
54180 but arguments parsing moved to ...
54181 (grub_chainloader_cmd): ... here. New function.
54182 * include/grub/i386/pc/chainloader.h: New file.
54183 * loader/i386/pc/chainloader_normal.c: Likewise.
54184
54185 2004-09-11 Marco Gerards <metgerards@student.han.nl>
54186
54187 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
54188 (grub_mkimage_LDFLAGS): Likewise.
54189 (grub_emu_SOURCES): Likewise.
54190 (kernel_img_HEADERS): Added fshelp.h.
54191 * fs/ext2.c: Include <grub/fshelp.h>.
54192 (FILETYPE_REG): New macro.
54193 (FILETYPE_INO_REG): Likewise.
54194 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
54195 Changed all users.
54196 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
54197 all users.
54198 (grub_fshelp_node): New struct.
54199 (grub_ext2_data): Added member `diropen'. Changed member `inode'
54200 to a pointer.
54201 (grub_ext2_get_file_block): Removed function.
54202 (grub_ext2_read_block): New function.
54203 (grub_ext2_read_file): Replaced parameter `data' by `node'.
54204 This function was written.
54205 (grub_ext2_mount): Read the root inode. Create a diropen struct.
54206 (grub_ext2_find_file): Removed function.
54207 (grub_ext2_read_symlink): New function.
54208 (grub_ext2_iterate_dir): Likewise.
54209 (grub_ext2_open): Rewritten.
54210 (grub_ext2_dir): Rewritten.
54211 * include/grub/fshelp.h: New file.
54212 * fs/fshelp.c: Likewise.
54213
54214 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
54215
54216 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
54217 (print_message): Add a missing newline.
54218 (run_menu): Added timeout support.
54219 (run_menu_entry): New local function.
54220 (grub_menu_run): Added support for booting.
54221
54222 * kern/loader.c (grub_loader_is_loaded): New function.
54223
54224 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
54225 (grub_get_rtc): Exported.
54226
54227 * include/grub/i386/pc/time.h: Include grub/symbol.h.
54228 (grub_get_rtc): Exported.
54229
54230 * include/grub/normal.h (struct grub_command_list): Remove
54231 constant from the member `command'.
54232
54233 * include/grub/loader.h (grub_loader_is_loaded): Declared.
54234
54235 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
54236
54237 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
54238
54239 2004-08-28 Marco Gerards <metgerards@student.han.nl>
54240
54241 Add support for the JFS filesystem.
54242
54243 * fs/jfs.c: New file.
54244 * include/grub/fs.h (grub_jfs_init): New prototype.
54245 (grub_jfs_fini): New prototype.
54246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
54247 (grub_emu_SOURCES): Likewise.
54248 (pkgdata_MODULES): Add jfs.mod.
54249 (jfs_mod_SOURCES): New variable.
54250 (jfs_mod_CFLAGS): Likewise.
54251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
54252 (grubof_SOURCES): Likewise.
54253 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
54254
54255 * fs/fat.c (grub_fat_find_dir): Convert the filename little
54256 endian to the host endian.
54257 (grub_fat_utf16_to_utf8): Move function from there...
54258 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
54259 the endianness of the source string anymore.
54260 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
54261
54262 2004-08-24 Marco Gerards <metgerards@student.han.nl>
54263
54264 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
54265 (grub_boot_fini) [GRUB_UTIL]: Likewise.
54266 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
54267 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
54268
54269 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
54270 (grub_hfs_iterate_dir): Make the function static. Add prototypes
54271 for `node_found' and `it_dir'.
54272 (grub_hfs_dir): Add prototype for `dir_hook'.
54273
54274 * fs/minix.c (grub_minix_get_file_block): Add prototype for
54275 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
54276 and `indir32' to silence a gcc warning.
54277
54278 * include/grub/fs.h (grub_hfs_init): New prototype.
54279 (grub_hfs_fini): Likewise.
54280
54281
54282 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
54283
54284 Each disk device has its own id now. This is useful to make use
54285 of multiple disk devices.
54286
54287 * include/grub/disk.h (grub_disk_dev_id): New enum.
54288 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
54289 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
54290
54291 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
54292 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54293
54294 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
54295 GRUB_DISK_DEVICE_OFDISK_ID as an id.
54296
54297 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
54298 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54299
54300 * include/grub/disk.h (struct grub_disk_dev): Added a new member
54301 "id" which is used by the cache manager.
54302
54303 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
54304 of just "GRUB".
54305
54306 2004-08-18 Marco Gerards <metgerards@student.han.nl>
54307
54308 * fs/hfs.c: New file.
54309 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
54310 (grub_emu_SOURCES): Likewise.
54311 (pkgdata_MODULES): Add hfs.mod.
54312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
54313 (grubof_SOURCES): Likewise.
54314 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
54315
54316 * include/grub/misc.h (grub_strncasecmp): Add prototype.
54317 * kern/misc.c (grub_strncasecmp): Add function.
54318
54319 2004-08-14 Marco Gerards <metgerards@student.han.nl>
54320
54321 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
54322 with parentheses.
54323
54324 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
54325 (grub_ext2_dir): In case the directory entry type is unknown, read
54326 it from the inode.
54327
54328 2004-08-02 Peter Bruin <pjbruin@dds.nl>
54329
54330 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
54331 grub_load_linux instead of grub_rescue_cmd_linux as second
54332 argument of grub_rescue_register_command.
54333
54334 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
54335
54336 2004-07-27 Marco Gerards <metgerards@student.han.nl>
54337
54338 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
54339 function.
54340 * commands/boot.c: Remove the check for `GRUB_UTIL'.
54341 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
54342 `loader/powerpc/ieee1275/linux.c',
54343 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
54344 * include/grub/powerpc/ieee1275/ieee1275.h
54345 (grub_ieee1275_release): New prototype.
54346 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
54347 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
54348 normal, boot, linux and linux_normal.
54349 * loader/powerpc/ieee1275/linux.c: New file.
54350 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
54351
54352 2004-07-12 Marco Gerards <metgerards@student.han.nl>
54353
54354 * normal/arg.c (grub_arg_parse): Correct error handling after
54355 reallocating the argumentlist (check if `argl' is not null instead
54356 of checking if `args' is not null).
54357 * kern/mm.c (grub_realloc): Return the same pointer when using the
54358 same region, instead of returning the header address.
54359
54360 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54361
54362 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54363 one block instead of two when looking for the initial partition.
54364 (grub_partition_probe): Initialize the local variable `p' with 0.
54365 Use base 10 for the grub_strtoul call.
54366 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54367 need for one local variable.
54368 (grub_strtoul): Don't add the new value to `num', instead of that
54369 just assign it.
54370
54371 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54372
54373 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54374 (pxeboot_img_SOURCES): New variable.
54375 (pxeboot_img_ASFLAGS): Likewise.
54376 (pxeboot_img_LDFLAGS): Likewise.
54377 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54378 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54379 <lode_leroy@hotmail.com>.
54380
54381 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54382
54383 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54384 there was no input.
54385
54386 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54387
54388 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54389 the history buffer logic.
54390
54391 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54392
54393 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54394 (FILETYPE_INO_SYMLINK): New macros.
54395 (grub_ext2_find_file): Check if the node is a directory using the
54396 inode stat information instead of using the filetype in the
54397 dirent. Exclude the first character of an absolute symlink.
54398 (grub_ext2_dir): Mask out the filetype part of the mode member of
54399 the inode.
54400
54401 2004-05-24 Marco Gerards <metgerards@student.han.nl>
54402
54403 Add support for UFS version 1 and 2. Add support for the minix
54404 filesystem version 1 and 2, both the variants with 14 and 30 long
54405 filenames.
54406
54407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54408 fs/minix.c.
54409 (grub_emu_SOURCES): Likewise.
54410 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54411 (ufs_mod_SOURCES): New variable.
54412 (ufs_mod_CFLAGS): Likewise.
54413 (minix_mod_SOURCES): Likewise.
54414 (minix_mod_CFLAGS): Likewise.
54415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54416 fs/minix.c.
54417 (grubof_SOURCES): Likewise.
54418 * fs/ufs.c: New file.
54419 * fs/minix.c: New file.
54420 * include/grub/fs.h (grub_ufs_init): New prototype.
54421 (grub_ufs_fini): Likewise.
54422 (grub_minix_init): Likewise.
54423 (grub_minix_fini): Likewise.
54424 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54425 minix fs.
54426
54427 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54428
54429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54430 commands/ls.c, commands/terminal.c, commands/boot.c,
54431 commands/cmp.c and commands/cat.c.
54432 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54433
54434 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54435 "env.h"
54436
54437 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54438
54439 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54440 and grub_, respectively. Because the conversion is trivial and
54441 mechanical, I omit the details here. Please refer to the CVS
54442 if you need more information.
54443
54444 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54445
54446 * include/pupa: Renamed to ...
54447 * include/grub: ... this.
54448 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54449 * util/i386/pc/grub-mkimage.c: ... this.
54450 * util/i386/pc/pupa-setup.c: Renamed to ...
54451 * util/i386/pc/grub-setup.c: ... this.
54452 * util/pupa-emu.c: Renamed to ...
54453 * util/grub-emu.c: ... this.
54454
54455 2004-03-29 Marco Gerards <metgerards@student.han.nl>
54456
54457 Add support for the newworld apple macintosh (PPC). This has been
54458 tested on the powerbook 2000 only. It only adds support for
54459 generic ieee1275 functions, console and disk support. This should
54460 be easy to port to other architectures with support for Open
54461 Firmware.
54462
54463 * configure.ac: Accept the powerpc as host_cpu. In the case of
54464 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54465 specific tests are only executed while building for the i386.
54466 Inverse test for crosscompile.
54467 * genmk.rb (Utility): Allow assembler files.
54468 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54469 * conf/powerpc-ieee1275.rmk: New file.
54470 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54471 * disk/powerpc/ieee1275/partition.c: Likewise.
54472 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54473 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54474 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54475 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54476 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54477 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54478 * include/pupa/powerpc/ieee1275/loader.h
54479 * include/pupa/powerpc/setjmp.h: Likewise.
54480 * include/pupa/powerpc/types.h: Likewise.
54481 * kern/powerpc/ieee1275/init.c: Likewise.
54482 * kern/powerpc/ieee1275/openfw.c: Likewise.
54483 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54484
54485 These files were written by Johan Rydberg
54486 (jrydberg@night.trouble.net) and I only modified them slightly.
54487
54488 * boot/powerpc/ieee1275/cmain.c: New file.
54489 * boot/powerpc/ieee1275/crt0.S: Likewise.
54490 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54491 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54492
54493 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54494
54495 * Makefile.in: Update copyright.
54496 * genmodsrc.sh: Likewise.
54497 * gensymlist.sh: Likewise.
54498 * term/i386/pc/vga.c: Indent correctly.
54499
54500 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54501 bugreporting address.
54502 * util/i386/pc/pupa-setup.c (usage): Likewise,
54503 (main): Call pupa_ext2_init and pupa_ext2_fini.
54504
54505 * fs/fat.c (log2): Renamed to ...
54506 (fat_log2): ... this.
54507 All callers changed.
54508 * kern/misc.c (memcpy): Alias to pupa_memmove.
54509 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54510 lvalue cast.
54511 * util/console.c (pupa_ncurses_fini): Return 0.
54512
54513 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54514 Move fail label here.
54515 [__GNU__]: Don't warn when using stat.
54516 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54517 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54518 long int. Use strtol instead of strtoul.
54519
54520 2004-03-14 Marco Gerards <metgerards@student.han.nl>
54521
54522 * commands/boot.c: New file.
54523 * commands/cat.c: Likewise.
54524 * commands/cmp.c: Likewise.
54525 * commands/ls.c: Likewise.
54526 * commands/terminal.c: Likewise.
54527 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54528 (pupa_register_command): Changed interface to match the new
54529 argument parser.
54530 (pupa_command_execute): Changed (almost rewritten) so it uses
54531 pupa_split_command. Added support for setting variables using the
54532 syntax `foo=bar'.
54533 (rescue_command): Changed to work with the new argument parser.
54534 (terminal_command): Moved from here to commands/terminal.c.
54535 (set_command): New function.
54536 (unset_command): New function.
54537 (insmod_command): New function.
54538 (rmmod_command): New function.
54539 (lsmod_command): New function.
54540 (pupa_command_init): Don't initialize the command terminal
54541 anymore. Initialize the commands set, unset, insmod, rmmod and
54542 lsmod.
54543 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54544 (kernel_img_HEADERS): Add arg.h and env.h.
54545 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54546 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54547 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54548 normal/arg.c.
54549 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54550 terminal.mod.
54551 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54552 (boot_mod_SOURCES): New variable.
54553 (terminal_mod_SOURCES): Likewise.
54554 (ls_mod_SOURCES): Likewise.
54555 (cmp_mod_SOURCES): Likewise.
54556 (cat_mod_SOURCES): Likewise.
54557
54558 * normal/arg.c: New file.
54559 * kern/env.c: Likewise.
54560 * include/pupa/arg.h: Likewise.
54561 * include/pupa/env.h: Likewise.
54562 * font/manager.c (font_command): Changed to match argument parsing
54563 interface changes.
54564 (PUPA_MOD_INIT): Likewise.
54565 * hello/hello.c (pupa_cmd_hello): Likewise.
54566 (PUPA_MOD_INIT): Likewise.
54567 * include/pupa/disk.h: Include <pupa/device.h>.
54568 (pupa_print_partinfo): New prototype.
54569 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54570 (pupa_dl_get_prefix): Likewise.
54571 * include/pupa/misc.h: Include <pupa/err.h>.
54572 (pupa_isgraph): New prototype.
54573 (pupa_isdigit): Likewise.
54574 (pupa_split_cmdline): Likewise.
54575 * include/pupa/normal.h: Include <pupa/arg.h>.
54576 (pupa_command): Changed the prototype of the member `func' to
54577 match the argument parsing interface. Added member `options'.
54578 (pupa_register_command): Updated to match function.
54579 (pupa_arg_parse): New prototype.
54580 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54581 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54582 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54583 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54584 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54585 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54586 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54587 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54588 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54589 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54590 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54591 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54592 * kern/disk.c: Include <pupa/file.h>.
54593 (pupa_print_partinfo): New function.
54594 * kern/dl.c: Include <pupa/env.h>.
54595 (pupa_dl_dir): Variable removed.
54596 (pupa_dl_load): Use the environment variable `prefix' instead of
54597 the variable pupa_dl_dir.
54598 (pupa_dl_set_prefix): Function removed.
54599 (pupa_dl_get_prefix): Likewise.
54600 * kern/i386/pc/init.c: Include <pupa/env.h>.
54601 (pupa_machine_init): Use the environment variable `prefix' instead of
54602 using pupa_dl_set_prefix to set the prefix.
54603 * kern/main.c: Include <pupa/env.h>.
54604 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54605 using pupa_dl_get_prefix to get the prefix.
54606 * kern/misc.c: Include <pupa/env.h>.
54607 (pupa_isdigit): New function.
54608 (pupa_isgraph): Likewise.
54609 (pupa_ftoa): Likewise.
54610 (pupa_vsprintf): Added support for printing values of the type
54611 `double'. Make it possible to format variable output when using
54612 formatting like `%1.2%f'.
54613 (pupa_split_cmdline): New function.
54614 * kern/rescue.c: Include <pupa/env.h>.
54615 (next_word): Removed function.
54616 (pupa_rescue_cmd_prefix): Likewise.
54617 (pupa_rescue_cmd_set): New function.
54618 (pupa_rescue_cmd_unset): New function.
54619 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54620 split the command line instead of splitting it here. Added
54621 support for setting variables using the syntax `foo=bar'. Don't
54622 initialize the prefix command anymore. Initialized the set and
54623 unset commands.
54624 * normal/cmdline.c: Include <pupa/env.h>.
54625 (pupa_tab_complete): Added prototypes for print_simple_completion,
54626 print_partition_completion, add_completion, iterate_commands,
54627 iterate_dev, iterate_part and iterate_dir. Moved code to print
54628 partition information from here to kern/disk.c.
54629 (pupa_cmdline_run): Don't check if the function exists anymore.
54630 * normal/main.c: Include <pupa/env.h>.
54631 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54632 instead of using pupa_dl_get_prefix to get the prefix.
54633 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54634 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54635 warning.
54636 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54637 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54638 ((unused))' to silence a gcc warning.
54639 (pupa_vga_setcolor): Likewise.
54640 (debug_command): Changed to match argument parsing
54641 interface changes.
54642 * util/pupa-emu.c: Include <pupa/env.h>.
54643 (options): Added 0's for unused fields to silence a gcc warning.
54644 (argp): Likewise.
54645 (main): Use the environment variable `prefix' instead of using
54646 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54647 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54648 and terminal.
54649
54650 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54651 * util/misc.c: Include <malloc.h>.
54652 (pupa_malloc): Rewritten so errors are correctly reported.
54653 (pupa_realloc): Likewise.
54654 (pupa_memalign): Likewise.
54655 (pupa_mm_init_region): Declare unused variables with
54656 `__attribute__ ((unused))' to silence a gcc warning.
54657 * normal/i386/setjmp.S: Remove tab at the end of the file to
54658 silence a gcc warning.
54659 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54660 variables with `__attribute__ ((unused))' to silence a gcc
54661 warning.
54662 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54663 local variable i unsigned to silence a gcc warning.
54664
54665 * kern/term.c: Include <pupa/misc.h>.
54666 (pupa_more_lines): New variable.
54667 (pupa_more): Likewise.
54668 (pupa_putcode): When the pager is active pause at the end of every
54669 screen.
54670 (pupa_set_more): New function.
54671 * include/pupa/term.h (pupa_set_more): New prototype.
54672
54673
54674 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54675
54676 Now this project is GRUB 2 rather than PUPA. The location of
54677 the CVS repository was moved to GRUB's.
54678
54679 * configure.ac: Use bug-grub as the reporting address.
54680 Use GRUB instead of PUPA.
54681 Change the version number to 1.90.
54682
54683 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54684
54685 * genkernsyms.sh: Updated copyright information.
54686 * genmk.rb: Likewise.
54687 * genmodsrc.sh: Likewise.
54688 * gensymlist.sh: Likewise.
54689 * boot/i386/pc/boot.S: Likewise.
54690 * boot/i386/pc/diskboot.S: Likewise.
54691 * disk/i386/pc/biosdisk.c: Likewise.
54692 * disk/i386/pc/partition.c: Likewise.
54693 * font/manager.c: Likewise.
54694 * fs/ext2.c: Likewise.
54695 * fs/fat.c: Likewise.
54696 * include/pupa/boot.h: Likewise.
54697 * include/pupa/device.h: Likewise.
54698 * include/pupa/disk.h: Likewise.
54699 * include/pupa/dl.h: Likewise.
54700 * include/pupa/elf.h: Likewise.
54701 * include/pupa/err.h: Likewise.
54702 * include/pupa/file.h: Likewise.
54703 * include/pupa/font.h: Likewise.
54704 * include/pupa/fs.h: Likewise.
54705 * include/pupa/kernel.h: Likewise.
54706 * include/pupa/loader.h: Likewise.
54707 * include/pupa/misc.h: Likewise.
54708 * include/pupa/mm.h: Likewise.
54709 * include/pupa/net.h: Likewise.
54710 * include/pupa/normal.h: Likewise.
54711 * include/pupa/rescue.h: Likewise.
54712 * include/pupa/setjmp.h: Likewise.
54713 * include/pupa/symbol.h: Likewise.
54714 * include/pupa/term.h: Likewise.
54715 * include/pupa/types.h: Likewise.
54716 * include/pupa/i386/setjmp.h: Likewise.
54717 * include/pupa/i386/types.h: Likewise.
54718 * include/pupa/i386/pc/biosdisk.h: Likewise.
54719 * include/pupa/i386/pc/boot.h: Likewise.
54720 * include/pupa/i386/pc/console.h: Likewise.
54721 * include/pupa/i386/pc/init.h: Likewise.
54722 * include/pupa/i386/pc/kernel.h: Likewise.
54723 * include/pupa/i386/pc/linux.h: Likewise.
54724 * include/pupa/i386/pc/loader.h: Likewise.
54725 * include/pupa/i386/pc/memory.h: Likewise.
54726 * include/pupa/i386/pc/multiboot.h: Likewise.
54727 * include/pupa/i386/pc/partition.h: Likewise.
54728 * include/pupa/i386/pc/time.h: Likewise.
54729 * include/pupa/i386/pc/vga.h: Likewise.
54730 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54731 * include/pupa/util/getroot.h: Likewise.
54732 * include/pupa/util/misc.h: Likewise.
54733 * include/pupa/util/resolve.h: Likewise.
54734 * kern/device.c: Likewise.
54735 * kern/disk.c: Likewise.
54736 * kern/dl.c: Likewise.
54737 * kern/err.c: Likewise.
54738 * kern/file.c: Likewise.
54739 * kern/fs.c: Likewise.
54740 * kern/loader.c: Likewise.
54741 * kern/main.c: Likewise.
54742 * kern/misc.c: Likewise.
54743 * kern/mm.c: Likewise.
54744 * kern/rescue.c: Likewise.
54745 * kern/term.c: Likewise.
54746 * kern/i386/dl.c: Likewise.
54747 * kern/i386/pc/init.c: Likewise.
54748 * kern/i386/pc/lzo1x.S: Likewise.
54749 * kern/i386/pc/startup.S: Likewise.
54750 * loader/i386/pc/chainloader.c: Likewise.
54751 * loader/i386/pc/linux.c: Likewise.
54752 * loader/i386/pc/multiboot.c: Likewise.
54753 * normal/cmdline.c: Likewise.
54754 * normal/command.c: Likewise.
54755 * normal/main.c: Likewise.
54756 * normal/menu.c: Likewise.
54757 * normal/i386/setjmp.S: Likewise.
54758 * term/i386/pc/console.c: Likewise.
54759 * term/i386/pc/vga.c: Likewise.
54760 * util/console.c: Likewise.
54761 * util/genmoddep.c: Likewise.
54762 * util/misc.c: Likewise.
54763 * util/pupa-emu.c: Likewise.
54764 * util/resolve.c: Likewise.
54765 * util/unifont2pff.rb: Likewise.
54766 * util/i386/pc/biosdisk.c: Likewise.
54767 * util/i386/pc/getroot.c: Likewise.
54768 * util/i386/pc/pupa-mkimage.c: Likewise.
54769 * util/i386/pc/pupa-setup.c: Likewise.
54770
54771 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54772
54773 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54774 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54775 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54776 reading and reset it after reading.
54777 (pupa_ext2_close): Return PUPA_ERR_NONE.
54778
54779 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54780 Correct value.
54781 (struct linux_kernel_header): Add kernel_version and
54782 initrd_addr_max.
54783 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54784 pupa_file_read succeeds.
54785 (pupa_rescue_cmd_initrd): Implement.
54786
54787 2003-12-03 Marco Gerards <metgerards@student.han.nl>
54788
54789 * fs/ext2.c (pupa_ext2_label): New function.
54790 (pupa_ext2_fs): Added label.
54791 * fs/fat.c (pupa_fat_label): New function.
54792 (pupa_fat_fs): Added label.
54793 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54794
54795 * kern/misc.c (pupa_strndup): New function.
54796 * include/pupa/misc.h (pupa_strndup): New prototype.
54797
54798 * include/pupa/normal.h: Include <pupa/err.h>.
54799 (pupa_set_history): New prototype.
54800 (pupa_iterate_commands): New prototype.
54801 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54802 <pupa/disk.h>, <pupa/file.h>.
54803 (hist_size): New variable.
54804 (hist_lines): Likewise.
54805 (hist_end): Likewise.
54806 (hist_used): Likewise.
54807 (pupa_set_history): New function.
54808 (pupa_history_get): Likewise.
54809 (pupa_history_add): Likewise.
54810 (pupa_history_replace): Likewise.
54811 (pupa_tab_complete): Likewise.
54812 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54813 completion shows partitionnames while completing partitions, this
54814 feature was suggested by Jeff Bailey.
54815 * normal/command.c (pupa_iterate_commands): New function.
54816 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54817 (pupa_normal_init): Initialize history buffer.
54818 (PUPA_MOD_INIT): Likewise.
54819 (pupa_normal_fini): Free the history buffer.
54820 (PUPA_MOD_FINI): Likewise.
54821
54822 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54823 key.
54824
54825 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54826 * configure.ac [i386]: Check for regparam bug.
54827 (NESTED_FUNC_ATTR) [! i386]: Defined.
54828
54829 2003-11-17 Marco Gerards <metgerards@student.han.nl>
54830
54831 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54832 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54833 (pupa_emu_SOURCES): New variable.
54834 (pupa_emu_LDFLAGS): Likewise.
54835 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54836 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54837 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54838 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54839 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54840 (pupa_jmp_buf): New typedef.
54841 (pupa_setjmp) [PUPA_UTIL]: New macro.
54842 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54843 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54844 (pupa_refresh): New prototype.
54845 * include/pupa/util/getroot.h: New file.
54846 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54847 it.
54848 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54849 (pupa_rescue_cmd_cat): Likewise.
54850 (pupa_rescue_cmd_ls): Likewise.
54851 (pupa_rescue_cmd_testload): Likewise.
54852 (pupa_rescue_cmd_lsmod): Likewise.
54853 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54854 * normal/menu.c (run_menu): Likewise.
54855 * kern/term.c (pupa_cls): Likewise.
54856 (pupa_refresh): New function.
54857 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54858 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54859 * util/console.c: New file.
54860
54861 * util/i386/pc/getroot.c: New file.
54862 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54863 (pupa_putchar): New function.
54864 (pupa_refresh): Likewise.
54865 (xgetcwd): Function moved to ...
54866 (strip_extra_slashes): Likewise.
54867 (get_prefix): Likewise.
54868 * util/i386/pc/getroot.c: ... here.
54869 (find_root_device): Function moved and renamed to...
54870 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54871 Changed all callers.
54872 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54873 and renamed to...
54874 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54875 Changed all callers.
54876 * util/misc.c (pupa_memalign): New function.
54877 (pupa_mm_init_region): Likewise.
54878 (pupa_register_exported_symbols): Likewise.
54879 (pupa_putchar): Function removed.
54880 * util/pupa-emu.c: New file.
54881
54882 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54883
54884 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54885 (_multiboot_mod_SOURCES): New variable.
54886 (_multiboot_mod_CFLAGS): Likewise.
54887 * loader/i386/pc/multiboot.c: New file.
54888 * include/pupa/i386/pc/multiboot.h: Likewise.
54889 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54890 (pupa_multiboot_real_boot): New function.
54891 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54892 (pupa_multiboot_real_boot): New prototype.
54893 (pupa_rescue_cmd_multiboot): Likewise
54894 (pupa_rescue_cmd_module): Likewise.
54895
54896 * kern/loader.c (pupa_loader_set): Continue when
54897 pupa_loader_unload_func() fails.
54898 (pupa_loader_unset): New function.
54899 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54900
54901 * kern/misc.c (pupa_stpcpy): New function.
54902 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54903
54904 2003-11-12 Marco Gerards <metgerards@student.han.nl>
54905
54906 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54907 for available extensions.
54908
54909 * include/pupa/i386/pc/time.h: New file.
54910 * kern/disk.c: Include <pupa/machine/time.h>.
54911 (PUPA_CACHE_TIMEOUT): New macro.
54912 (pupa_last_time): New variable.
54913 (pupa_disk_open): Flush the cache when there was a timeout.
54914 (pupa_disk_close): Reset the timer.
54915 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54916 pupa_currticks.
54917 * util/misc.c: Include <sys/times.h>
54918 (pupa_get_rtc): New function.
54919
54920 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54921
54922 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54923 as blocks.
54924 (pupa_ext2_get_file_block): Use blocks member.
54925
54926 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54927 first block. Return -1 instead of pupa_errno on error.
54928
54929 2003-10-27 Marco Gerards <metgerards@student.han.nl>
54930
54931 * README: In the pupa-mkimage example use _chain instead of chain
54932 and ext2 instead of fat.
54933 * TODO: Replace ext2fs with jfs as an example. Add an item for
54934 adding journal playback for ext2fs.
54935 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54936 (pkgdata_MODULES): Added ext2.mod.
54937 (ext2_mod_SOURCES): New variable.
54938 (ext2_mod_CFLAGS): Likewise.
54939 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54940 * include/pupa/misc.h (pupa_strncpy): New prototype.
54941 (pupa_strcat): Likewise.
54942 (pupa_strncmp): Likewise.
54943 * kern/misc.c (pupa_strcat): Enable function.
54944 (pupa_strncpy): New function.
54945 (pupa_strncmp): Likewise.
54946 * fs/ext2.c: New file.
54947
54948 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54949 when the read failed before retrying.
54950 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54951 (_FILE_OFFSET_BITS): Likewise.
54952 * configure.ac: Added AC_SYS_LARGEFILE.
54953
54954 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54955
54956 * genmk.rb (PModule#rule): Make sure to get only symbol names
54957 from the output of nm.
54958 Reported by Robert Millan <rmh.grub@aybabtu.com>.
54959
54960 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54961
54962 I forgot to check in these changes for a long time. This adds
54963 incomplete support for VGA console, and this is still very
54964 buggy. Also, a lot of consideration is required for I18N,
54965 UNICODE, and VGA font issues. Therefore, assume that this is
54966 such that "better than nothing".
54967
54968 * font/manager.c: New file.
54969 * include/pupa/font.h: Likewise.
54970 * include/pupa/i386/pc/vga.h: Likewise.
54971 * term/i386/pc/vga.c: Likewise.
54972 * util/unifont2pff.rb: Likewise.
54973
54974 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54975 (pkgdata_MODULES): Added vga.mod and font.mod.
54976 (vga_mod_SOURCES): New variables.
54977 (vga_mod_CFLAGS): Likewise.
54978 (font_mod_SOURCES): Likewise.
54979 (font_mod_CFLAGS): Likewise.
54980
54981 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54982
54983 * include/pupa/term.h: Include pupa/err.h.
54984 (struct pupa_term): Added init and fini.
54985 Changed the argument of putchar to pupa_uint32_t.
54986
54987 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54988 (pupa_console_real_putchar): New prototype.
54989 (pupa_console_putchar): Removed.
54990 (pupa_console_checkkey): Exported.
54991 (pupa_console_getkey): Likewise.
54992
54993 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54994 characters.
54995
54996 * kern/term.c (pupa_term_set_current): Rewritten.
54997 (pupa_putchar): Likewise.
54998 (pupa_putcode): New function.
54999
55000 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
55001 (pupa_console_real_putchar): ... this.
55002 (pupa_vga_set_mode): New function.
55003 (pupa_vga_get_font): Likewise.
55004
55005 * normal/command.c: Include pupa/term.h.
55006 (terminal_command): New function.
55007 (pupa_command_init): Register the command "terminal".
55008
55009 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
55010 (DISP_UP): Likewise.
55011 (DISP_RIGHT): Likewise.
55012 (DISP_DOWN): Likewise.
55013 (DISP_HLINE): Likewise.
55014 (DISP_VLINE): Likewise.
55015 (DISP_UL): Likewise.
55016 (DISP_UR): Likewise.
55017 (DISP_LL): Likewise.
55018 (DISP_LR): Likewise.
55019
55020 * term/i386/pc/console.c (pupa_console_putchar): New function.
55021
55022 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
55023
55024 * util/resolve.c (pupa_util_resolve_dependencies): BUG
55025 FIX. Reverse the path_list.
55026
55027 * include/pupa/normal.h: Export pupa_register_command and
55028 pupa_unregister_command.
55029
55030 * hello/hello.c (pupa_cmd_hello): New module.
55031 * conf/i386-pc.rmk: Added hello.mod.
55032
55033 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
55034
55035 * kern/i386/pc/lzo1x.S: New file.
55036
55037 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
55038 (compress_kernel): New variable.
55039 (generate_image): Heavily modified to support compressing a
55040 large part of the core image.
55041
55042 * util/misc.c (pupa_util_read_image): Fix a file descriptor
55043 leak.
55044 (pupa_util_load_image): New function.
55045
55046 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
55047 (pupa_compressed_size): New variable.
55048 (codestart): Enable Gate A20 here.
55049 Decompress the compressed part of the core image.
55050 Rearrange the code to put functions and variables which are
55051 required for initialization in the non-compressed part.
55052 Include lzo1x.S.
55053
55054 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
55055 here.
55056
55057 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
55058
55059 * include/pupa/i386/pc/kernel.h
55060 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
55061 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
55062 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55063 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55064 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
55065
55066 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
55067
55068 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
55069 (Utility#rule): Likewise.
55070
55071 * configure.ac: Check if LZO is available.
55072
55073 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
55074
55075 * include/pupa/normal.h: New file.
55076 * include/pupa/setjmp.h: Likewise.
55077 * include/pupa/i386/setjmp.h: Likewise.
55078 * normal/cmdline.c: Likewise.
55079 * normal/command.c: Likewise.
55080 * normal/main.c: Likewise.
55081 * normal/menu.c: Likewise.
55082 * normal/i386/setjmp.S: Likewise.
55083
55084 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
55085 (pupa_rescue_cmd_initrd): Likewise.
55086
55087 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
55088 Likewise.
55089
55090 * kern/i386/pc/startup.S (translation_table): New variable.
55091 (translate_keycode): New function.
55092 (pupa_console_getkey): Call translate_keycode.
55093
55094 * kern/rescue.c (attempt_normal_mode): New function.
55095 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
55096 it failed, print a message.
55097
55098 * kern/mm.c (pupa_real_malloc): Print more information when a
55099 free magic is broken.
55100 (pupa_free): If the first free header is not free actually, set
55101 it to P.
55102
55103 * kern/main.c (pupa_load_normal_mode): Just load the module
55104 "normal".
55105 (pupa_main): Don't print the message
55106 "Entering into rescue mode..." here.
55107
55108 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
55109 Declared.
55110 (pupa_rescue_cmd_initrd): Likewise.
55111 (pupa_rescue_cmd_initrd): Likewise.
55112
55113 * include/pupa/symbol.h (FUNCTION): Specify the type.
55114 (VARIABLE): Likewise.
55115
55116 * include/pupa/err.h (pupa_err_t): Added
55117 PUPA_ERR_UNKNOWN_COMMAND.
55118
55119 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
55120 (pupa_dl_get_prefix): Likewise.
55121
55122 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
55123 Added _chain.mod and _linux.mod instead of chain.mod and
55124 linux.mod.
55125 (chain_mod_SOURCES): Renamed to ...
55126 (_chain_mod_SOURCES): ... this.
55127 (chain_mod_CFLAGS): Renamed to ...
55128 (_chain_mod_CFLAGS): ... this.
55129 (linux_mod_SOURCES): Renamed to ...
55130 (_linux_mod_SOURCES): ... this.
55131 (linux_mod_CFLAGS): Renamed to ...
55132 (_linux_mod_CFLAGS): ... this.
55133 (normal_mod_SOURCES): New variable.
55134 (normal_mod_CFLAGS): Likewise.
55135 (normal_mod_ASFLAGS): Likewise.
55136
55137 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
55138
55139 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
55140 possible.
55141
55142 * kern/dl.c (pupa_dl_ref): Refer depending modules
55143 recursively.
55144 (pupa_dl_unref): Unrefer depending modules recursively.
55145 Don't call pupa_dl_unload implicitly, because PUPA can crash if
55146 a module is unloaded before one depending on that module is
55147 unloaded.
55148 (pupa_dl_unload): Unload depending modules explicitly,
55149 if possible.
55150
55151 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
55152
55153 * include/pupa/i386/pc/linux.h: New file.
55154 * loader/i386/pc/linux.c: Likewise.
55155
55156 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
55157 Removed.
55158 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
55159 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
55160 of PUPA_CHAINLOADER_BOOT_SECTOR.
55161
55162 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
55163 (pupa_linux_prot_size): New variable.
55164 (pupa_linux_tmp_addr): Likewise.
55165 (pupa_linux_real_addr): Likewise.
55166 (pupa_linux_boot_zimage): New function.
55167 (pupa_linux_boot_bzimage): Likewise.
55168
55169 * kern/i386/pc/init.c (struct mem_region): New structure.
55170 (MAX_REGIONS): New macro.
55171 (mem_regions): New variable.
55172 (num_regions): Likewise.
55173 (pupa_os_area_addr): Likewise.
55174 (pupa_os_area_size): Likewise.
55175 (pupa_lower_mem): Likewise.
55176 (pupa_upper_mem): Likewise.
55177 (add_mem_region): New function.
55178 (compact_mem_regions): Likewise.
55179 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
55180 the size of the conventional memory and that of so-called upper
55181 memory (before the first memory hole).
55182 Instead of adding each found region to free memory, use
55183 add_mem_region and add them after removing overlaps.
55184 Also, add only 1/4 of the upper memory to free memory. The rest
55185 is used for loading OS images. Maybe this is ad hoc, but this
55186 makes it much easier to relocate OS images when booting.
55187
55188 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
55189 (pupa_enter_rescue_mode): Don't register initrd and module.
55190
55191 * kern/mm.c: Include pupa/dl.h.
55192
55193 * kern/main.c: Include pupa/file.h and pupa/device.h.
55194
55195 * kern/loader.c (pupa_loader_load_module_func): Removed.
55196 (pupa_loader_load_module): Likewise.
55197
55198 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
55199 ``.o''.
55200
55201 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
55202 (pupa_linux_tmp_addr): Likewise.
55203 (pupa_linux_real_addr): Likewise.
55204 (pupa_linux_boot_zimage): Likewise.
55205 (pupa_linux_boot_bzimage): Likewise.
55206
55207 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
55208 (pupa_upper_mem): Likewise.
55209 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
55210 module is too dangerous.
55211
55212 * include/pupa/loader.h (pupa_os_area_addr): Declared.
55213 (pupa_os_area_size): Likewise.
55214 (pupa_loader_set): Remove the first argument. Loader doesn't
55215 manage modules or initrd any longer.
55216 (pupa_loader_load_module): Removed.
55217
55218 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
55219 (linux_mod_SOURCES): New variable.
55220 (linux_mod_CFLAGS): Likewise.
55221
55222 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
55223
55224 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
55225 the length of a blocklist correctly.
55226
55227 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
55228 Use ioctl only if the OS file is a block device.
55229 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
55230 not very useful for normal files.
55231
55232 * kern/main.c (pupa_set_root_dev): New function.
55233 (pupa_load_normal_mode): Likewise.
55234 (pupa_main): Call those above.
55235
55236 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
55237 pupa_uint16_t.
55238
55239 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
55240
55241 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
55242
55243 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
55244 (setup): Configure the installed partition information and the
55245 dl prefix.
55246
55247 * loader/i386/pc/chainloader.c (my_mod): New variable.
55248 (pupa_chainloader_unload): New function.
55249 (pupa_rescue_cmd_chainloader): Refer itself.
55250 (PUPA_MOD_INIT): Save its own module in MY_MOD.
55251
55252 * kern/i386/pc/startup.S (install_partition): Removed.
55253 (version_string): Likewise.
55254 (config_file): Likewise.
55255 (pupa_install_dos_part): New variable.
55256 (pupa_install_bsd_part): Likewise.
55257 (pupa_prefix): Likewise.
55258 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
55259
55260 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
55261 and pupa/misc.h.
55262 (make_install_device): New function.
55263 (pupa_machine_init): Set the dl prefix.
55264
55265 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
55266 (buf): Renamed to ...
55267 (linebuf): ... this.
55268 (pupa_rescue_cmd_prefix): New function.
55269 (pupa_rescue_cmd_insmod): Likewise.
55270 (pupa_rescue_cmd_rmmod): Likewise.
55271 (pupa_rescue_cmd_lsmod): Likewise.
55272 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
55273 rmmod and lsmod.
55274
55275 * kern/mm.c (pupa_memalign): If failed even after invalidating
55276 disk caches, unload unneeded modules and retry.
55277
55278 * kern/misc.c (pupa_memmove): New function.
55279 (pupa_memcpy): Removed.
55280 (pupa_strcpy): New function.
55281 (pupa_itoa): Made static.
55282
55283 * kern/dl.c (pupa_dl_iterate): New function.
55284 (pupa_dl_ref): Likewise.
55285 (pupa_dl_unref): Likewise.
55286 (pupa_dl_unload): Return if succeeded or not.
55287 (pupa_dl_unload_unneeded): New function.
55288 (pupa_dl_unload_all): Likewise.
55289 (pupa_dl_init): Renamed to ...
55290 (pupa_dl_set_prefix): ... this.
55291 (pupa_dl_get_prefix): New function.
55292
55293 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
55294 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
55295 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55296 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55297 (pupa_install_dos_part): Declared.
55298 (pupa_install_bsd_part): Likewise.
55299 (pupa_prefix): Likewise.
55300 (pupa_boot_drive): Likewise.
55301
55302 * include/pupa/types.h: Fix a typo.
55303
55304 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
55305 pupa_memmove.
55306 (pupa_memmove): Declared.
55307 (pupa_strcpy): Likewise.
55308
55309 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
55310 pupa_mod_init takes one argument, its own module.
55311 (pupa_dl_unload_unneeded): Declared.
55312 (pupa_dl_unload_all): Likewise.
55313 (pupa_dl_ref): Likewise.
55314 (pupa_dl_unref): Likewise.
55315 (pupa_dl_iterate): Likewise.
55316 (pupa_dl_init): Renamed to ...
55317 (pupa_dl_set_prefix): ... this.
55318 (pupa_dl_get_prefix): Declared.
55319
55320 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
55321 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
55322 unloaded.
55323 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
55324 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
55325
55326 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
55327 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
55328
55329 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55330
55331 * util/i386/pc/pupa-setup.c (setup): Define the internal
55332 function find_first_partition_start at the top level, because GCC
55333 3.0.x cannot compile internal functions in deeper scopes
55334 correctly.
55335 (find_root_device): Use lstat instead of stat.
55336 Don't follow symbolic links.
55337 Fix the path-constructing code.
55338
55339 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
55340 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
55341 by a BLKGETSIZE ioctl first, because block devices don't fill
55342 the member st_mode of the structure stat on Linux.
55343 [__linux__] (linux_find_partition): Use a temporary buffer
55344 REAL_DEV for the working space. Copy it to DEV before returning.
55345 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
55346 buffer cache consistent.
55347 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
55348 strncmp. The previous value was merely wrong.
55349 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
55350
55351 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
55352 FAT size is 12. The previous value was merely wrong.
55353
55354 * kern/main.c (pupa_main): Don't split the starting message from
55355 newlines.
55356
55357 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55358 LF, because BIOS goes crazy about character attributes in this
55359 case.
55360
55361 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55362
55363 * include/i386/pc/util/biosdisk.h: New file.
55364 * util/i386/pc/biosdisk.c: Likewise.
55365 * util/i386/pc/pupa-setup.c: Likewise.
55366
55367 * Makefile.in (INCLUDE_DISTFILES): Added
55368 include/pupa/i386/pc/util/biosdisk.h.
55369 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55370 directory util/i386/pc.
55371 (install-local): Added a rule for sbin_UTILITIES.
55372 (uninstall): Likewise.
55373
55374 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55375
55376 * util/misc.c (xrealloc): New function.
55377 (pupa_malloc): Likewise.
55378 (pupa_free): Likewise.
55379 (pupa_realloc): Likewise.
55380 (pupa_stop): Likewise.
55381 (pupa_putchar): Likewise.
55382
55383 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55384
55385 * include/pupa/util/misc.h (xrealloc): Declared.
55386
55387 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55388 macro.
55389 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55390 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55391
55392 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55393 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55394
55395 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55396 way should be implemented.
55397 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55398
55399 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55400 the size of NAME for safety.
55401 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55402 0x88.
55403
55404 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55405 (pupa_setup_SOURCES): Likewise.
55406
55407 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55408
55409 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55410
55411 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55412 bunch of pushl's from pusha, because this destroys the return
55413 value.
55414
55415 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55416
55417 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55418 This means that any missing prototypes could be fatal. Also, you
55419 must take care when writing assembly code. See the comments at
55420 the beginning of startup.S, for more details.
55421
55422 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55423 compilation mechanism.
55424 (pupa_chainloader_real_boot): Likewise.
55425 (pupa_biosdisk_rw_int13_extensions): Likewise.
55426 (pupa_biosdisk_rw_standard): Likewise.
55427 (pupa_biosdisk_check_int13_extensions): Likewise.
55428 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55429 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55430 (pupa_get_memsize): Likewise.
55431 (pupa_get_mmap_entry): Likewise.
55432 (pupa_console_putchar): Likewise.
55433 (pupa_console_setcursor): Likewise.
55434 (pupa_getrtsecs): Use pushl instead of push.
55435
55436 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55437 memory instead of the stack for a mmap entry, because some
55438 BIOSes may ignore the maximum size and overflow.
55439
55440 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55441
55442 * genmk.rb (PModule#rule): Compile automatically generated
55443 sources with module-specific CFLAGS as well as other sources.
55444
55445 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55446
55447 * configure.ac: Check ld.
55448 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55449 respectively, before checking endianness and sizes.
55450
55451 * Makefile.in (LD): New variable.
55452
55453 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55454
55455 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55456
55457 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55458
55459 * Changelog: New file.
55460