]> git.proxmox.com Git - grub2.git/blob - ChangeLog
grub_ata_setaddress: Check that geometry is sane when using CHS addressing.
[grub2.git] / ChangeLog
1 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/disk/ata.c (grub_ata_setaddress): Check that geometry
4 is sane when using CHS addressing.
5
6 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0.
9
10 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Avoid
13 division by zero.
14
15 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_maxpacket): Avoid
18 potentially returning 0.
19
20 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * grub-core/fs/minix.c (grub_minix_read_file): Avoid reading past
23 the end of file.
24
25 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/fs/fshelp.c (grub_fshelp_read_file): Don't attempt to read
28 past the end of file.
29
30 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Update len
33 synchronously with line.
34
35 2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
36
37 Replace explicit sizeof divisions by ARRAY_SIZE.
38
39 2015-01-19 Kris Moore <kris@pcbsd.org>
40
41 * grub-core/disk/geli.c: Support GELI v6 and v7.
42
43 2014-12-09 Andrei Borzenkov <arvidjaar@gmail.com>
44
45 * grub-core/term/serial.c (grub_cmd_serial): Fix --rtscts
46 option processing.
47
48 2014-12-07 David Kozub <zub.272@gmail.com>
49
50 * grub-core/kern/arm/misc.S: fix unaligned 64bit local variable
51 in __aeabi_uidivmod
52 Fixes Savannah bug #43632.
53
54 2014-12-07 Peter Nelson <peterdn>
55
56 * grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse
57 chunks.
58
59 2014-12-07 Andrei Borzenkov <arvidjaar@gmail.com>
60
61 * util/grub-mkconfig_lib.in (version_test_gt): Remove redundant
62 non-portable '-n' echo option.
63 * util/grub.d/10_kfreebsd.in: Change how list is built to avoid
64 non-portable 'echo -n.
65 * util/grub.d/10_linux.in: Likewise (closes 43668).
66 * util/grub.d/20_linux_xen.in: Likewise.
67 * util/grub.d/30_os-prober.in: Print spaces directly to avoid
68 non-portable 'echo -n'.
69
70 2014-12-07 Curtis Larsen <larsen@dixie.edu>
71
72 * grub-core/net/tcp.c (grub_net_recv_tcp_packet): Fix double
73 free when multiple empty segments were received (closes 42765).
74
75 2014-12-05 Andrei Borzenkov <arvidjaar@gmail.com>
76
77 * tests/util/grub-shell.in: Support --files also for netboot.
78 * tests/file_filter_test.in: New file with file filters tests.
79 * Makefile.util.def: Add file_filter_test.
80 * conf/Makefile.extra-dist: ... and here.
81 * tests/file_filter/file.gz: Test file for file_filter_test.
82 * tests/file_filter/file.gz.sig: Likewise.
83 * tests/file_filter/file.lzop: Likewise.
84 * tests/file_filter/file.lzop.sig: Likewise.
85 * tests/file_filter/file.xz: Likewise.
86 * tests/file_filter/file.xz.sig: Likewise.
87 * tests/file_filter/keys: Likewise.
88 * tests/file_filter/keys.pub: Likewise.
89 * tests/file_filter/test.cfg: Likewise.
90 * grub-core/commands/verify.c: Fix memory corruption doing
91 signature check for network files (closes 43601).
92
93 2014-12-01 Andrei Borzenkov <arvidjaar@gmail.com>
94
95 * grub-core/loader/i386/xen_fileXX.c (grub_xen_get_infoXX): Fix
96 memory leak (CID 73645, 73782).
97 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix memory leak
98 (CID 73635).
99
100 2014-11-30 Andrei Borzenkov <arvidjaar@gmail.com>
101
102 * grub-core/lib/syslinux_parse.c (free_menu): Do not free
103 inline array (CID 73610).
104
105 2014-11-28 Andrei Borzenkov <arvidjaar@gmail.com>
106
107 * grub-core/io/lzopio.c (test_header): Fix double free (CID 73665)
108 * grub-core/disk/geli.c (configure_ciphers): Fix memory leaks
109 (Coverity CID 73813, 73710)
110 * grub-core/disk/luks.c (configure_ciphers): Fix memory leaks
111 and use after free (Coverity CID 73813, 73710, 73730)
112 * grub-core/disk/luks.c (luks_recover_key): Fix memory leak (Coverity
113 CID 73854)
114 * util/grub-install-common.c (grub_install_get_target): Check return
115 value of grub_util_fd_read (Coverity CID 73819).
116 * util/grub-mkstandalone.c (add_tar_file): Fix out of bound access
117 to hd.magic (Coverity CID 73587, 73888, bug 43690).
118
119 2014-11-20 Andrei Borzenkov <arvidjaar@gmail.com>
120
121 * tests/util/grub-fs-tester.in: Consistently print output
122 of grub ls if test fails.
123
124 2014-11-07 Leif Lindholm <leif.lindholm@linaro.org>
125
126 * grub-core/kern/efi/init.c: check value of *path before
127 dereferencing.
128
129 2014-11-03 Michael Chang <mchang@suse.com>
130
131 * grub-core/net/icmp6.c (grub_net_recv_icmp6_packet): Fix size
132 of neighbor solicitation packet in grub_netbuff_pull.
133
134 2014-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
135
136 * grub-core/loader/arm/linux.c: Use full initializer for initrd_ctx to
137 avoid fatal warnings with older gcc (probably before 4.7).
138 * grub-core/loader/arm64/linux.c: Likewise.
139 * grub-core/loader/i386/linux.c: Likewise.
140 * grub-core/loader/i386/pc/linux.c: Likewise.
141 * grub-core/loader/ia64/efi/linux.c: Likewise.
142 * grub-core/loader/mips/linux.c: Likewise.
143 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
144 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
145
146 2014-09-25 Colin Watson <cjwatson@ubuntu.com>
147
148 Fix in-tree --platform=none
149
150 * configure.ac: Only remove include/grub/cpu and
151 include/grub/machine in the --platform=none case, not all of
152 include/grub.
153
154 2014-09-23 Colin Watson <cjwatson@ubuntu.com>
155
156 Add a new "none" platform that only builds utilities
157
158 * configure.ac: Add "none" platform. Default to it for unsupported
159 CPUs rather than stopping with a fatal error. Don't downgrade
160 x86_64-none to i386. Define COND_real_platform Automake conditional
161 if the platform is anything other than "none". Don't do any include
162 directory linking for "none".
163 * Makefile.am: Skip building grub-core and all bootcheck targets if
164 !COND_real_platform.
165 * include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
166 is defined.
167
168 2014-09-22 Andrei Borzenkov <arvidjaar@gmail.com>
169
170 Use grub_cpu_to_XXX_compile_time for constants.
171
172 2014-09-21 Valentin Dornauer <valentin@unimplemented.org>
173
174 The AML parser implements only a small subset of possible AML
175 opcodes. On the Fujitsu Lifebook E744 this and another bug in
176 the parser (incorrect handling of TermArg data types) would lead
177 to the laptop not turning off (_S5 not found).
178
179 * grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
180 in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
181 aren't always simply strings!); Add function to skip TermArgs
182 * include/grub/acpi.h: Add new opcodes
183
184 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/normal/main.c: Don't drop to rescue console in
187 case of password-protected prompt and no menu entries.
188
189 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/commands/keylayouts.c: Ignore unknown keys.
192
193 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/gmodule.pl.in: Accept newer binutils which output
196 empty column rather than 0x0.
197
198 2014-09-21 Michael Chang <mchang@suse.com>
199
200 * grub-core/osdep/unix/config.c: Remove extraneous comma.
201
202 2014-09-21 Peter Jones <pjones@redhat.com>
203
204 * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
205 we don't free a random pointer from the stack.
206 * grub-core/loader/arm64/linux.c: Likewise.
207 * grub-core/loader/i386/linux.c: Likewise.
208 * grub-core/loader/i386/pc/linux.c: Likewise.
209 * grub-core/loader/ia64/efi/linux.c: Likewise.
210 * grub-core/loader/mips/linux.c: Likewise.
211 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
212 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
213
214 2014-09-15 Khem Raj <raj.khem@gmail.com>
215
216 * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
217 _BSD_SOURCE to avoid warnings under glibc 2.20+.
218
219 2014-09-08 Michael Chang <mchang@suse.com>
220
221 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
222 check; comparing &data->extent against addresses in the region it
223 points to is unpredictable.
224
225 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
226
227 Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
228
229 * configure.ac: Remove -m64 from checks for -mcmodel=large and
230 -mno-red-zone. These are always either unnecessary (x86_64-emu) or
231 already in TARGET_CFLAGS at this point, and they produce incorrect
232 results when building for x32.
233 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
234 pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
235 * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
236 GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
237
238 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
239
240 * configure.ac: Remove several unnecessary semicolons.
241
242 2014-08-25 Colin Watson <cjwatson@ubuntu.com>
243
244 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
245 Initialise pend to pacify GCC.
246
247 2014-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
248
249 * util/grub-mkconfig.in: Fix typo (gettext_print instead of
250 gettext_printf).
251
252 2014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * grub-core/term/at_keyboard.c: Retry probing keyboard if
255 scancode setup failed.
256
257 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
260
261 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
264 safety to avoid triggerring VirtualBox bug.
265
266 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
269
270 Fixes hang on virtualbox.
271
272 2014-07-08 Colin Watson <cjwatson@ubuntu.com>
273
274 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
275 kernels whose paths contain regex metacharacters.
276 * util/grub.d/10_kfreebsd.in: Likewise.
277 * util/grub.d/10_linux.in: Likewise.
278 * util/grub.d/20_linux_xen.in: Likewise.
279
280 Reported by: Heimo Stranner.
281
282 2014-06-26 Colin Watson <cjwatson@ubuntu.com>
283
284 * docs/grub-dev.texi (Finding your way around): The build system no
285 longer uses AutoGen directly.
286
287 2014-06-21 Роман Пехов <roman_pekhov>
288
289 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
290
291 2014-06-21 Glenn Washburn <development@efficientek.com>
292
293 * util/grub-install.c: Fix handling of --disk-module.
294
295 2014-06-21 Stephane Rochoy <sheda>
296
297 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
298 EFI system table.
299
300 2014-06-21 Stephane Rochoy <sheda>
301
302 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
303 EFI system table physical address.
304
305 2014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
306
307 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
308
309 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
312
313 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
316 check.
317
318 2014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
321
322 Reported by: Yves Blusseau <blusseau@zetam.org>.
323
324 2014-04-20 Piotr Krysiuk <piotras@gmail.com>
325
326 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
327 GDT in conventional memory.
328
329 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
330
331 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
332 UUID. Other parts of grub-mkconfig tolerate these, they were
333 previously allowed here up to commit
334 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
335 practice when the system has active LVM snapshots.
336 Fixes Ubuntu bug #1287436.
337
338 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
339
340 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
341 "logical_volumes" block a little more accurately.
342
343 2014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
346
347 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
350 pulled from libgcc.
351
352 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
353
354 Replace few instances of memcmp/memcpy in the code that should be
355 grub_memcmp/grub_memcpy.
356
357 2014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
360 device names.
361
362 2014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
363
364 btrfs: fix get_root key comparison failures due to endianness
365
366 * grub-core/fs/btrfs.c (get_root): Convert
367 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
368
369 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
370
371 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
372
373 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
374 no longer to be forgiving of trailing spaces on grub-probe output
375 lines, which among other things means that util/grub.d/10_linux.in
376 no longer detects LVM. To fix this, make grub-probe's output
377 delimiting more consistent. As a bonus, this improves the coverage
378 of the -0 option.
379
380 Fixes Debian bug #735935.
381
382 * grub-core/disk/cryptodisk.c
383 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
384 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
385 Likewise.
386 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
387 Update prototype.
388 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
389 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
390 probe_mods): Adjust for extra user-data arguments.
391 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
392 probe_abstraction): Use configured delimiter. Update callers.
393
394 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
395
396 * util/grub-probe,c (options): Make -0 work again (broken by
397 conversion to argp).
398 (main): Simplify logic.
399
400 2014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
403
404 2014-03-26 Fu Wei <fu.wei@linaro.org>
405
406 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
407
408 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
411 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
412
413 Suggested by: Markus Müller.
414
415 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
418 if E820 failed to return any regions.
419
420 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
423 tables for low memory calculations.
424
425 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
428 location to 640K.
429
430 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
433 region.
434
435 2014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
438 exclusively.
439
440 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
441
442 Add bootpath parser for open firmware.
443
444 It enables net boot even when there is no bootp/dhcp server.
445
446 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
447 and call it at grub_ieee1275_net_config_real.
448 * grub-core/kern/ieee1275/init.c: Add bootpath to
449 grub_ieee1275_net_config.
450 * include/grub/ieee1275/ieee1275.h: Likewise.
451
452
453 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
454
455 Add grub_env_set_net_property function.
456
457 * grub-core/net/bootp.c: Remove set_env_limn_ro.
458 * grub-core/net/net.c: Add grub_env_set_net_property.
459 * include/grub/net.h: Likewise.
460
461 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
464
465 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
468
469 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
472 7 seconds to recover if last poweroff was bad.
473
474 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/disk/ahci.c: Properly handle transactions with no
477 transferred data.
478
479 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/disk/ahci.c: Add safety cleanups.
482
483 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
486 slots to avoid pointing to uninited area.
487
488 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
491 enabling busmaster for the end.
492
493 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * util/grub-mkfont.c: Downgrade warnings about unhandled features
496 to debug.
497
498 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
501
502 2014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
503
504 * .gitignore: add missing files and .exe variants.
505
506 2014-01-26 Mike Gilbert <floppym@gentoo.org>
507
508 grub-install: support for partitioned partx loop devices.
509
510 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
511 /dev/loopX as being the parent of /dev/loopXpY.
512
513 2014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
516 Ensure that pointers are inited to NULL and that pointers are not
517 accessed after free.
518
519 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
520
521 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
522 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
523 * include/grub/emu/misc.h: ... and here.
524 * include/grub/err.h: ... and here.
525 * util/import_gcry.py: ... and here (in files g10lib.h).
526
527 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
528
529 * util/grub-mkimage.c: Make prefix argument mandatory.
530
531 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
532
533 Fix several translatable strings.
534
535 Suggested by: D. Prévot.
536
537 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * util/grub-install.c: List available targets.
540
541 2014-01-23 Colin Watson <cjwatson@ubuntu.com>
542
543 * util/grub-install.c (write_to_disk): Add an info message.
544
545 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
546
547 * Makefile.am: Allow adding extra files to generated Windows ZIP
548 archive by setting GRUB_WINDOWS_EXTRA_DIST.
549
550 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
551
552 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
553 Show detected font path in summary.
554
555 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
556
557 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
558 interval gradually.
559 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
560 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
561 * grub-core/net/tftp.c (tftp_open): Likewise.
562 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
563
564 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
565
566 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
567 infinite loops.
568
569 In net/net.c there is a while (1) that only exits if there is a stop
570 condition and more then 10 packages or if there is no package received.
571
572 If GRUB is idle and enter in this loop, the only condition to leave is
573 if it doesn't have incoming packages. In a network with heavy traffic
574 this never happens.
575
576 2014-01-19 Colin Watson <cjwatson@ubuntu.com>
577
578 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
579 EPERM when modifying kern.geom.debugflags. It is only a problem for
580 such things as installing GRUB to the MBR, in which case there'll be
581 an error later anyway, not for opening files during tests.
582
583 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
584
585 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
586 instead of MOD_FILES.
587 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
588 both with and without .exe.
589 * grub-core/genemuinitheader.sh: Same.
590
591 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * util/grub-install.c: Fix a typo.
594
595 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * grub-core/normal/main.c (read_config_file): Buffer config file.
598 Reduces boot time.
599
600 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
601
602 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
603 symbolic link to directory. It fails in Msys shell on Windows 2003.
604
605 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * Makefile.am (default_payload.elf): Add modules
608 multiboot cbmemc linux16 gzio echo help.
609
610 2014-01-18 Mike Gilbert <floppym@gentoo.org>
611
612 * Makefile.util.def: Link grub-ofpathname with zfs libs.
613
614 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
617 conflicts.
618
619 Reported by: Andrey Borzenkov.
620
621 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
622
623 * include/grub/misc.h: Move macros for compiler features to ...
624 * include/grub/compiler.h: ... new file.
625 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
626 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
627 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
628 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
629 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
630 * grub-core/video/capture.c: Include <grub/misc.h>.
631 * include/grub/command.h: Include <grub/misc.h>.
632 * include/grub/dl.h: Include <grub/misc.h>.
633 * include/grub/procfs.h: Include <grub/misc.h>.
634
635 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
636
637 * configure.ac: Add support for BUILD_EXEEXT and use it ...
638 * Makefile.am: ... here.
639 * Makefile.util.def: ... and here.
640 * grub-core/Makefile.am: ... and here.
641
642 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
643
644 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
645 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
646
647 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/term/terminfo.c: Recognize keys F1-F12.
650
651 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
652
653 * configure.ac: Add support for BUILD_LDFLAGS.
654 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
655 * grub-core/Makefile.am: ... and here.
656 * INSTALL: Mention BUILD_LDFLAGS.
657
658 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
661
662 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
665 and has no //.
666
667 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * NEWS: Add few missing entries.
670
671 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
672
673 * util/grub.d/00_header.in (make_timeout): Use && rather than test
674 -a.
675 * util/grub.d/10_windows.in: Likewise.
676 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
677 than test -o.
678 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
679 rather than test -o.
680
681 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
682
683 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
684 redundant preprocessor conditional.
685
686 2014-01-08 Colin Watson <cjwatson@ubuntu.com>
687
688 * Makefile.util.def (grub-macbless): Change mansection to 8.
689
690 2014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
691
692 * grub-core/loader/arm64/linux.c: correctly set device path end length.
693
694 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
695
696 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
697 arm64 to comply with EFI specification. Also use grubaa64.efi for
698 consistency.
699 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
700
701 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
702
703 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
704 on MinGW-64 when compiling for 32 bits.
705
706 2013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
707
708 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
709
710 2013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * NEWS: Add few missing entries. Correct existing ones.
713
714 2013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
715
716 Don't abort() on unavailable coreboot tables if not running on coreboot.
717
718 2013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
719
720 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
721 on mingw.
722
723 2013-12-28 Colin Watson <cjwatson@ubuntu.com>
724
725 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
726 mention of it from 2.02.
727
728 2013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
731
732 As these functions are used on pre-ARMv6 CPUs as well we don't want
733 to make assembler assume that architecture is higher than default one.
734
735 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
736
737 * NEWS: First draft of 2.02 entry.
738
739 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
740
741 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
742 * docs/grub.texi (Getting the source code): Likewise.
743
744 2013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
745
746 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
747 detection.
748
749 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * configure.ac: Set version to 2.02~beta2.
752
753 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
756
757 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
758
759 * util/grub-probe.c: Improve help message and simplify list handling.
760
761 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
762
763 Fix buffer overflow in grub_efi_print_device_path.
764
765 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
766
767 Show SATA device path.
768
769 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
770
771 Revert grub-file usage in grub-mkconfig.
772
773 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
774
775 Make newly-created files other than grub.cfg world-readable.
776
777 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
778
779 * util/grub.d/00_header.in: Improve compatibility with old config.
780
781 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
782
783 Make rijndael.c respect aliasing rules.
784
785 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
786
787 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
788
789 Make grub_util_device_is_mapped_stat available in grub-emu core.
790
791 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
792
793 Add -Qn to TARGET_CFLAGS if it's supported.
794 Fixes compilation on cygwin.
795
796 Reported by: Andrey Borzenkov.
797 Suggested by: Andrey Borzenkov.
798
799 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
800
801 Save TARGET_CC version in modinfo.sh.
802
803 Suggested by: Andrey Borzenkov.
804
805 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
806
807 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
808 follow the same algorithm to avoid method mismatch. Don't assume
809 DMRAID- UUID to mean full disk but instead check that mapping is linear.
810
811 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Declare GRUB_EFI_VENDOR_APPLE_GUID.
814
815 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
816
817 Dump type and vendor specific data when printing device path.
818
819 2013-12-23 Colin Watson <cjwatson@debian.org>
820
821 Update some documentation to refer to Git rather than Bazaar.
822
823 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
824 than Bazaar.
825 * po/README: Likewise. Fix spelling mistake.
826
827 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
828
829 Don't distribute config.h.
830
831 * Makefile.am (platform_HEADERS): Move to ...
832 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
833 failure when building from a distributed tarball.
834
835 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
836
837 * configure.ac: Fix spelling.
838 * grub-core/commands/parttool.c: Fix grammar.
839 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
840 Embedding Partition".
841
842 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
843
844 ARM64 support for grub-mkrescue.
845
846 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
847
848 Install modinfo.sh to keep build information around.
849
850 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/modinfo.sh.in: Add build config information.
853
854 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
855
856 ARM64 grub-file and grub-mkconfig support.
857
858 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
859
860 Remove leftover options defines.
861
862 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
865
866 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/loader/arm64/linux.c: Add missing bracket.
869
870 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
871
872 Add arm64-efi recognition to grub-file.
873
874 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
875
876 Fix ia64-efi recognition in grub-file.
877
878 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
879
880 Recognize raspberry pi kernel in grub-file.
881
882 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
883
884 Enable cache on ARM U-Boot port.
885
886 Without it the port is reidiculously slow.
887
888 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
889
890 Fix ARM cache maintainance.
891
892 More code was converted from ASM to C for easier handling.
893
894 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
897 algorithm on v5.
898
899 Suggested by: Leif Lindholm.
900
901 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
902
903 * util/grub-mkconfig.in: Fix Xen platform conditions.
904
905 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
906
907 * util/grub-mkrescue.c: Split single help message string in several
908 strings used in previous shell version.
909
910 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
911
912 Add arm64 Linux loader.
913
914 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
915
916 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
917
918 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
919
920 Add module loading and parsing boot time checkpoints.
921
922 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
925 platforms.
926
927 2013-12-22 Lars Wendler <polynomial-c@gentoo.org>
928
929 * util/grub-mkconfig.in: Skip non-executable files.
930
931 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
932
933 Workaround buggy timer in raspberry pie by using our own timer
934 implementation.
935
936 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
939 Increase to 16 MiB to allow loading the whole memdisk.
940
941 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
942
943 Fix ARM Linux Loader on non-FDT platforms.
944
945 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * configure.ac: Choose link format based on host_os on emu.
948
949 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
952
953 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/kern/emu/main.c: Build fix for emu.
956
957 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
958
959 Build fixes for argp.h with older gcc.
960
961 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
964 in strings.
965
966 Suggested by: David Prévot.
967
968 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
971
972 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
973
974 Enable -Wformat=2 if it's supported.
975
976 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
979 -Wmissing-declarations if supported.
980
981 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
984 u32 as both HFS and HFS+ have 32-bit inodes.
985
986 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * include/grub/misc.h (grub_strtol): Fix overflow.
989
990 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
993 as return type in both conditionals.
994
995 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
998 to use uint8_t for color.
999
1000 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 * util/misc.c (grub_util_get_image_size): Check for overflow.
1003
1004 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
1007 for size.
1008
1009 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
1012 for pointer difference.
1013
1014 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * util/import_gcry.py: Skip sample keys.
1017
1018 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
1021
1022 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * configure.ac: Remove duplicate warning arguments.
1025
1026 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 Add missing static qualifiers.
1029
1030 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 Add missing includes.
1033
1034 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 Inline printf templates when possible to enable format checking.
1037
1038 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * include/grub/crypto.h: Don't discard const attribute.
1041
1042 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
1045 was intended.
1046
1047 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/lib/crypto.c: Don't discard const attribute.
1050
1051 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/lib/disk.c: Fix potential overflow.
1054
1055 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/lib/arg.c: Don't discard const attribute.
1058
1059 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/kern/dl.c: Don't discard const attribute.
1062
1063 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/kern/disk.c: Fix potential overflow.
1066
1067 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * conf/Makefile.common: Don't include non-existing directory
1070 grub-core/lib/libgcrypt-grub/include.
1071
1072 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 Clarify several translatable messages.
1075
1076 2013-12-21 David Prévot <david@tilapin.org>
1077
1078 Correct some translatable strings.
1079
1080 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
1081
1082 * util/grub-mkrescue.c: Rephrase mkrescue description.
1083
1084 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1085 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
1086
1087 Clarify several translatable messages.
1088
1089 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
1090
1091 Be more verbose about some configure failures.
1092
1093 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
1094
1095 Fix various build problems on GNU/Hurd.
1096
1097 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
1098 !defined (__GNU__).
1099 (xgetcwd): Likewise.
1100 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
1101 [__GNU__]: Add prototype.
1102 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
1103 long int using %ld rather than %d.
1104
1105 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * util/grub-install.c: Inform user about install platform.
1108
1109 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * configure.ac: Set version to 2.02~beta1.
1112
1113 2013-12-18 Allen Pais <allen.pais@oracle.com>
1114 2013-12-18 Bob Picco <bob.picco@oracle.com>
1115
1116 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
1117
1118 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 Make grub_zlib_decompress handle incomplete chunks.
1121
1122 Fixes squash4.
1123
1124 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
1127 on i386-multiboot.
1128
1129 2013-12-18 Aleš Nesrsta <starous@volny.cz>
1130
1131 * grub-core/disk/usbms.c: Retry on unknown errors.
1132 Reuse the same tag on retries.
1133
1134 2013-12-18 Aleš Nesrsta <starous@volny.cz>
1135
1136 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
1137
1138 Avoid confusing them with already completed transfers.
1139
1140 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 Remove xen VFB.
1143
1144 Due to XEN bug it prevents Linux boot. Remove it at least, until
1145 workaround is found.
1146
1147 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * po/exclude.pot: Add 2 missing excludes.
1150
1151 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 Add missing license section in macbless.mod and macho.mod.
1154
1155 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 Allow compilation without thumb-interwork as long as no thumb is
1158 involved or only thumb2 is used.
1159
1160 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * INSTALL: Update comment as to why sparc64 clang isn't usable.
1163
1164 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Add __attribute__ ((sysv_abi)) only if it's really needed.
1167
1168 Some compilers don't support it.
1169
1170 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
1173
1174 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 Remove -Wold-style-definition.
1177
1178 Not very useful and interaction of it with regexp depends on GCC
1179 version.
1180
1181 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 Make grub_util_get_windows_path_real static.
1184
1185 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/commands/fileXX.c: Silence cast-align.
1188 * grub-core/loader/i386/xen_fileXX.c: Likewise.
1189
1190 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
1193 rather than LL suffix.
1194
1195 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
1198
1199 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/loader/arm/linux.c: Use common initrd functions.
1202
1203 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 Decrease number of strings to translate.
1206
1207 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
1210
1211 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Mark strings for translation and add remaining ones to exclude list.
1214
1215 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * util/grub-file.c (main): Fix sizeof usage.
1218
1219 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 Silence spurious warning.
1222
1223 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 Remove check_nt_hiberfil as it's been superseeded by file command.
1226
1227 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * docs/osdetect.cfg: Add isolinux config to detected OSes.
1230
1231 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 Implement syslinux parser.
1234
1235 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
1238
1239 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 Support cpuid --pae.
1242
1243 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 Use AT keyboard on Yeeloong 3A.
1246
1247 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 Add Yeeloong 3A reboot and halt.
1250
1251 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 Add Radeon Yeeloong 3A support.
1254
1255 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 Add bonito 3A support.
1258
1259 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1262
1263 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1266
1267 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/loader/macho.c: Fix compilation on non-i386.
1270
1271 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 Add missing format_arg attribute to check that printf with translated
1274 messages has proper arguments.
1275
1276 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 Use grub_xasprintf to format translated error messages containing
1279 64-bit quantity.
1280
1281 2013-12-17 Jon McCune <jonmccune@google.com>
1282
1283 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1284
1285 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 Unify message for unsupported relocation.
1288
1289 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 Mark miscompile error for translation.
1292
1293 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 Use %I64 and not %ll when using OS printf if compiling for windows.
1296
1297 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Update Mac code to match new register_efi prototype.
1300
1301 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 Implement better integration with Mac firmware.
1304
1305 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1308 load_addr.
1309
1310 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 Include serial module in default_payload.elf.
1313
1314 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 Add explicit thumb interwork bx in asm files.
1317
1318 Shouldn't matter for armv >= 5 but let's be safe.
1319
1320 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 Implement Truecrypt ISO loader.
1323
1324 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1327
1328 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 Implement grub_file tool and use it to implement generating of config
1331 in separate root.
1332
1333 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 Change to v1 xen grants.
1336
1337 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1340
1341 GRUB relied on %ebx being preserved across hypercall which isn't true.
1342
1343 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1346
1347 GRUB relied on %rdi being preserved across hypercall which isn't true.
1348
1349 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 Implement XEN VFB support.
1352
1353 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 Remove grub_bios_interrupt on coreboot.
1356
1357 It's not used currently and cannot be used safely currently.
1358
1359 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 Update exclude.pot and mark few strings for translation.
1362
1363 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1366
1367 Reported by: Jon McCune
1368
1369 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1370
1371 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1372 Add verbose information which firmware directories were tried.
1373
1374 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1375
1376 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1377 function to optionally redirect all three standard descriptors.
1378 Redefine grub_util_exec, grub_util_exec_redirect and
1379 grub_util_exec_redirect_null to use it.
1380 * include/grub/emu/exec.h: Define it.
1381 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1382 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1383 Use grub_util_exec_redirect_all to redirect error to NULL.
1384
1385 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/tests/sleep_test.c: Silence spurious warning.
1388
1389 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1392 linker trying to "fixup" the code.
1393
1394 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1397
1398 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 Add support for converting PE+ to Elf64.
1401
1402 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1405
1406 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 Remove practice of assigning random const pointers to device id.
1409
1410 This is not required as cache code already checks driver id as well.
1411
1412 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1415 with mingw.
1416
1417 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1420 mingw or cygwin as API already matches.
1421
1422 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1425
1426 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1429 not on long.
1430
1431 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 Handle X86_64_PC64 relocation.
1434
1435 Those are generated by some cygwin compilers.
1436
1437 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Determine the need for mingw-related stubs at compile time rather than
1440 using not very significant $target_os.
1441
1442 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1445 may not work with ELF.
1446
1447 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 Use unix functions for temporary files and special files on cygwin.
1450
1451 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 Define functions explicitly rather than using --defsym in tests
1454 whenever possible. Respect locality in remaining cases.
1455
1456 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1459
1460 2013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1461
1462 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1463 unlikely errors when getting EFI variables and make exhaustive search
1464 for all BootNNNN variables to find matching one.
1465
1466 2013-12-15 Ian Campbell <ijc@hellion.org.uk>
1467
1468 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1469
1470 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 New functional test for sleep function.
1473
1474 This test allows to check sleep without qemu. Keep qemu version as
1475 well as functional test won't notice if all clocks are going too fast
1476 or too slow.
1477
1478 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 Add explicit sysv_abi on amd64 asm routines.
1481
1482 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1485 num_table_entries.
1486
1487 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1490 functions.
1491
1492 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1495 appropriate.
1496
1497 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1500
1501 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1504 appropriate.
1505
1506 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1509
1510 In case of quick removal of loopback and adding another one it may
1511 get same ID, confusing the cache system.
1512
1513 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1516 appropriate.
1517
1518 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1521 than converting to long.
1522
1523 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1526
1527 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1530 than almost useless pointer.
1531
1532 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 Add gcc_struct to all packed structures when compiling with mingw.
1535
1536 Just "packed" doesn't always pack the way we expect.
1537
1538 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1541
1542 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * util/grub-pe2elf.c: Fix handling of .bss.
1545
1546 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 Implement windows flavour of EFI install routines.
1549
1550 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1553
1554 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Change grub_install_register_efi interface to pass GRUB device.
1557
1558 This allows grub_install_register_efi to request partition info
1559 directly.
1560
1561 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1564
1565 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 Do not use TCHAR string functions as they are not available on cygwin.
1568
1569 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 Workaround windows bug when querying EFI system partition parameters.
1572
1573 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1576 by using bitfields.
1577
1578 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1581
1582 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 Make i386-* other than i386-pc compileable under cygwin.
1585
1586 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 Fix definition of grub_efi_hard_drive_device_path. Take care that
1589 existing code would work even if by some reason bogus definition is
1590 used by EFI implementations.
1591
1592 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1595
1596 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1599 invocation.
1600
1601 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * util/config.c: Remove trailing newline from distributor in simple
1604 parsing.
1605
1606 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * include/grub/efi/api.h: Rename protocol and interface to avoid
1609 conflict.
1610
1611 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * .gitignore: add .exe variants. add missing files. remove few outdated
1614 entries.
1615
1616 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/osdep/exec.c: Use unix version on cygwin.
1619
1620 2013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 Implement multiboot2 EFI BS specification.
1623
1624 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1627 Crash happened only in some cases like a string starting at the
1628 half of the screen of same length.
1629
1630 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1633 with EFI counterpart.
1634
1635 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 Propagate the EFI commits to x86-efi specific parts.
1638
1639 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1642
1643 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 Introduce grub_efi_packed_guid and use it where alignment is not
1646 guaranteed.
1647
1648 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1651 unaligned u16 rather than u8[2].
1652
1653 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1656 for relocation range.
1657
1658 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1661 non-function pcrel21b relocation. It happens with .text.unlikely
1662 section.
1663
1664 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1665
1666 * make MAX_USABLE_ADDRESS platform-specific
1667 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1668
1669 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1670
1671 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1672
1673 2013-12-09 Jon McCune <jonmccune@google.com>
1674
1675 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1676 in grub-install and grub-bios-setup for x86 BIOS targets.
1677
1678 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 Add missing compile and link options for sparc64-emu.
1681
1682 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 Implement sparc64 trampolines (needed for sparc64-emu).
1685
1686 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1689 range of R_SPARC_HI22.
1690 Implement R_SPARC_LM22.
1691
1692 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1695 Do not explicitly check for symbol table as it's already checked in
1696 platform-independent layer.
1697
1698 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1701 on ia64 as __clear_cache is a dummy on ia64.
1702
1703 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1706 Do not explicitly check for symbol table as it's already checked in
1707 platform-independent layer.
1708
1709 2013-12-09 Colin Watson <cjwatson@ubuntu.com>
1710
1711 * util/grub-mkconfig.in: Add missing newline to output.
1712
1713 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1716 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1717
1718 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1721 compilation with GCC <= 4.2.
1722 * grub-core/kern/emu/argp_common.c: Likewise.
1723
1724 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1727 right platform rather than leaking to sparc64-emu.
1728
1729 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1732 But ensure that the variables in question are indeed unsigned.
1733
1734 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1737
1738 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 Remove grub_memalign on emu.
1741
1742 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1745 truncate incomplete lines but instead flushes them.
1746
1747 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1750 and implement windows variant.
1751
1752 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 Fix mips-emu compilation.
1755
1756 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * configure.ac: Check for freetype library usability.
1759
1760 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Make arm-emu work.
1763
1764 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1767
1768 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1769
1770 * docs/grub.texi (Environment): Update color_normal and color_highlight
1771 defaults (light-gray instead of white).
1772
1773 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1774
1775 * grub-core/normal/main.c (INIT): Set default color to light-gray
1776 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1777 and apparently BIOS defaults.
1778
1779 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 Transform -C option to grub-mkstandalone to --core-compress available
1782 in all grub-install flavours.
1783
1784 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 Merge GRUBFS and GRUB_FS variables.
1787
1788 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1789
1790 Revert commit 69ca97c820, it caused failures when using OS device name
1791 in grub-install. Instead just strip off parenthesis in grub-install
1792 if (hdX) was passed.
1793
1794 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1795
1796 * util/grub-install.c (push_partmap_module): Add helper to convert
1797 partmap names to module names and use it in probe_mods(). Fixes
1798 failure to find partmap modules in diskfilter case.
1799
1800 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * configure.ac: Make unifont mandatory on coreboot.
1803
1804 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * configure.ac: Skip unifont 6.3 pcf and bdf.
1807
1808 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * Makefile.am: Remove partial font files if generation failed.
1811
1812 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1813
1814 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1815 strings.
1816 * include/grub/util/misc.h: Define it ...
1817 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1818
1819 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1820
1821 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1822 ${grub_probe}.
1823
1824 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 Don't add -mlong-calls when compiling with clang.
1827
1828 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * configure.ac: Fix a typo.
1831
1832 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 Revamp relocation handling.
1835
1836 Move more code to common dl.c. Add missing veneers for arm and arm64.
1837 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1838
1839 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1842
1843 2013-12-05 Mike Gilbert <floppym@gentoo.org>
1844
1845 * INSTALL: Raise minimum python version to 2.6.
1846 * gentpl.py: Use python3-style print function.
1847
1848 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * util/grub-install.c: Mention Boot* variable.
1851
1852 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1853
1854 * grub-core/osdep/linux/hostdisk.c
1855 (grub_util_find_partition_start_os): Initialise start to avoid
1856 spurious compiler warning.
1857
1858 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1859
1860 On Linux, read partition start offsets from sysfs if possible, to
1861 cope with block device drivers that don't implement HDIO_GETGEO.
1862 Fixes Ubuntu bug #1237519.
1863
1864 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1865 function.
1866 (sysfs_partition_start): Likewise.
1867 (grub_util_find_partition_start_os): Try sysfs_partition_start
1868 before HDIO_GETGEO.
1869
1870 2013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1871
1872 * grub-core/kern/fdt.c: Update struct size when adding node.
1873
1874 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 Handle unaligned .bss on sparc64.
1877
1878 Current code improperly assumes that both __bss_start and _end are
1879 aligned to 8-bytes. Eliminating this assumption and explicitly align
1880 modules.
1881
1882 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1885 so it doesn't land in the middle of loaded image.
1886
1887 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * configure.ac: Move all warning options that may be absent in
1890 gcc >= 3.1 to optional.
1891
1892 Note: while this allows to compile with older GCC, official requirements
1893 remain the same and no support for older GCC.
1894
1895 2013-12-04 Colin Watson <cjwatson@ubuntu.com>
1896
1897 Copying the themes directory in grub-shell isn't
1898 parallel-test-friendly and breaks on the second test when the source
1899 directory is read-only (as in "make distcheck"). Instead, add a
1900 hidden --themes-directory option to grub-mkrescue et al, and use it
1901 in grub-shell.
1902
1903 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1906 as it's no longer necessarry.
1907
1908 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * configure.ac: Allow compilation with older GCC for ARM.
1911
1912 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1915 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1916 ppc.
1917
1918 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1921
1922 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 Pass font config to config.h and not by TARGET_CFLAGS as adding
1925 arguments doesn't work if TARGET_CFLAGS is specified on command
1926 line.
1927
1928 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * configure.ac: Add -Wvla if compiler supports it.
1931
1932 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1935 Remove variable length arrays.
1936 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1937
1938 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1941
1942 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * include/grub/types.h: Declare all byteswaps as inline functions
1945 except compile-time ones.
1946
1947 Solves variable shadowing in constructions like
1948 cpu_to_le (le_to_cpu(x) + 1).
1949
1950 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1953
1954 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1957 minutes.
1958
1959 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1962 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1963
1964 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1965
1966 * grub-core/Makefile.core.def (setjmp): Distribute
1967 lib/arm64/setjmp.S.
1968
1969 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1970
1971 Add a new timeout_style environment variable and a corresponding
1972 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1973 controls hidden-timeout handling more simply than the previous
1974 arrangements, and pressing any hotkeys associated with menu entries
1975 during the hidden timeout will now boot the corresponding menu entry
1976 immediately.
1977
1978 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1979 generates a warning, and if it shows the menu it will do so as if
1980 the second timeout were not present. Other combinations are
1981 translated into reasonable equivalents.
1982
1983 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1984
1985 2013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * util/config.c: Add missing pointer adjustment.
1988 Reported by: qwertial
1989
1990 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1991
1992 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1993 directly, not via `cpu' link, to fix libgrub.pp generation.
1994
1995 2013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1996
1997 New port arm64-efi.
1998
1999 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
2000
2001 * docs/grub.texi (sleep): Document exit codes.
2002
2003 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 Ensure that -mno-unaligned-access or some equivalent option is used.
2006
2007 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
2010 -march=armv3.
2011
2012 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
2015
2016 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
2017
2018 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
2019 builds, since we don't have an EPS version of font_char_metrics.png.
2020 Add leading dot to image extension per the Texinfo documentation.
2021
2022 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
2023
2024 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
2025 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
2026 * util/grub-gen-widthspec.c: Likewise.
2027 * util/grub-mkfont.c: Likewise.
2028
2029 2013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
2030
2031 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
2032 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
2033 failed to install on (hdX).
2034 * util/grub-setup.c (get_device_name): Remove, not needed after
2035 above change.
2036
2037 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
2040
2041 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * util/grub-fstest.c: Remove variable length arrays.
2044
2045 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * grub-core/osdep/linux/ofpath.c: Check return value of read.
2048
2049 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
2052 computing crc32 rather than handling with md fundtions directly.
2053
2054 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
2057 checking fwstart.img rather than md fundtions directly.
2058
2059 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * util/grub-mkrescue.c (main): Check that fread succeeded.
2062
2063 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * conf/Makefile.common: Remove -mexplicit-relocs and
2066 -DUSE_ASCII_FALLBACK on yeeloong.
2067
2068 -DUSE_ASCII_FALLBACK is already added by font snippets.
2069 -mexplicit-relocs isn't needed is compiler/assemblera are
2070 configured properly.
2071 If they're not we shouldn't attempt to fix it by ourselves.
2072 Binary compare between before and after shows no difference.
2073
2074 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
2077 sources in dependencies directly.
2078
2079 This was the only instance of "library" in core config. A bug was
2080 reported that -fno-stack-protector wasn't passed to it. Instead of
2081 figuring out why it failed just remove this construction used
2082 needlessly.
2083
2084 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/osdep/unix/password.c (grub_password_get): Check that
2087 fgets succeeded.
2088
2089 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
2090
2091 * docs/grub.texi (ls): Fix command description in case of a device name
2092 passed as argument.
2093
2094 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 Eliminate variable length arrays in grub_vsnprintf_real.
2097
2098 A bit tricky because this function has to continue to work without
2099 heap for short strings. Fixing prealloc to 32 arguments is reasonable
2100 but make all stack references use 32-bit offset rather than 8-bit one.
2101 So split va_args preparsing to separate function and put the prealloc
2102 into the caller.
2103
2104 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
2107 Fixes build for windows.
2108
2109 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * gentpl.py: Don't generate platform-dependent conditionals for
2112 platform-independent targets.
2113
2114 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2115
2116 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
2117 references to mdadm from otherwise generic code.
2118 (grub_util_exec_pipe): Likewise.
2119 (grub_util_exec_pipe_stderr): Likewise.
2120 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
2121 This function calls vgs, not mdadm; adjust variable names
2122 accordingly.
2123
2124 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2125
2126 Generate Makefile.*.am directly from gentpl.py, eliminating the use
2127 of Autogen. The Autogen definitions files remain intact as they
2128 offer a useful abstraction.
2129
2130 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2131
2132 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
2133 into no-ops, and use it in programs that copy files but do not need
2134 to take special care to sync writes (grub-mknetdir, grub-rescue,
2135 grub-mkstandalone).
2136
2137 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
2138
2139 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
2140 than hardcoding /usr/local/bin/xorriso.
2141
2142 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 Add PCI command activation to all PCI drivers as required for coreboot
2145 and maybe some other firmwares.
2146
2147 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
2150 and non-Apple variants of efiemu compile.
2151
2152 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
2153
2154 * configure.ac: Add explicit check for linking format of
2155 efiemu64; save it as EFIEMU64_LINK_FORMAT.
2156 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
2157 hardcoding linking format.
2158
2159 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
2162 and not pkgdatadir.
2163
2164 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
2165 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 Add a --locale-directory option to grub-install and related tools.
2168
2169 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
2170 --locale-directory option.
2171 (enum grub_install_options): Add
2172 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2173 * util/grub-install-common.c (grub_install_help_filter): Handle
2174 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2175 (grub_install_parse): Likewise.
2176 (get_localedir): New function to check for a user-provided option
2177 before trying grub_util_get_localedir.
2178 (copy_locales): Use get_localedir rather than
2179 grub_util_get_localedir. Handle differing locale directory layouts.
2180 (grub_install_copy_files): Likewise.
2181
2182 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
2185 Don't rely on PATH_MAX.
2186
2187 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/genmoddep.awk: Use more portable && rather than and.
2190
2191 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
2194 an object after data. While it doesn't seem right solution, it
2195 works well enough and OSX isn't main compilation platform.
2196
2197 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
2200 While it doesn't seem right solution, it works well enough and
2201 OSX isn't main compilation platform.
2202
2203 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * configure.ac: Add -static to LDFLAGS when using apple linker to
2206 prevent it from pulling in dynamic linker.
2207
2208 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 Apple assembly doesn't handle symbol arithmetic well. So define an
2211 offset symbol in boot.S and use it.
2212
2213 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 Apple assembly doesn't handle symbol arithmetic well. So instead
2216 of getting addres of kernel_sector + 4 define kernel_sector_high.
2217 It also makes code more readable.
2218
2219 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 With Apple assembly in .macro environvemnt you have to use $$ instead
2222 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
2223 to $$x on Apple and to $x on everything else.
2224
2225 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
2228 OBJCONV.
2229
2230 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
2233 and non-Apple. This instruction is shorter and faster,
2234 so no reason not to use it on both.
2235
2236 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
2239 .text when compiling for Apple.
2240
2241 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/term/arc/console.c: Add missing cast to silence warning.
2244
2245 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2248 %dx restore the probe worked on non-existant drive. Reorganize the
2249 code a little bit to free 2 bytes necessary for push/pop.
2250
2251 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2254 Add missing cast to silence warning.
2255
2256 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2257
2258 * util/grub-install.c (update_nvram): Support --no-nvram flag
2259 for EFI targets.
2260
2261 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2264
2265 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * util/garbage-gen.c: Add missing include of sys/time.h.
2268
2269 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 Don't add -mflush-func if it's not supported by compiler.
2272
2273 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 Move common BIOS/coreboot memory map declarations to
2276 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2277
2278 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2279
2280 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2281
2282 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * INSTALL: Document why older clang versions aren't appropriate.
2285
2286 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * INSTALL: Document about clang for mips.
2289
2290 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2293 clang.
2294
2295 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 Add *-xen to the list of grub-install-common platforms.
2298
2299 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2302 3 last commits.
2303
2304 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2307
2308 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2311 with -mcmodel=large.
2312
2313 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2316 range-checking for 32-bit quantities.
2317
2318 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * configure.ac: Compile with -fPIC when compiling with clang on
2321 mips.
2322
2323 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2326 when compiling with clang.
2327
2328 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 clang emits calls to abort () under some unknown conditions.
2331 Export abort () when compiling with clang.
2332
2333 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * docs/grub-dev.texi: Document stack and heap sizes.
2336
2337 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * include/grub/i386/pc/memory.h: Decrease
2340 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2341 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2342 The binary doesn't change (checked). It's more to better reflect actual
2343 usage.
2344
2345 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2348 at compile time that enough of scratch size is available.
2349
2350 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2353 Previously we misaligned stack by 8 in startup.S and compensated
2354 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2355 right behaviour is to align stack in startup.S and keep it aligned
2356 in callwrap.S. startup.S part was committed few commits before. This
2357 takes care of callwrap.S.
2358 Reported by: Gary Lin.
2359
2360 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2363 .data and .bss. May happen if compiler and assembly use different
2364 alignment.
2365
2366 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2369 way.
2370
2371 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 Add support for a new magic symbol _gp_disp on mips to handle PIC
2374 binaries.
2375
2376 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2379
2380 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2383 when rest of GRUB is compiled for hisher stepping. Instead use
2384 .set mips3/.set mips1 around cache and sync opcodes.
2385
2386 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2389 do essentially the same thing, do it in similar way.
2390
2391 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2392
2393 * util/grub-mkrescue.c (main): If a source directory is not
2394 specified, read platform-specific files from subdirectories of
2395 pkglibdir, not pkgdatadir.
2396
2397 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2398
2399 * grub-core/normal/progress.c: Remove unused file.
2400
2401 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2404 array.
2405
2406 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2409 than grub.cfg.
2410
2411 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * coreboot.cfg: Add missing file.
2414
2415 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2418
2419 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2420
2421 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2422 selectively skipping systems.
2423
2424 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2425
2426 * Makefile.util.def (grub-mkimage): Add
2427 grub-core/osdep/aros/config.c to extra_dist.
2428 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2429 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2430 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2431 grub-core/gnulib-no-gets.diff.
2432
2433 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 Add automated filesystem checking based on scripts I've used now for
2436 quite some time locally. Most of the test require root so they are
2437 skipped when run without necessarry privelegies.
2438
2439 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2440
2441 * util/grub-install.c (main): Adjust info messages to match
2442 installed paths of grub-bios-setup and grub-sparc64-setup.
2443
2444 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2445
2446 * util/grub-install-common.c (copy_locales): Consistently use
2447 grub_util_get_localedir () rather than LOCALEDIR.
2448 (grub_install_copy_files): Likewise.
2449
2450 2013-11-19 Josh Triplett <josh@joshtriplett.org>
2451
2452 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2453 16-byte boundary, as required by the x86-64 ABI, before calling
2454 grub_main. In some cases, GCC emits code that assumes this
2455 alignment, which crashes if not aligned. The EFI firmware is also
2456 entitled to assume that stack alignment without checking.
2457
2458 2013-11-18 Josh Triplett <josh@joshtriplett.org>
2459
2460 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2461 4k page boundaries as expected by firmware rather than 1k
2462 boundaries.
2463 (grub_mmap_malign_and_register): Likewise.
2464
2465 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2468 fragmentation 512M is enough.
2469
2470 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2473 pointer to 32K. This is the size of cache element which is the most
2474 common allocation >1K. This way the pointer is always around blocks
2475 of 32K and so we keep performance while decreasing fragmentation.
2476
2477 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2480 current memory when allocating large chunks. This significantly
2481 decreases memory fragmentation.
2482
2483 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2484
2485 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2486 but for symmetry).
2487 * tests/lzocompress_test.in: Skip if lzop is not installed.
2488 * tests/xzcompress_test.in: Skip if xz is not installed.
2489
2490 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2491
2492 * util/grub-mkrescue.c (main): Fix typo.
2493
2494 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2497 clock frequency to 200 MHz,
2498
2499 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2502
2503 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2506 Load config file from (cbfsdisk)/etc/grub.cfg.
2507
2508 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * util/grub-install-common.c (grub_install_copy_files): Fix module
2511 destination directory.
2512
2513 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2514
2515 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2516 files have not been built.
2517
2518 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2519
2520 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2521 Handle errors from mkstemp.
2522 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2523
2524 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2527 on primary master on pseries.
2528
2529 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2532 already loaded. This saves memory needed for tests,
2533
2534 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2537 work again.
2538
2539 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2542 work again.
2543
2544 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2547 master since with some combinations of qemu and firmware only primary
2548 IDE channel is available.
2549
2550 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2553 low-memory platforms where we don't have enough memory for them.
2554 * grub-core/tests/videotest_checksum.c: Likewise.
2555
2556 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2559 already loaded. This saves memory needed for tests,
2560
2561 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 Fix handling of install lists.
2564
2565 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2568
2569 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2572 the devices before accessing them.
2573
2574 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2577 as file argument.
2578
2579 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2582
2583 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2586 (grub_file_close): Free file->name.
2587
2588 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2591 (grub_load_public_key): Likewise.
2592 (grub_verify_signature_real): Likewise.
2593 (grub_cmd_verify_signature): Likewise.
2594
2595 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2598 memory leak.
2599
2600 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2603 (grub_longjmp): Restore r31.
2604 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2605
2606 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2609 modules to be in line with make_image_abs.
2610
2611 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2614
2615 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2616
2617 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
2618
2619 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2620
2621 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2624 to leave some memory to firmware.
2625
2626 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2629 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2630 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2631 Load gfxmenu.
2632
2633 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2636 now needs full arguments.
2637
2638 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * util/grub-mkrescue.c (main): Add trailing \n in
2641 .disk_label.contentDetails to be in line with previous shell script.
2642
2643 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2646
2647 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * util/grub-install-common.c (grub_install_parse): Recognize
2650 --compress=none like shell script did.
2651
2652 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * include/grub/misc.h: Replace check for __sparc64__ with one for
2655 __sparc__ as __sparc64__ isn't actually defined.
2656
2657 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2660 counterpart of fixing the naming of escc ports.
2661
2662 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * util/grub-install-common.c (platforms): Fix the order of entries and
2665 remove useless field val.
2666
2667 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * util/grub-install.c: Add new option --no-bootsector to skip
2670 installing of bootsector. Accept --grub-setup=/bin/true as
2671 backwards-compatible synonym.
2672
2673 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2674
2675 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2676 order of qsort arguments (number of elements vs. element size).
2677
2678 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2681 the function of these files exceeds what can be sanely handled in shell
2682 in posix-comaptible way. Also writing it in C extends the functionality
2683 to non-UNIX-like OS and minimal environments.
2684
2685 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2688 compiling to thumb2.
2689 * grub-core/kern/arm/cache_armv7.S: Likewise.
2690 * grub-core/lib/arm/setjmp.S: Likewise.
2691
2692 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2693
2694 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2695 in grub_uboot_syscall
2696
2697 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 Decrease stack usage in lexer.
2700
2701 We have only 92K of stack and using over 4K per frame is wasteful
2702
2703 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2704 as macros so that compiler would remove useless structure on stack.
2705 Better solution would be to fix flex not to put this structure on
2706 the stack but flex is external program.
2707
2708 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 Decrease stack usage in signature verification.
2711
2712 We have only 92K of stack and using over 4K per frame is wasteful
2713
2714 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2715 rather than stack.
2716 (grub_verify_signature_real): Likewise.
2717
2718 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 Decrease stack usage in mdraid 0.9x.
2721
2722 We have only 92K of stack and using over 4K per frame is wasteful
2723
2724 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2725 rather than stack.
2726
2727 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Decrease stack usage in BtrFS.
2730
2731 We have only 92K of stack and using over 4K per frame is wasteful
2732
2733 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2734 rather than stack.
2735
2736 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 Decrease stack usage in JFS.
2739
2740 We have only 92K of stack and using over 4K per frame is wasteful
2741
2742 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2743 stack. Note: this function is recursive.
2744 (grub_jfs_read_inode): Read only part we care about.
2745
2746 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2747
2748 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2749 handling
2750
2751 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2752
2753 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2754
2755 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2756
2757 * docs/grub.texi (Environment): Document cmdpath.
2758
2759 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2760
2761 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2762 Remove "unused" attribute from arguments, they are used.
2763
2764 2013-11-15 Colin Watson <cjwatson@debian.org>
2765
2766 * .gitignore: Only ignore grub-mk* at the top level.
2767
2768 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
2769
2770 * util/grub-reboot.in (usage): Fix a typo.
2771
2772 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 Replace libgcc version of ctz with our own.
2775
2776 On upcoming arm64 port libgcc ctz* are not usable in standalone
2777 environment. Since we need ctz* for this case and implementation is
2778 in C we may as well use it on all concerned platforms.
2779
2780 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * configure.ac: Probe for linking format rather than guessing it based
2783 on target_os.
2784
2785 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2788 "1" prior to handoff.
2789
2790 Reported by: M A Young.
2791
2792 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2795 \0 to all files.
2796
2797 Reported by: M A Young.
2798
2799 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2802 compilation on NetBSD.
2803
2804 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * acinclude.m4: Don't add -P on initial nm test.
2807
2808 Note: even though this patch postdates Andrey's it bears 14 Nov as
2809 date due to timezone difference.
2810
2811 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2812
2813 * grub-core/Makefile.core.def (signature_test): Add missing
2814 tests/signatures.h.
2815
2816 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2817
2818 * util/grub-install_header: Set localedir here, since this file is
2819 where it's used.
2820 * util/grub-install.in: Remove setting of localedir.
2821 * util/grub-mkrescue.in: Likewise.
2822
2823 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2826
2827 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * configure.ac: Move nm checks to the end.
2830 Call grub_PROG_NM_WORKS.
2831 * acinclude.m4: New check grub_PROG_NM_WORKS.
2832 Use $TARGET_CFLAGS -c when compiling test binary.
2833
2834 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2835
2836 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2837 unused variables.
2838
2839 2013-11-14 Matthew Garrett <mjg@redhat.com>
2840
2841 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2842 cmdpath to firmware directory.
2843
2844 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2847 at the start of second iteration.
2848
2849 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2852
2853 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * Makefile.am (default_payload.elf): New target for easier coreboot
2856 build.
2857
2858 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2861 clang (not necessarry with -no-integrated-as).
2862 * include/grub/symbol.h [__arm__]: Likewise.
2863
2864 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * configure.ac: Use -no-integrated-as on arm with clang.
2867 * INSTALL: Mention ARM compilation with clang.
2868
2869 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2872 -mthumb-interwork.
2873
2874 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2875
2876 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2877 code for indirect block handling.
2878
2879 Saves 185 bytes on compressed image.
2880
2881 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2882
2883 Fix make clean.
2884
2885 * Makefile.am: Remove build-grub-* in make clean.
2886
2887 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2888
2889 New files to gitignore.
2890
2891 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2892 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2893
2894 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2895
2896 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2897
2898 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2899
2900 * .gitignore: fix rules for .dep* and add *.a post git migration
2901
2902 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2903
2904 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2905 to match INSTALL.
2906
2907 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2908
2909 * grub-core/kern/misc.c: Don't redirect divisions in the
2910 GRUB_UTIL case.
2911 * include/grub/misc.h: Likewise.
2912
2913 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2914
2915 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2916 systems that require checking the return value of write.
2917
2918 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2919
2920 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2921 efibootmgr quiet when --debug is not used, rather than when it is.
2922
2923 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2924
2925 * gentpl.py (define_macro_for_platform_dependencies): Remove
2926 first (and thus unused) of two definitions for this function.
2927 (platform_dependencies): Likewise.
2928
2929 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2930
2931 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2932 functions, we only need to check this for the target, not the host.
2933 * configure.ac (grub_apple_cc): Likewise.
2934
2935 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2938 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2939 asm to stay in arm even if surrounding is thumb.
2940
2941 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2944 helper functions are needed for thumb.
2945
2946 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2949 level / 3 division explicitly unsigned. Saves few bytes.
2950
2951 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2954
2955 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2958 division.
2959
2960 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2963 grub_uboot_boot_data to asm part.
2964
2965 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2968 literal load.
2969 (grub_uboot_syscall): Save/restore r9 and align stack.
2970
2971 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2974
2975 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2978 occurencies with END.
2979
2980 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2981
2982 * util/grub-editenv.c (help_filter, argp): Document how to delete
2983 the whole environment block.
2984 Reported by Dan Jacobson. Fixes Debian bug #726265.
2985
2986 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2987
2988 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2989 sectioning.
2990
2991 2013-11-13 Josh Triplett <josh@joshtriplett.org>
2992
2993 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2994 increment/decrement.
2995
2996 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2999 compiling with clang.
3000
3001 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
3004 ".".
3005
3006 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 Redirect all divisions to grub_divmod64.
3009
3010 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
3013
3014 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 Add missing includes of loader.h.
3017
3018 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * configure.ac: Allow disabling themes.
3021
3022 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
3023
3024 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
3025
3026 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
3029 until it becomes operational.
3030
3031 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/Makefile.core.def (legacy_password_test): Disable
3034 on platforms where no legacycfg is compiled.
3035 * grub-core/tests/lib/functional_test.c: Tolerate failure to
3036 load legacy_password_test.
3037
3038 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3041
3042 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/efiemu/prepare.c: Remove variable length arrays.
3045
3046 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
3049 strict-aliasing warning.
3050 (fsync): Silence cast warning.
3051
3052 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/commands/verify.c: Remove variable length arrays.
3055 Load gcry_dsa/gcry_rsa automatically.
3056
3057 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/tests/signature_test.c: New test.
3060
3061 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
3064 API.
3065
3066 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/tests/legacy_password_test.c (vectors): Make static.
3069 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
3070
3071 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
3074
3075 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/fs/proc.c: Allow \0 in proc files.
3078
3079 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
3082
3083 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
3086
3087 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/fs/ext2.c: Remove variable length arrays.
3090
3091 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
3094 length arrays.
3095
3096 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
3099 * grub-core/disk/cryptodisk.c: Likewise.
3100 * grub-core/disk/geli.c: Likewise.
3101 * grub-core/disk/luks.c: Likewise.
3102
3103 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/tests/legacy_password_test.c: New test.
3106 * grub-core/commands/legacycfg.c: Remove variable length arrays.
3107
3108 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
3111
3112 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/tests/pbkdf2_test.c: New test.
3115
3116 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
3119
3120 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * grub-core/io/lzopio.c: Remove variable length arrays.
3123
3124 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * include/grub/crypto.h: Add maximums on hash size and cipher block
3127 size.
3128
3129 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
3132
3133 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/tests/xnu_uuid_test.c: New test.
3136
3137 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
3140 covers it).
3141
3142 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/commands/hashsum.c: Remove variable length arrays.
3145
3146 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
3149 condition.
3150 * tests/grub_func_test.in: Increase memory allocation.
3151
3152 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
3155 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
3156 sys/mount.h.
3157
3158 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
3161 (grub_util_get_fd_size_os): ...this.
3162 (grub_hostdisk_flush_initial_buffer): New empty function.
3163
3164 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * grub-core/gensyminfo.sh.in: Handle the case of portable output
3167 without --defined-only.
3168
3169 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
3172 rip-relative addressing in prologue.
3173
3174 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
3177 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
3178
3179 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3182 Add missing semicolon.
3183
3184 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
3187
3188 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * configure.ac: Check for lzma.h for enabling liblzma and allow
3191 manual disabling.
3192
3193 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 Add missing includes of loader.h.
3196
3197 2013-11-11 Fam Zheng <famcool@gmail.com>
3198
3199 * util/grub.d/30_os-prober.in: Add minix entry.
3200
3201 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
3204 right buffer for temporary load.
3205
3206 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
3209
3210 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
3213 payload.
3214
3215 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
3218 not Types.h.
3219 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
3220 environment.
3221 (LzmaDec_InitDicAndState): Make static.
3222
3223 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
3226
3227 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
3230
3231 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
3232
3233 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * docs/grub-dev.texi: Replace bzr references with git ones.
3236
3237 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3238
3239 * docs/grub.texi (Simple configuration): Remove reference to
3240 grub-reboot from saved default entry description - grub-default
3241 does not use it anymore.
3242
3243 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * configure.ac: Make efiemu test cflags match the cflags efiemu is
3246 compiled with.
3247
3248 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3249
3250 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3251
3252 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 Fix grub_machine_fini bitrot.
3255
3256 Reported by: Glenn Washburn.
3257
3258 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3261
3262 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3265 -DELF.
3266 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3267 instead of ELF*.
3268
3269 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3272 Add -march=core2 when testing compile of efiemu64.
3273
3274 Thanks Andrey Borzenkov for spotting this.
3275
3276 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3279 XEN PV environment and load kernels.
3280
3281 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3284 * grub-core/loader/multiboot_mbi2.c: Likewise.
3285
3286 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3289 handling.
3290
3291 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3294
3295 Tested by: Denis 'GNUtoo' Carikli.
3296
3297 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3300
3301 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3304 Use to get rounded angle rather than truncated.
3305
3306 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * grub-core/term/serial.c: Add option for enabling/disabling
3309 RTS/CTS flow control.
3310
3311 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3314 divisions.
3315
3316 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3319 Use grub_fatal rather than divide by zero.
3320 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3321
3322 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3325 truncate.
3326 (grub_fixed_fsf_divide): Likewise.
3327
3328 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3331 division by-zero and senseless negative divisions.
3332
3333 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3336 division by-zero and senseless negative divisions.
3337 (circprog_set_property): Don't accept negative num_ticks.
3338
3339 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3342 division by-zero and senseless negative divisions.
3343
3344 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * configure.ac: Use elf_*_fbsd on kfreebsd.
3347
3348 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/tests/div_test.c: New test.
3351
3352 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3353
3354 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3355 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3356 * grub-core/gfxmenu/view.c: Likewise.
3357 * grub-core/video/fb/video_fb.c: Introduce new functions:
3358 grub_video_set_area_status, grub_video_get_area_status,
3359 grub_video_set_region, grub_video_get_region.
3360 * grub-core/video/bochs.c: Likewise.
3361 * grub-core/video/capture.c: Likewise.
3362 * grub-core/video/video.c: Likewise.
3363 * grub-core/video/cirrus.c: Likewise.
3364 * grub-core/video/efi_gop.c: Likewise.
3365 * grub-core/video/efi_uga.c: Likewise.
3366 * grub-core/video/emu/sdl.c: Likewise.
3367 * grub-core/video/radeon_fuloong2e.c: Likewise.
3368 * grub-core/video/sis315pro.c: Likewise.
3369 * grub-core/video/sm712.c: Likewise.
3370 * grub-core/video/i386/pc/vbe.c: Likewise.
3371 * grub-core/video/i386/pc/vga.c: Likewise.
3372 * grub-core/video/ieee1275.c: Likewise.
3373 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3374 * include/grub/video.h: Likewise.
3375 * include/grub/video_fb.h: Likewise.
3376 * include/grub/fbfill.h: Updated render_target structure.
3377 grub_video_rect_t viewport, region, area
3378 int area_offset_x, area_offset_y, area_enabled
3379 * include/grub/gui.h: New helper function
3380 grub_video_bounds_inside_region.
3381 * docs/grub-dev.texi: Added information about new functions.
3382
3383 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3386 for alignment.
3387
3388 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3391 missing attribute.
3392 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3393
3394 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3397 simple division on arm and ia64.
3398
3399 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3402 link with libgcc.
3403
3404 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3407
3408 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3411 prefix symbol, not @.
3412
3413 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * INSTALL: Add note about older gcc and clang.
3416
3417 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3420
3421 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3424 NULL pointer dereference.
3425
3426 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3429 clang.
3430
3431 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3434 warnings.
3435
3436 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3439 function.
3440 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3441 * grub-core/disk/geli.c (ascii2hex): Likewise.
3442
3443 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * configure.ac: Run linker tests without -Werror.
3446 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3447 Change all occurences of -static-libgcc resp -lgcc to
3448 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3449
3450 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3453
3454 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 Allow compiling with clang (not really supported though).
3457
3458 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3459 unconditionally.
3460 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3461 Add -mrtd -mregparm=3 on i386 when not using clang.
3462 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3463
3464 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3467 bindings.
3468 * grub-core/lib/reed_solomon.c: Likewise.
3469 * include/grub/i386/gdb.h: Likewise.
3470 * include/grub/i386/pc/int.h: Likewise.
3471 * include/grub/i386/pc/pxe.h: Likewise.
3472 * include/grub/ieee1275/ieee1275.h: Likewise.
3473
3474 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 Import libgcrypt 1.5.3.
3477
3478 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * configure.ac: Don't add -Wcast-align on x86.
3481
3482 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * configure.ac: Add -freg-struct-return on all platforms that
3485 support it.
3486
3487 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * acinclude.m4: Use -Werror on parameter tests.
3490 * configure.ac: Likewise.
3491
3492 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3495
3496 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * configure.ac: Check that -malign-loops works rather than assuming that
3499 either -falign-loops or -malign-loops work.
3500
3501 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3504
3505 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * configure.ac: Prevent cflags leaking to subsequent tests by always
3508 resetting cflags to target_cflags in target tests.
3509
3510 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3513 function.
3514
3515 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3518
3519 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3522
3523 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/normal/cmdline.c (grub_cmdline_get):
3526 Remove nested functions.
3527
3528 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * tests/test_sha512sum.in: Make it work on emu.
3531
3532 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3535 functions.
3536 (grub_bidi_line_logical_to_visual): Likewise.
3537
3538 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 Remove vestiges of -Wunsafe-loop-optimisations.
3541
3542 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3543 -Wno-unsafe-loop-optimisations.
3544 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3545 pragma.
3546 * grub-core/io/gzio.c: Likewise.
3547 * grub-core/script/parser.y: Likewise.
3548 * grub-core/script/yylex.l: Likewise.
3549 * util/grub-mkfont.c: Likewise.
3550
3551 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * util/grub-mkfont.c (process_cursive): Remove nested function.
3554
3555 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3558 (grub_boot_time): Likewise.
3559
3560 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * include/grub/symbol.h (FUNCTION): Use @function rather than
3563 "function".
3564 (VARIABLE): Likewise.
3565
3566 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3569
3570 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3573 (parse_dhcp_vendor): Likewise.
3574
3575 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3578
3579 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3582 Define after defining type and not before.
3583
3584 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3587 type.
3588 (grub_gcm_decrypt): Likewise.
3589 (algo_decrypt): Likewise.
3590 (grub_zfs_decrypt_real): Transform error type.
3591
3592 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3595
3596 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3599 (grub_usbms_cbi_reset): Likewise.
3600 (grub_usbms_bo_reset): Likewise.
3601 (grub_usbms_reset): Likewise.
3602 (grub_usbms_attach): Likewise.
3603 (grub_usbms_transfer_cbi): Likewise.
3604
3605 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3608 "checksum = checksum;".
3609
3610 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3613 entry_type.
3614
3615 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3618 BIOS disk check.
3619
3620 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3623 type.
3624 (grub_ehci_fini_hw): Likewise.
3625 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3626
3627 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3630 return grub_usb_err_t for cosistency. All users updated.
3631
3632 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3635 assigning to itself.
3636
3637 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
3638 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3639
3640 Issue separate DNS queries for ipv4 and ipv6
3641
3642 Adding multiple questions on a single DNS query is not supportted by
3643 most DNS servers. This patch issues two separate DNS queries
3644 sequentially for ipv4 and then for ipv6.
3645
3646 Fixes: https://savannah.gnu.org/bugs/?39710
3647
3648 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3649 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3650 * (grub_net_dns_lookup): Now using separated dns packages.
3651 * (grub_cmd_nslookup): Add error condition.
3652 * (grub_cmd_list_dns): Print DNS option.
3653 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3654 --prefer-ipv4, and --prefer-ipv6.
3655 * include/grub/net.h (grub_dns_option_t): New enum.
3656 * (grub_net_network_level_address): option added.
3657
3658 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3659
3660 * grub-core/video/fb/video_fb.c: Merge two blit functions
3661 into one.
3662
3663 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * grub-core/term/terminfo.c: Add sequences for home and end.
3666
3667 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3670 graphics console.
3671
3672 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3675 add mode 0x12.
3676
3677 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3680 e-mail by Per Öberg.
3681
3682 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3685 name.
3686
3687 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3688
3689 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3690 emu platforms.
3691 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3692
3693 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 * docs/grub.texi: Document usage of menuentry id.
3696
3697 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3700
3701 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3702
3703 * grub-core/commands/i386/nthibr.c: New command.
3704
3705 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3708
3709 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3712 coordinate.
3713
3714 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 Support GRUB_DISABLE_SUBMENU config.
3717
3718 Inspired by patch from Prarit Bhargava.
3719
3720 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * docs/grub.texi: Mention RSA support.
3723
3724 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/commands/verify.c: Add RSA support.
3727
3728 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3731 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3732 device is known to be ATAPI.
3733
3734 2013-11-03 Mike Frysinger <vapier>
3735
3736 * configure.ac: Don't add target-prefix.
3737
3738 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3741 variables.
3742
3743 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3746 if language is English.
3747
3748 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3751
3752 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * configure.ac: Don't add -m32/-m64 on emu.
3755
3756 2013-11-02 neil
3757
3758 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3759 broken linux headers.
3760
3761 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3764
3765 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3768 Reed-Solomon recovery if more than half of redundancy info is 0.
3769
3770 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * util/grub-mount.c: Handle symlinks to directories.
3773
3774 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3777 find_file recursively for symlink.
3778
3779 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * tests/util/grub-shell.in: Copy themes.
3782
3783 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3786
3787 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * configure.ac: Use 0x8000 for address instead of 8000.
3790
3791 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3794 signature.
3795
3796 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3799 variable.
3800
3801 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3804
3805 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3808 file_progress_read_hook.
3809 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3810
3811 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3814 and double.
3815
3816 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3819
3820 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 Rewrite blocklist functions in order to get progress when
3823 reading large extents and decrease amount of blocklist hook calls.
3824
3825 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3828 of SI suffixes.
3829
3830 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 Support --base-clock for serial command to handle weird cards with
3833 non-standard base clock.
3834
3835 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3838 strncpy.
3839 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3840 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3841 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3842 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3843 + strcpy rather than strncpy.
3844
3845 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3848 (check_pool_label): Likewise. Fixes overflow.
3849 (nvlist_find_value): Fix comparison.
3850
3851 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3854 more appropriate functions.
3855
3856 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3859 realloc.
3860
3861 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3864
3865 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3868 on core size.
3869
3870 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3873
3874 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3877 (initialize_tables): reset tl and td to NULL after freeing.
3878
3879 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3882
3883 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3886 of supported tags.
3887
3888 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3891
3892 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3895 quirks.
3896
3897 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3900 a page in protected space.
3901
3902 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3905 allocate space for zero-sized modules.
3906
3907 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3910
3911 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3912
3913 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3914
3915 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3918 safeguards. Fixes a crash with i386/pc/console.c.
3919
3920 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3923 and grub_hostfs_init.
3924
3925 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3928 windows method on other platforms without good stat as well.
3929
3930 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3933
3934 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 Make / in btrfs refer to real root, not the default volume.
3937 Modify mkrelpath to work even if device is mounted with subvolid option.
3938
3939 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3940
3941 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
3942 extra_dist.
3943 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3944 extra_dist.
3945
3946 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3949 fails.
3950
3951 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3952
3953 * docs/autoiso.cfg: New file.
3954
3955 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3958 COND_GRUB_PE2ELF conditions.
3959
3960 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3963 "vnd", "rd" and "fd" disks.
3964
3965 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 Move grub_disk_write out of kernel into disk.mod.
3968
3969 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3972 handling.
3973
3974 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * grub-core/kern/misc.c (grub_abort): Make static
3977
3978 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3981 transform invalid unicode codepoints.
3982
3983 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3986 \0 checking.
3987
3988 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3991
3992 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 Consolidate cpuid code.
3995
3996 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 Move cpuid code to cpuid.h and TSC code to tsc.c.
3999
4000 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4001
4002 * util/grub.d/00_header.in: Don't use LANG if it's not set.
4003
4004 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4005
4006 * util/grub-mkconfig.in: Replace $0 with $self.
4007 * util/grub-reboot.in: Likewise.
4008 * util/grub-set-default.in: Likewise.
4009
4010 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4011
4012 * docs/osdetect.cfg: New file.
4013
4014 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4015
4016 * tests/util/grub-shell.in: Add new --debug option.
4017
4018 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4019
4020 * tests/test_unset.in: New test.
4021
4022 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4023
4024 * tests/test_sha512sum.in: New test.
4025
4026 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
4029 * include/grub/misc.h: Remove strncat.
4030 * grub-core/lib/posix_wrap/string.h: Likewise.
4031
4032 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
4035 Try to handle more than 0xFFFF packets.
4036 Reported by: Bernhard Übelacker <bernhardu>.
4037 He also spotted few overflows in first version of this patch.
4038
4039 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * tests/date_unit_test.c: New test.
4042
4043 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
4046 of first three years after start of validity of unixtime.
4047
4048 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
4051 division as the one making more sense.
4052 (update_screen): Likewise.
4053 (complete): Likewise.
4054
4055 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
4058
4059 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 Make char and string width grub_size_t rather than grub_ssize_t.
4062
4063 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
4066 unsigned.
4067 (grub_history_replace): Likewise.
4068
4069 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
4072 appropriate.
4073
4074 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
4077 appropriate.
4078
4079 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
4082 Use unsigned divisions rather than signed variants.
4083
4084 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * grub-core/video/readers/png.c (grub_png_convert_image): Use
4087 unsigned arithmetics.
4088 Add missing break.
4089
4090 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
4093
4094 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
4097 rather than signed one.
4098 (recovery): Likewise.
4099
4100 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
4103
4104 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
4107 than signed.
4108
4109 2013-10-25 Jon McCune <jonmccune@google.com>
4110
4111 * docs/grub.texi: Cleanup security documentation around signatures.
4112
4113 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
4116
4117 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
4120 than int.
4121
4122 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
4125 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
4126 functions when compiling for kernel.
4127
4128 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
4131 unsigned long long when using %llu.
4132
4133 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
4136 terminal after updating progress.
4137
4138 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
4141 argument. We don't disable Gate A20 in this code.
4142
4143 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
4146 Conceptually based on change in branch "vbe-on-coreboot".
4147
4148 2013-10-24 Robert Millan <rmh@gnu.org>
4149
4150 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
4151 numeric constants with their symbolic equivalent.
4152 Taken from branch "vbe-on-coreboot".
4153
4154 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * docs/grub.texi: Fix ordering and use pxref rather than xref.
4157
4158 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
4161 divmod64 for offset division.
4162
4163 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4164
4165 Rename .bzrignore to .gitignore. Add "*.o" rule.
4166
4167 * .bzrignore: Renamed to...
4168 * .gitignore: ...this.
4169
4170 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4171
4172 Add new progress module that displays the load progress of files.
4173
4174 * grub-core/lib/progress.c: New file.
4175 * grub-core/Makefile.core.def (progress): New module.
4176 * grub-core/kern/file.c (grub_file_open): File name added.
4177 * (grub_file_read): Progress hook added.
4178 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
4179 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
4180 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
4181 * include/grub/file.h (struct grub_file): Add progress module members.
4182 * include/grub/term.h (struct grub_term_output): Likewise.
4183 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
4184 Terminal velocity added.
4185 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
4186 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
4187 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
4188 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
4189 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
4190 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
4191 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
4192 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
4193 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
4194 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
4195 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
4196 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
4197
4198 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 Verify signatures of signatures unless --skip-sig is specified.
4201
4202 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4205 \0 checking.
4206
4207 Saves 70 bytes on compressed image.
4208
4209 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
4212 check.
4213
4214 Saves 10 bytes on compressed image.
4215
4216 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/kern/misc.c (grub_isprint): Move to ...
4219 * include/grub/misc.h (grub_isprint): ... here. Make inline.
4220
4221 Saves 20 bytes on compressed image due to remving exporting.
4222
4223 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
4226
4227 Saves 5 bytes on compressed image.
4228
4229 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
4232 function get_utf8.
4233
4234 Saves 379 bytes on compressed image.
4235
4236 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
4239
4240 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
4243
4244 Saves 40 bytes on compressed image.
4245
4246 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4249 mask rather than 64-bit type.
4250
4251 Saves 20 bytes on compressed image.
4252
4253 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4256 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4257
4258 Saves 273 bytes on compressed image.
4259
4260 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4263 variable length arrays.
4264
4265 Saves 50 bytes on compressed image.
4266
4267 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4270
4271 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/fs/ufs.c: Remove variable length arrays.
4274
4275 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4278
4279 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/fs/zfs.c: Remove variable length arrays.
4282 Reduces zfs.mod by 160 bytes (208 compressed).
4283
4284 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4287
4288 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/net/arp.c: Remove variable length arrays.
4291 * grub-core/net/bootp.c: Likewise.
4292 * grub-core/net/dns.c: Likewise.
4293 * grub-core/net/icmp6.c: Likewise.
4294 * grub-core/net/net.c: Likewise.
4295
4296 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * grub-core/fs/ntfs.c: Remove variable length arrays.
4299 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4300 compressed).
4301
4302 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/fs/hfs.c: Remove variable length arrays.
4305 Reduces hfs.mod by 8 bytes (52 compressed).
4306
4307 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * grub-core/fs/udf.c: Remove variable length arrays.
4310 Increases udf.mod by 128 bytes (but decreases by 13 when
4311 compressed).
4312
4313 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/fs/iso9660.c: Remove variable length arrays.
4316 Increases iso9660.mod by 200 bytes (but decreases by 79 when
4317 compressed).
4318
4319 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/fs/nilfs2.c: Remove variable length arrays.
4322 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
4323 compressed).
4324
4325 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/fs/xfs.c: Remove variable length arrays.
4328 Reduces xfs.mod by 40 bytes (43 compressed).
4329
4330 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/fs/fshelp.c: Remove variable length arrays.
4333 Reduces fshelp.mod by 116 bytes (23 compressed).
4334
4335 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * grub-core/normal/completion.c: Remove variable length arrays.
4338 * grub-core/normal/menu_entry.c: Likewise.
4339
4340 Reduces normal.mod by 496 bytes.
4341
4342 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4345 by 356 bytes (158 compressed).
4346
4347 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4350 by 364 bytes (169 compressed).
4351
4352 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4355 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4356 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4357
4358 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4361 bitmasks to small structures of size chosen to fit in registers.
4362
4363 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * conf/Makefile.common: Use -freg-struct-return on i386. This
4366 decreases code size and improves performance.
4367
4368 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4371
4372 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4375 "(null)" string.
4376 Simplify expressions to save around 256 bytes in kernel.img.
4377 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4378
4379 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4382 Use GRUB_UTIL_FD_O_* rather than O_*.
4383
4384 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 Add haiku-specific functions.
4387
4388 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4391
4392 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 Move stat () and device mode checking into OS-dependent files as
4395 long as performance doesn't suffer.
4396
4397 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 Split make_system_path_relative_to_its_root into separate file
4400 relpath.c from getroot.c as it's common between unix and haiku
4401 but otherwise haiku doesn't use any functions from unix getroot.c.
4402
4403 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4406 New function.
4407 (grub_util_is_special_file): Likewise.
4408
4409 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4412 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4413
4414 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4417 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4418
4419 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4422 (load_image): Likewise.
4423
4424 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * util/grub-render-label.c: Move backend part to ...
4427 * util/render-label.c: ... here.
4428
4429 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4432 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4433
4434 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4437
4438 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4441 CD-ROM in case when it's declared as having subpartitions.
4442
4443 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 Don't add -lm on haiku.
4446
4447 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4448 and empty on haiku.
4449 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4450 -lm.
4451
4452 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * configure.ac: Use -melf_*_haiku as target on haiku.
4455
4456 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * Makefile.util.def: Add util/setup.c to extra_dist.
4459
4460 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4463 unknown types through.
4464
4465 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4468 (grub_util_check_char_device): Likewise.
4469 * include/grub/emu/getroot.h: Likewise.
4470
4471 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4474 memset rather than inline static function.
4475
4476 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4479 not doing embedded decompressor.
4480
4481 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4484 shadowing.
4485 * grub-core/kern/disk.c: Likewise.
4486 * grub-core/kern/misc.c: Likewise.
4487 * include/grub/parser.h: Likewise.
4488 * include/grub/script_sh.h: Likewise.
4489 * include/grub/zfs/zfs.h: Likewise.
4490
4491 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4494
4495 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4498 defined before trying to use it.
4499
4500 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4503 warning.
4504
4505 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4508 Use __unused__ rather than __used__ on gcc < 3.2.
4509
4510 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4513 gcc < 4.0.
4514 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4515
4516 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4519
4520 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4523 * include/grub/emu/misc.h: Likewise.
4524
4525 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4528 cur_color.
4529
4530 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4531
4532 * grub-core/tests/checksums.h: Regenerated due to progress bar
4533 get_minimal_size changes.
4534
4535 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4536
4537 Added `tr' command support.
4538
4539 * grub-core/commands/tr.c: New file.
4540 * grub-core/Makefile.core.def: Build rules for new module.
4541
4542 * tests/grub_cmd_tr.in: New test.
4543 * Makefile.util.def: Build rules for new test.
4544
4545 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4546
4547 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4548
4549 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4550
4551 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4552 * docs/gurb.texi: Likewise.
4553
4554 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4555
4556 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4557 Pixmap highlighted section with east and west slices was displayed
4558 incorrectly due to negative width of the central slice.
4559
4560 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4561
4562 * docs/grub.texi: Graphical options information update.
4563 Removed outdated. Updated current. Inserted missed.
4564
4565 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * docs/grub.texi: Mention few new platform-specific commands.
4568
4569 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4572 currently used so this doesn't really have any effect.
4573 Reported by: Douglas Ray <dougray>
4574
4575 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4578 compilation but prevents gcc from displaying messages in non-Latin
4579 alphabets.
4580 * conf/Makefile.common: Likewise.
4581
4582 2013-10-16 Hiroyuki YAMAMORI
4583
4584 Handle Japanese special keys.
4585 Reported by: Hiroyuki YAMAMORI.
4586 Codes supplied by: Hiroyuki YAMAMORI.
4587
4588 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4589
4590 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4591
4592 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4593
4594 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4595 * docs/grub.texi: Likewise.
4596
4597 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4600 value in case of incomplete read.
4601 (grub_util_fd_write): Likewise.
4602
4603 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4606
4607 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * util/grub-editenv.c (create_envblk_file): More from here ...
4610 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4611
4612 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4615 canonicalize file name before doing the rest.
4616
4617 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4620 mingw32.
4621
4622 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 Define grub_util_is_directory/regular/special_file and
4625 use OS-dependent versions rather than to rely on stat().
4626
4627 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * util/grub-mkimage.c: Move backend part to ...
4630 * util/mkimage.c: ... here.
4631
4632 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 Allow compilation with mingw64 albeit with warnings due to lack of
4635 %llx/%llu.
4636
4637 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4638 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4639 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4640 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4641 on mingw64.
4642 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4643
4644 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 Remove leftover references to some of the system headers.
4647
4648 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4651 read.
4652
4653 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4656 of strerror.
4657
4658 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Split out blocklist retrieving from setup.c to
4661 grub-core/osdep/blocklist.c and add windows implementation since
4662 generic version doesn't work on NTFS on Windows due to aggressive
4663 unflushable cache.
4664
4665 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4668 files.
4669
4670 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4673 Cut tailing newline. Remove arbitrary limitation. Always use
4674 grub_util_tchar_to_utf8.
4675
4676 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4679 * tests/printf_unit_test.c (printf_test): Add %% tests.
4680 Reported by: Paulo Flabiano Smorigo.
4681
4682 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4685 implement fsync.
4686
4687 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4690 use nvlist_lookup_string and don't use nvlist_print.
4691
4692 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4695 closedir to handle filename charset translation.
4696
4697 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * include/grub/emu/hostdisk.h: Move file operations to
4700 * include/grub/emu/hostfile.h: ... here.
4701
4702 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4705 unicode path.
4706
4707 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4710
4711 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4714 and remove export.h.
4715
4716 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/kern/emu/error.c: Removed.
4719 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4720 explicitly as it's already in libgnu.a.
4721
4722 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4725 config-util.h include.
4726
4727 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 Split emunet into platform-dependent and GRUB-binding parts. Keep
4730 platform-dependent part in kernel for easy access to OS functions.
4731
4732 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4735 open/read/write.
4736
4737 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * grub-core/osdep/windows/emuconsole.c: New file.
4740
4741 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4742
4743 * conf/Makefile.extra-dist: Add osdep/*/init.c
4744
4745 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4748
4749 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * util/grub-probe.c (probe): Separate different drives in hint-str
4752 by spaces and not newlines.
4753 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4754
4755 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4756
4757 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4758 Handle CD-ROMs.
4759
4760 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 Pass-through unknown E820 types. It required reorganisation of mmap
4763 module.
4764
4765 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4766
4767 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4768
4769 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4772 fseeko.
4773
4774 2013-10-14 qwertial <qwertial>
4775
4776 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4777
4778 2013-10-14 Jon McCune <jonmccune@google.com>
4779
4780 * docs/grub.texi: Document new signatures possibility.
4781
4782 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4785
4786 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4789 missing prototype.
4790 (grub_util_tchar_to_utf8): Likewise.
4791
4792 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4795 * grub-core/kern/emu/main.c: Add missing include.
4796 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4797 Don't call grub_util_init_nls.
4798 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4799 Likewise.
4800
4801 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4804 stat.
4805
4806 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4809
4810 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4813
4814 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 Add a wrapper for fopen. On unix-like systems just pass-through. On
4817 windows use unicode version.
4818
4819 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 Move set_program_name and init_nls to host_init. On windows
4822 fix in this fuction console and argument charset as well.
4823
4824 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4825
4826 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4827 GRUB_ENABLE_CRYPTODISK.
4828
4829 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4830 GRUB_ENABLE_CRYPTODISK.
4831 * util/grub-mkconfig_lib.in: Likewise.
4832
4833 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4834
4835 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4836
4837 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4838
4839 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4840 error when enabling debug.
4841
4842 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4843
4844 * configure.ac: Use -melf_*_obsd on openbsd.
4845
4846 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4849
4850 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * include/grub/misc.h: Use gnu_printf rather than printf as format
4853 template since our functions are independent of libc.
4854
4855 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * util/grub-setup.c (setup): Move copying of partition table as
4858 futher up as possible to avoid possible overwrite by floppy routines.
4859
4860 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4863
4864 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4865
4866 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4867 * docs/grub.texi: Likewise.
4868
4869 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4872 it's mostly unused. Move vestiges to the callers.
4873
4874 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4877 version of salt and hash. Use grub_snprintf rather than snprintf.
4878
4879 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * docs/grub.texi: Fix problem with braces.
4882
4883 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * conf/Makefile.extra-dist: Fix extra-dist list.
4886 * grub-core/Makefile.core.def: Likewise.
4887
4888 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * docs/grub.texi: Document disk names used on Windows and AROS.
4891
4892 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4895 with AROS devs.
4896 * grub-core/osdep/aros/hostdisk.c: Likewise.
4897
4898 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 Avoid including hostfile.h when not necessarry as it pulls
4901 in OS-specific headers which may redefine generic names
4902 like "far".
4903
4904 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4905
4906 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4907 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4908 scrollbar_bottom_pad
4909 * docs/grub.texi: Likewise.
4910
4911 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4912
4913 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4914
4915 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4918
4919 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4922 Removed.
4923 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4924 Made static.
4925
4926 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4929 leftover.
4930
4931 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 Move OS-specific driver configuration to grub_util_fd_open. This
4934 moves OS-dependent parts from kern/emu/hostdisk.c to
4935 grub-core/osdep/*/hostdisk.c.
4936
4937 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * util/grub-mkimage.c (generate_image): Use size_t instead of
4940 grub_size_t.
4941 * util/grub-mkimagexx.c (locate_sections): Likewise.
4942 (load_image): Likewise.
4943
4944 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4947 size_t.
4948 (grub_util_write_image): Likewise.
4949
4950 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4953 get random when no RNG is available.
4954 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4955
4956 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * include/grub/util/lvm.h: Removed.
4959
4960 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4963 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4964
4965 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4968
4969 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4972
4973 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * grub-core/net/drivers/emu/emunet.c: Move to ..
4976 * grub-core/osdep/linux/emunet.c: ..here.
4977
4978 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * util/ieee1275/ofpath.c: Move to ...
4981 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4982 * grub-core/osdep/basic/ofpath.c: ..here.
4983
4984 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 Move password-querying (util-version) routines to grub-core/osdep.
4987
4988 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 Move sleep routines to grub-core/osdep.
4991
4992 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 Move OS-dependent files to grub-core/osdep and document it.
4995
4996 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4999 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
5000
5001 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
5004
5005 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * util/misc.c: Remove leftover inclusion of malloc.h.
5008
5009 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * include/grub/setjmp.h: Remove leftover GRUBOF.
5012
5013 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * util/raid.c: Fold into ...
5016 * util/getroot_linux.c: ... here. Make all functions static.
5017
5018 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
5021 macros to GRUB ones.
5022
5023 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5024
5025 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
5026 occasional bug. If there are too many boot entries or too low
5027 scrollbar height then we need to use another formula to calculate
5028 the position and size of the scrollbar thumb.
5029
5030 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
5033
5034 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5035
5036 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
5037 * docs/grub.texi: Likewise.
5038
5039 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5040
5041 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
5042 viewport.
5043
5044 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5045
5046 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
5047 minimal width calculations.
5048
5049 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * docs/grub.texi: Update note on colors on emu console.
5052
5053 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
5056 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
5057 it's FS and not GRUB limitation.
5058
5059 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
5062
5063 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
5066
5067 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5068
5069 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
5070 kernels by version order.
5071
5072 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
5075
5076 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 Add AROS hostdisk and getroot routines.
5079
5080 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 Make cryptodisk and diskfilter probe data retrievable programmatically
5083 and not just printable.
5084
5085 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 Split random retrieving code into separate files.
5088
5089 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
5092 R_ARM_V4BX.
5093
5094 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
5097 condition.
5098 * grub-core/tests/fake_input.c: Likewise.
5099 * grub-core/tests/cmdline_cat_test.c: Likewise.
5100
5101 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/video/capture.c: Do not do finalization when .fini
5104 is called as there is explicit capture_end.
5105
5106 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
5109 changing windows to avoid crash.
5110
5111 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
5114
5115 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * po/exclude.pot: Add several strings to exclude.
5118
5119 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
5122
5123 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * autogen.sh: Add ./util/grub-gen-widthspec.c and
5126 ./util/grub-gen-asciih.c to exclude list.
5127
5128 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
5131 and don't mark error strings for translation.
5132
5133 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
5136 properly in case of missing block size.
5137
5138 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/lib/arm/setjmp.S: Add missing license section.
5141
5142 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * po/swiss.sed: Add replacement for key names and for term computer.
5145
5146 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
5147
5148 * grub-core/gfxmenu/theme_loader.c: New global options for the
5149 theme background image handling. desktop-image-scale-method,
5150 desktop-image-h-align, desktop-image-v-align.
5151 * grub-core/gfxmenu/view.c: Likewise.
5152 * include/gfxmenu_view.h: Likewise.
5153 * include/bitmap_scale.h: Proportional scale functions introduced.
5154 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
5155 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
5156 cases of unexpected input variables for scale functions.
5157 * docs/grub.texi: Updated documentation for new options.
5158
5159 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
5162
5163 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5164
5165 * grub-core/tests/checksums.h: Corrected due to changes in
5166 bilinear interpolation function.
5167
5168 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5169
5170 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
5171 to eliminate artefacts in bilinear interpolation.
5172
5173 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/video/readers/tga.c: Support paletted tga.
5176
5177 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
5180 incorrect cbcr setting when in color mode.
5181
5182 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/video/readers/png.c: Support paletted images and clean up
5185 greyscale support.
5186
5187 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
5190 usage of wrong table which resulted in mishandling of 4-byte
5191 sequences.
5192
5193 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * grub-core/term/terminfo.c: Add Home and End key sequences.
5196
5197 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * grub-core/video/readers/png.c (grub_png_decode_image_header):
5200 Fix formula for computing total number of bytes.
5201
5202 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
5205 image processing, fix big-endian and support grayscale.
5206
5207 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
5210 Correctly will with maximum transparency when using index color.
5211
5212 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/video/readers/png.c: Support grayscale
5215
5216 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/video/readers/jpeg.c: Support grayscale.
5219
5220 2013-09-26 Jon McCune <jonmccune@google.com>
5221
5222 * grub-core/commands/loadenv.c: Support skipping signature check
5223 and variable names filtering.
5224
5225 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
5228 * grub-core/kern/emu/hostfs.c: Likewise.
5229 * util/getroot_unix.c: Likewise.
5230
5231 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
5234 Migrate all explicit defines to this new one.
5235
5236 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
5239 grub_util_fd_strerror when using grub_util_fd_*.
5240 (grub_util_fd_open_device): Likewise.
5241 (grub_util_biosdisk_read): Likewise.
5242 (grub_util_biosdisk_write): Likewise.
5243 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
5244 (grub_util_fd_strerror): Likewise.
5245 (grub_util_fd_sync): Likewise.
5246 (grub_util_fd_close): Likewise.
5247 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5248 (grub_util_fd_close): Likewise.
5249 (grub_util_fd_strerror): Likewise.
5250 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5251 function proto rather than macro.
5252 (grub_util_fd_sync): Likewise.
5253 (grub_util_fd_open): Likewise.
5254 (grub_util_fd_strerror): New proto.
5255
5256 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5259 platforms on which it doesn't work.
5260
5261 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5264 stat immediately to where it's used.
5265
5266 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * util/getroot.c (grub_util_check_block_device): Move to ...
5269 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5270 * util/getroot.c (grub_util_check_char_device): Move to ...
5271 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5272
5273 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5276 disk closing logic.
5277
5278 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5279
5280 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5281
5282 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5283
5284 * docs/grub.texi (File name syntax): Document ZFS filenames
5285 (/volume@snapshot/...).
5286
5287 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5290 Always return full path. Fixes a problem with mkrelpath.
5291
5292 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5293
5294 * util/grub-install.in: Add GPT PReP support.
5295 * util/grub-probe.c (probe): Support GPT partition type.
5296 (main): Support -t gpt_parttype.
5297
5298 2013-09-23 Aleš Nesrsta <starous@volny.cz>
5299
5300 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5301
5302 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5303
5304 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5305
5306 2013-09-23 Tim Hardeck <thardeck>
5307
5308 * util/grub.d/10_hurd.in: Filter out character for the class.
5309 * util/grub.d/10_kfreebsd.in: Likewise.
5310 * util/grub.d/10_linux.in: Likewise.
5311 * util/grub.d/20_linux_xen.in: Likewise.
5312
5313 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5314
5315 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5316 "changed".
5317
5318 2013-09-23 Josh Triplett <josh@joshtriplett.org>
5319
5320 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5321 boot partition.
5322
5323 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5326 doesn't use posix_wrap. Keep literal -fno-builtin however.
5327
5328 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5331
5332 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5333 2013-09-23 neil
5334
5335 * configure.ac: Do not enable -Wmissing-noreturn as its
5336 usefulness is limited and creates problems on some OS notably with
5337 code generated by bison.
5338
5339 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5340 2013-09-23 neil
5341
5342 * configure.ac: Do not explicitly enable -Waddress as it's not
5343 supported by all gcc and when it is, it's already enabled by -Wall.
5344
5345 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5348 desactivated use of EDID at all.
5349
5350 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5351 2013-09-23 neil
5352
5353 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5354 video if no text is available.
5355
5356 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5357 2013-09-23 neil
5358
5359 * configure.ac: Substitute TARGET_RANLIB.
5360
5361 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5362 2013-09-23 neil
5363
5364 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5365
5366 Based on patches from AROS.
5367
5368 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5369 2013-09-23 neil
5370
5371 * grub-core/Makefile.am: Override STRIP and RANLIB.
5372 * configure.ac: compute TARGET_RANLIB.
5373 * INSTALL: Document TARGET_RANLIB
5374
5375 Based on patches from AROS.
5376
5377 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5380 that floppies are unpartitioned.
5381
5382 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5385 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5386
5387 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5390 less nice but more portable.
5391 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5392
5393 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5396 for cheat_fd.
5397 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5398 functions.
5399 (grub_cryptodisk_cheat_insert): Likewise.
5400 (grub_cryptodisk_close): Likewise.
5401
5402 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5405 Use windows path for DEFAULT_DIRECTORY.
5406
5407 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5410 difference was likely just gcc version, not anything mingw-related.
5411
5412 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 Use Winapi on both cygwin and mingw32 to share more code between both.
5415
5416 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5417
5418 * util/grub-install.in: Add --grub-editenv option.
5419 * util/grub-install_header (grub_compress_file): Explicitly check for
5420 plain file to avoid cp error.
5421
5422 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5423
5424 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5425 names; fix LVM driver name (lvm, not lv).
5426 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5427 names.
5428
5429 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5432 files rather than one file with loads of #if's.
5433 * util/getroot.c: Likewise.
5434
5435 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5438
5439 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5442 GNU/Hurd to the list of checked PRNG.
5443
5444 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5447
5448 2013-09-21 Ales Nesrsta <starous@volny.cz>
5449
5450 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
5451
5452 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5455 * grub-core/disk/lvm.c: Add LVM UUIDs.
5456 * util/getroot.c: Use LVM UUIDs whenever possible.
5457
5458 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5459
5460 * docs/grub.texi (Networking commands): Add documentation for
5461 network related commands.
5462
5463 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5466 to determine if device is handled by devmapper.
5467 (convert_system_partition_to_system_disk): Likewise.
5468 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5469 already done in grub_util_open_dm.
5470
5471 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5472
5473 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5474 Clean up stack manipulation (sync_caches_armv*)
5475
5476 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * util/lvm.c: Remove since unused. Remove remaining references.
5479
5480 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 Handle the case of partitioned LVM properly.
5483
5484 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5485 Stop on meeting LVM, mpath or DMRAID.
5486 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5487 (read_device_map): Likewise.
5488 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5489 device is full disk rather than erroring out on LVM and similar cases.
5490
5491 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5494
5495 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5498 4K before the end.
5499 Reported by: Leif Lindholm
5500
5501 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
5502 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5505 codes.
5506
5507 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
5508
5509 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5510 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5511
5512 2013-09-18 Douglas Ray <dougray@cpan.org>
5513
5514 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5515 as secure.
5516
5517 2013-09-18 Aleš Nesrsta <starous@volny.cz>
5518
5519 * docs/grub.texi: Fix broken link.
5520
5521 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5522
5523 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5524 to break endless loop.
5525
5526 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * util/grub-fstest.c: Fix several printf formats.
5529 * util/grub-mkimage.c: Likewise.
5530 * util/grub-mkimagexx.c: Likewise.
5531 * util/grub-script-check.c: Likewise.
5532
5533 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5536 error.
5537
5538 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5541
5542 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5545 removed in current versions cygwin_conv_*.
5546
5547 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * configure.ac: Disable efiemu runtime on cygwin.
5550
5551 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5554 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5555
5556 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5559 error message.
5560
5561 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5564 windows variant.
5565 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5566 data.
5567
5568 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5571 when on x86 and not cygwin.
5572 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5573 -Wl,-melf_x86_64.
5574
5575 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * configure.ac: Set CPP to build one when checkoing for freetype for
5578 build.
5579
5580 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5583 [!GRUB_BUILD]: Remove has_argument.
5584
5585 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5588 Replace with a dummy.
5589
5590 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * configure.ac: Don't change host_os from mingw to cygwin.
5593
5594 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * configure.ac: Change target_os from windows to cygwin.
5597
5598 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5601
5602 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5603 (build-grub-gen-asciih): Likewise.
5604 (build-grub-gen-widthspec): Likewise.
5605 * Makefile.util.def (grub-pe2elf): Remove.
5606 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5607 * configure.ac: Separate tests for build.
5608 Move ./build-grub-pe2elf to grub-core.
5609 Fix typo.
5610 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5611 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5612 defined.
5613 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5614 constants.
5615 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5616 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5617 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5618
5619 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5622 mingw32 as well based on grub_util_get_disk_size.
5623 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5624 grub_util_get_fd_size.
5625 (sync): Removed.
5626 (fsync): Moved to ...
5627 * grub-core/kern/emu/misc.c (fsync): ... here.
5628
5629 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 * include/grub/mm.h (grub_extend_alloc): Remove.
5632 * grub-core/loader/i386/pc/plan9.c: Use own version of
5633 grub_extend_alloc with appropriate types.
5634
5635 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5638
5639 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5642
5643 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 Fix dependencies on cygwin.
5646
5647 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5648 dependencies when used and defined.
5649 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5650
5651 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5654 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5655
5656 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5659 implementation available to cause compile-time rather than runtime
5660 error.
5661
5662 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * util/grub-fstest.c: Don't check for symlinks on windows.
5665
5666 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * INSTALL: Mention unavailability of man pages when cross-compiling.
5669
5670 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5673 and gcry_log_bug.
5674 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5675
5676 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * INSTALL: Document cross-compilation.
5679 * acinclude.m4: Determine whether nm support -P and --defined-only.
5680 * configure.ac: Add TARGET_ to all variables pertaining to target
5681 that don't have it yet.
5682 * gentpl.py: Likewise.
5683 * grub-core/Makefile.am: Likewise.
5684 * grub-core/genmod.sh.in: Likewise.
5685 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5686 as well.
5687
5688 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5689
5690 * configure.ac: Remove -Wempty-body. It's not essential and needs
5691 recent gcc.
5692
5693 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5694
5695 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5696 * util/getroot.c: Likewise.
5697
5698 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/disk/ahci.c: Add needed explicit cast.
5701 * grub-core/lib/backtrace.c: Likewise.
5702 * grub-core/net/ip.c: Likewise.
5703 * grub-core/net/tcp.c: Likewise.
5704 * grub-core/net/udp.c: Likewise.
5705
5706 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5709
5710 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * util/import_gcry.py: Add final newline in visibility.h.
5713
5714 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * conf/Makefile.common: Fix typo.
5717
5718 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5721
5722 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * Makefile.am (widthspec.h): Fix typo.
5725 * util/grub-gen-widthspec.c: Likewise.
5726
5727 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 Move ascii.h and widthspec.h generation to a separate build-time-only
5730 tool.
5731
5732 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5733
5734 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5735 Always fill bootdisk info and improve check for NetBSD disklabel.
5736
5737 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * conf/Makefile.extra-dist: Add util/bin2h.c.
5740 Reported by: floppym.
5741
5742 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5745
5746 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * configure.ac: Disable unifont and starfield if no freetype was found.
5749
5750 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5753 on NetBSD and OpenBSD.
5754
5755 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5756
5757 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5758
5759 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5760
5761 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5762 reduced. Inheritant options are processed during the theme loading.
5763
5764 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5765
5766 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5767
5768 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5769
5770 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5771
5772 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5773
5774 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5775 using qemu.
5776
5777 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5778
5779 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5780 remove-potcdate.sed.
5781
5782 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5783
5784 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5785 unused attribute from pull argument.
5786
5787 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5788
5789 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5790 memory leak.
5791
5792 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5793
5794 * util/getroot.c (pull_lvm_by_command): add --separator option
5795 to vgs call to disable padding of output to 10 characters.
5796
5797 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5800 here ...
5801 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5802 here.
5803
5804 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5807 length.
5808
5809 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5812 full Canadian cross. Tested with build=x86_64, host=arm,
5813 target=ppc-ieee1275.
5814
5815 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * configure.ac: Error if no $BUILD_CC could be found.
5818 Reported by: DevHC.
5819
5820 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5823 i386-multiboot.
5824
5825 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5828 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5829
5830 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
5831
5832 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5833 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5834 falling back to the partition device, otherwise a later call to this
5835 function may fail spuriously.
5836 Reported by Axel Beckert. Fixes Debian bug #708614.
5837
5838 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5839
5840 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5841
5842 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5843
5844 Prevent shadowing of stdlib's devname(3) on BSD.
5845
5846 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5847 and devlast to diskname and disklast, respectively.
5848
5849 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
5850
5851 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5852
5853 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5854
5855 * docs/grub.texi: Introduce terminal window position options:
5856 terminal-left: terminal window's left position
5857 terminal-top: terminal window's top position
5858 terminal-width: terminal window's width
5859 terminal-height: terminal window's height
5860 terminal-border: terminal window's border width
5861 * grub-core/gfxmenu/theme-loader.c: Likewise.
5862 * include/grub/gfxmenu_view.h: Likewise.
5863 * po/exlude.pot: Likewise.
5864 * grub-core/gfxmenu/view.c: Likewise.
5865 Also updated minimal window size.
5866 Also terminal_sanity_check function has been introduced.
5867 * grub-core/tests/checksums.h: Update (terminal window height
5868 is adjusted now for low resolution screen)
5869
5870 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5873 position).
5874
5875 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * po/exclude.pot: Add few recent exceptions.
5878
5879 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * tests/grub_func_test.in: Add unicode.pf2.
5882
5883 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5886 standard rather than noral color, in line with other terminals.
5887
5888 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5891 analysis.
5892
5893 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5896
5897 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5900 inappropriate printf.
5901
5902 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5903
5904 * .bzrignore: Remove grub-core/lib/dtc-grub,
5905 grub-core/Makefile.libfdt.def
5906 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5907
5908 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * include/grub/video.h (grub_video_register): Keep double-linked as
5911 well as single-linked invariants.
5912 Reported by: qwertial.
5913
5914 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/commands/nativedisk.c (get_uuid): Handle
5917 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5918
5919 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5920
5921 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5922 maximum of NW, N, NE heights instead of N's height and maximum of
5923 NW, W, SW widths instead of W's width. (So the box will be always
5924 correctly drawn)
5925
5926 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5927
5928 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5929 Fix misuse of variable count.
5930
5931 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
5932 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
5933 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 New ports to arm-uboot and arm-efi.
5936 Mostly by Leif Lindholm with some additions from
5937 Francesco Lavra and cleanup by Vladimir Serbinenko.
5938
5939 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5942 and not before.
5943 Reported by: Leon Drugi.
5944
5945 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5948 Reported by: Paulo Flabiano Smorigo.
5949
5950 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5951
5952 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5953
5954 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5955
5956 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5957
5958 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5961
5962 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5965
5966 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5967
5968 * grub-core/net/bootp.c: Export net_* variables.
5969 * grub-core/net/net.c: Likewise.
5970
5971 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5974
5975 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5978
5979 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5982
5983 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5986
5987 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5988
5989 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5990 <= 0.
5991
5992 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5993
5994 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5995 functions.
5996
5997 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5998
5999 * grub-core/fs/zfs/zfs_lz4.c: New file.
6000 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
6001
6002 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6003
6004 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
6005
6006 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6007
6008 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
6009 (check_pool_label): Likewise.
6010 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
6011
6012 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6013
6014 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
6015
6016 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
6017
6018 * docs/grub.texi (Commands): Document postition parameters
6019 for menuentry command.
6020
6021 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
6022
6023 * util/grub-mknetdir.in: Remove stray line from help output.
6024
6025 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 Remove early sm712 init as there is no reason for it (the "watchdog"
6028 effect was due to wrong GPIO map).
6029
6030 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/commands/pcidump.c: Remove static variables.
6033
6034 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/commands/sleep.c: Refresh screen before sleeping.
6037
6038 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * configure.ac: Move delimiter after the infos.
6041
6042 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
6045
6046 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
6049 not filling whole 8x16 space.
6050
6051 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
6054
6055 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * configure.ac: Indicate which liblzma is used if any.
6058
6059 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
6060 2013-06-21 Craig Sanders <savannah@taz.net.au>
6061
6062 * util/grub-reboot.in: Document submenu usage.
6063
6064 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
6065
6066 * .bzrignore: Update with a number of new test-related files.
6067
6068 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
6069
6070 * util/grub-script-check.c: Fail on scripts containing no
6071 commands, to guard against corrupted grub-mkconfig setups that
6072 produce no useful output.
6073 * tests/grub_script_no_commands.in: New test.
6074 * Makefile.util.def (grub_script_no_commands): Add.
6075 Reported by Hans Putter. Fixes Debian bug #713886.
6076
6077 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6078
6079 * grub-core/disk/diskfilter.c: Forgot to remove comment
6080 from previous commit.
6081
6082 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6083
6084 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6085 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
6086
6087 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6088
6089 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
6090
6091 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6092
6093 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
6094 rescan diskfilter devices until nothing new is found.
6095
6096 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 Fix casts when compiling coreboot-specific code for 64-bit EFI.
6099
6100 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 Don't try to detect cbfs on *-emu.
6103
6104 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * grub-core/term/gfxterm.c: USe right background color when scrolling.
6107
6108 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 Add support for processed coreboot payload chainloading.
6111
6112 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 Enable coreboot information commands even when not loaded as
6115 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
6116
6117 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 Support for cbfs. Also factor out the part which is common
6120 for all archives to a separate module. This splits tar from cpio
6121 as they are very different but keeps cpio, cpio_be, odc and newc
6122 together since they're very similar.
6123
6124 2013-06-15 David Michael <fedora.dm0@gmail.com>
6125
6126 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
6127 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
6128
6129 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * tests/grub_script_eval.in: Really add the eval test.
6132
6133 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 Move flavour-specific parts out of common cpio.c file and
6136 rename remaining to cpio_common.c
6137
6138 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6139
6140 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
6141 off new function grub_script_execute_new_scope. Change callers to use
6142 either of them as appropriate.
6143 * grub-core/commands/eval.c: New command eval.
6144 * docs/grub.texi (Commands): Document it.
6145
6146 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6147
6148 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
6149 to fetch values when listing.
6150
6151 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6152
6153 Fix make dist on non-pc.
6154
6155 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
6156
6157 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
6158 without a device name.
6159
6160 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6161
6162 Remove enable_executable_check as it's not needed anymore.
6163 Reported by: dougray.
6164
6165 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
6168 ambigouos RAID before discovering RAIDs on top of it.
6169 Reported by: bodom.
6170
6171 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 Fix typo (failback vs fallback).
6174
6175 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
6176
6177 * util/grub.d/30_os-prober.in: Add support for probing EFI
6178 System Partition (as of os-prober 1.58).
6179
6180 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * configure.ac: Add yet another path to unifont. For parabola.
6183
6184 2013-05-30 Josh Triplett <josh@joshtriplett.org>
6185
6186 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
6187 handling to copy the killed characters to the kill buffer as
6188 UCS4 stored as grub_uint32_t rather than as 8-bit characters
6189 stored as char. Eliminates UCS4 truncation and corruption
6190 observed when killing characters with Ctrl-u and yanking them
6191 back with Ctrl-y.
6192
6193 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 Detach optional parts of gfxterm and integrate in with coreboot init.
6196
6197 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 Move blit and fill dispatcher to appropriate files to decrease export
6200 and relocation overhead.
6201
6202 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/font/font.c, include/grub/font.h: Inline simple font
6205 functions.
6206
6207 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/Makefile.am: Fix compilation problem with some
6210 automake versions.
6211
6212 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
6215
6216 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
6219 automake versions.
6220
6221 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
6224 SSDT.
6225
6226 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
6227
6228 * grub-core/partmap/dfly.c: New partition map.
6229
6230 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
6233 checking.
6234 Reported by: Francesco Lavra.
6235
6236 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
6237
6238 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
6239 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
6240 false conditions.
6241 * conf/Makefile.common: define dist_grubconf_DATA
6242
6243 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 Progressively skip menu elements on small terminals rather
6246 than crashing.
6247
6248 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6251 to avoid losing last column.
6252
6253 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * po/exclude.pot: Add missing string "%C".
6256
6257 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6260 after the test.
6261
6262 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * util/grub-install.in: Gettextize "Not found" message.
6265
6266 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 Fix distfiles list.
6269 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6270
6271 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6272
6273 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6274 present.
6275 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6276
6277 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6280
6281 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6284 attribute since structure is not necessarily aligned.
6285
6286 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6287
6288 * docs/grub.texi (Device syntax): Clarify description of network
6289 drives.
6290
6291 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6294 for vasprintf presence.
6295
6296 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * util/grub-install.in: Handle efibootmgr presence check.
6299 Reported by: Leif Lindholm.
6300
6301 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6304 new strings to translate.
6305
6306 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6309 yet another string (pun intended) to translate.
6310
6311 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * po/POTFILES-shell.in: Autogenerate it.
6314
6315 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6318
6319 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6322 misnomer.
6323
6324 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6325
6326 * docs/grub.texi (Network): Add description of net_default_interface,
6327 net_default_ip and net_default_mac. Rewrite variables description
6328 to emphasize that they are per-interface.
6329
6330 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 New test: cmdline and cat.
6333
6334 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/commands/cat.c: Show UTF-8 characters.
6337
6338 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * conf/Makefile.common: Poison float and double on non-emu.
6341
6342 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * configure.ac: Don't disable extended registers on emu.
6345
6346 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * configure.ac: Don't use extended registers on x86_64.
6349 Reported by: Peter Jones.
6350
6351 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * grub-core/term/efi/console.c: Fix compile error.
6354
6355 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 Compressed HFS+ support.
6358
6359 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6362 pixel".
6363
6364 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 Menu color test.
6367
6368 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * grub-core/tests/setjmp_test.c: New test.
6371
6372 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 New variables 'net_default_*' to determine MAC/IP of default interface.
6375
6376 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * tests/gettext_strings_test.in: A test to check for strings not
6379 marked for translation.
6380
6381 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * autogen.sh: Exclude unused libgcrypt files from translation.
6384
6385 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 Simplify few strings.
6388
6389 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 Mark few forgotten strings for translation.
6392
6393 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6396 rather than printf.
6397
6398 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6401 rather than printf.
6402 * grub-core/video/readers/tga.c: Likewise.
6403
6404 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * tests/priority_queue_unit_test.cc: New test.
6407
6408 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6411 than printf.
6412
6413 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6414
6415 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6416 variable for one time boot menu entry.
6417
6418 2013-05-05 Bean <bean123ch@gmail.com>
6419
6420 * grub-core/commands/testspeed.c: New command testspeed.
6421
6422 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 Factor-out human-size printing.
6425
6426 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 Agglomerate more mallocs to speed-up gfxterm.
6429
6430 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 Speed-up gfxterm by slightly agglomerating mallocs.
6433
6434 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 More video checks.
6437
6438 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 Speed-up gfxterm by saving intermediate results in index+alpha
6441 format.
6442
6443 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6446 test.
6447
6448 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6451 line of timeout as it may contain the rest of long line.
6452
6453 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/normal/main.c: Fix freed memory dereference.
6456
6457 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 Fix several memory leaks.
6460
6461 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6464
6465 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6468
6469 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 Fix test -a and -o precedence.
6472 Reported by: adrian15.
6473
6474 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6477
6478 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6479
6480 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6481 and add it as source to functional_test module.
6482
6483 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6486
6487 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 New series of tests for gfxterm and gfxmenu.
6490
6491 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6494 the theme path relative to $prefix/themes.
6495
6496 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6499 Fix order bug.
6500 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6501
6502 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6505 descriptor.
6506
6507 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6510 grub_gfxmenu_timeout_notifications.
6511 (grub_gfxmenu_view_destroy): Likewise.
6512
6513 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6516
6517 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 Several fixes to ieee1275 and big-endian video.
6520
6521 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 Add missing exports on mips.
6524
6525 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6528 if no unifont is found.
6529 Restore original keyboard.
6530
6531 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6534 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6535
6536 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 First automated video test (running videotest and comparing results)
6539
6540 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6543 instead of 2 to have full RGB/CMY test pattern.
6544
6545 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 Add few more tests.
6548
6549 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6552 ARCS. All users updated.
6553
6554 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6557
6558 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6561
6562 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6565 Reported by: qwertial.
6566
6567 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6568
6569 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6570 with syntax "XXX deg"/"XXX °".
6571
6572 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 Make PCI init in i386-qemu port more robust.
6575
6576 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6577
6578 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6579 cached view is reused.
6580 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6581 open boot menus.
6582
6583 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 Unify more code in grub-install_header.
6586
6587 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 Add few new tests.
6590
6591 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 Enforce disabling of firmware disk drivers when native drivers kick in.
6594
6595 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 * grub-core/commands/nativedisk.c: Customize the list of modules on
6598 platform. Don't try to search for disks already using native drivers.
6599
6600 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6603 platforms.
6604
6605 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6608 handling of variables containing backslash.
6609
6610 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6613 dereference.
6614 Reported by: qwertial.
6615
6616 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6619
6620 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6623 dereference.
6624 Reported by: qwertial.
6625
6626 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6629
6630 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6633
6634 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 New command `nativedisk'.
6637
6638 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6641 * grub-core/loader/i386/bsd.c: Likewise.
6642
6643 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6646
6647 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6650 grub_get_unaligned16 rather than shifts.
6651
6652 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * grub-core/kern/file.c: Use const char * rather than casting to
6655 non-const.
6656
6657 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * grub-core/commands/probe.c: Add missing grub_device_close.
6660
6661 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * INSTALL: Document linguas.sh.
6664
6665 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 Remove POTFILES.in and regenerate it in autogen.sh.
6668
6669 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 Move --directory/--override-directorry to grub-install_header and unify.
6672
6673 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * grub-core/term/morse.c: Macroify dih and dah.
6676
6677 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6678
6679 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6680
6681 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 * grub-core/term/ns8250.c: Systematically probe ports by writing
6684 to SR before using them.
6685
6686 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6687
6688 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6689 disks.
6690 (check_sas): Get sas_adress info.
6691
6692 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6695 ports.
6696
6697 2013-04-27 Leon Drugi <eyak>
6698
6699 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6700 BSS clearing.
6701
6702 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 Core compression test.
6705
6706 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 Implement grub_machine_get_bootlocation for ARC.
6709
6710 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 Improve AHCI detection and command issuing.
6713
6714 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 Fix pseries test.
6717
6718 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 Make 'make check' work on emu.
6721
6722 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 Replace libcurses with our own vt100 handling for the ease of testing
6725 and decreasing prerequisites.
6726
6727 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6730
6731 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6734 compile when not needed.
6735
6736 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * tests/pseries_test.in: New test.
6739
6740 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 Add test to check that different boot mediums work.
6743
6744 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6747 ofw limited ISO support.
6748
6749 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * configure.ac: Fix loongson conditional.
6752
6753 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 Enable mipsel-arc.
6756
6757 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 Add serial on ARC platform.
6760
6761 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6764 commit.
6765
6766 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * tests/partmap_test.in: Add missing double semicolon.
6769
6770 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 * util/grub-mkrescue.in: Fix loongson filename.
6773
6774 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * util/grub-mkrescue.in: Move all files that don't have a location
6777 set in stone under /boot/grub. Use ISO hard links rather than copies
6778 to save some space.
6779
6780 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6783 bogus SLOF values.
6784
6785 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 Make check work on mips-arc.
6788
6789 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * util/grub-mkrescue.in: Alias sashARCS as sash.
6792
6793 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6796 it's serial.
6797
6798 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * util/grub-install.in: Fix target fo qemu_mips.
6801 Fix extension on EFI.
6802
6803 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6806 in front of chosen entry to mark it even if highlighting is lost.
6807
6808 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6811 gfxpayload=keep if cbfb is active.
6812
6813 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6816
6817 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 Add missing video ids to coreboot and ieee1275 video.
6820
6821 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * util/grub-mkrescue.in: Add mips-arc support.
6824
6825 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6828
6829 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6830
6831 Move mips-arc link address. Previous link address was chosen
6832 in belief that RAM on SGI platforms grows down while in fact it
6833 grows up from an unusual base.
6834
6835 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6838 Fix a type which prevented CD-ROM and floppy boot.
6839
6840 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 Support coreboot framebuffer.
6843
6844 * grub-core/video/i386/coreboot/cbfb.c: New file.
6845
6846 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6849 detecting too small regions.
6850
6851 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6854
6855 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6858 Remove dprintf.
6859 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6860
6861 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6864 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6865 * grub-core/loader/powerpc/ieee1275/linux.c
6866 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6867
6868 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6871 Look for /boot-rom as well as /rom/boot-rom.
6872
6873 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6876 handling when creating text_layer failed.
6877 * grub-core/video/video.c (grub_video_create_render_target):
6878 Set result to 0 on error.
6879 (grub_video_delete_render_target): Do not dereference NULL.
6880
6881 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6884 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6885 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6886 (grub_linux_load64): Mask out 2 high bits.
6887
6888 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6889
6890 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6891 more place.
6892
6893 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 Add support for pseries and other bootinfo machines to grub-mkrescue.
6896
6897 Tested by: Paulo Flabiano Smorigo.
6898
6899 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * util/grub-mkrescue.in: Add GPT for EFI boot.
6902
6903 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6906 It improves performance in qemu.
6907
6908 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * build-aux/snippet: Add missing gnulib files.
6911
6912 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6913
6914 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6915
6916 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6917
6918 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6919
6920 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6921 2013-04-15 Peter Jones <pjones@redhat.com>
6922
6923 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6924 sectors.
6925 Based on patch by Peter Jones.
6926
6927 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 Fix DMRAID partition handling.
6930
6931 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 * tests/grub_cmd_date.in: Skip on sparc64.
6934
6935 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6938 firmware error messages.
6939
6940 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6941
6942 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6943 source and destination differ.
6944
6945 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6948 detection.
6949
6950 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6953 match config-util.h to avoid warnings and increase compatibility.
6954
6955 2013-04-14 Szymon Janc <szymon@janc.net.pl>
6956 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 Add option to compress files on install/image creation.
6959
6960 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * docs/grub-dev.texi: Rearrange menu to match the section order.
6963 Reported by: Bryan Hundven.
6964
6965 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6968
6969 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 Move GRUB out of system area when using xorriso 1.2.9 or later.
6972
6973 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * tests/grub_cmd_date.in: Add missing exit 1.
6976
6977 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * tests/partmap_test.in: Skip on sparc64.
6980
6981 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 Support grub-shell on sparc64.
6984
6985 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 Support mkrescue on sparc64.
6988
6989 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6992 Needed on OpenBIOS due to incomplete device tree.
6993
6994 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6997 would be otherwise excluded.
6998
6999 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
7002 Inline name defines used only once.
7003
7004 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 Fix memory leaks in ofnet.
7007 Reported by: Francesco Lavra.
7008
7009 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * docs/man/grub-glue-efi.h2m: Add missing file.
7012
7013 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
7016
7017 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 Better support Apple Intel Macs on CD.
7020
7021 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7022
7023 Replace stpcpy with grub_stpcpy in tools.
7024
7025 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 Handle Japanese special keys.
7028 Reported by: Hiroyuki YAMAMORI.
7029 Codes supplied by: Hiroyuki YAMAMORI.
7030
7031 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * util/grub-mkimage.c: Document memdisk implying --prefix.
7034
7035 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
7038 much we can do about it anyway.
7039
7040 2013-04-12 Aleš Nesrsta <starous@volny.cz>
7041
7042 Fix handling of split transfers.
7043
7044 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/net/http.c: Fix bad free.
7047
7048 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
7051 than buffer size.
7052
7053 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 Disable partmap check on i386-ieee1275 due to openfirmware issues.
7056
7057 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * tests/util/grub-shell.in: Fix it on powerpc.
7060
7061 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 Turn off QEMU ACPI-way since new releases don't have shutdown port
7064 anymore.
7065
7066 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * docs/grub.texi: Update coreboot status info.
7069
7070 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * tests/grub_cmd_date.in: New test for datetime.
7073
7074 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * tests/partmap_test.in: Fix missing qemudisk setting.
7077
7078 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 Support i386-ieee1275 grub-mkrescue and make check on it.
7081
7082 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
7085 feature for it.
7086
7087 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
7090 GRUB_CMDLINE_XEN_DEFAULT.
7091 Reported by: Marc Warne (GigaTux) <gigatux>
7092
7093 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 Import new gnulib.
7096
7097 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 Use ACPI shutdown intests as traditional port was removed.
7100
7101 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
7102
7103 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
7104 distinction.
7105
7106 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
7109 Fix few warining messages and leaks while on it.
7110
7111 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
7112
7113 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
7114 links under grub-core/lib/libgcrypt-grub/mpi.
7115
7116 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 Fix ia64-efi image generation on big-endian machines. Deduplicate
7119 some code while on it.
7120 Reported by: Leif Lindholm.
7121
7122 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7123
7124 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
7125 as extra_dist.
7126
7127 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7128
7129 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
7130
7131 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
7132
7133 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
7134 texinfo-5.1.
7135
7136 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7137
7138 * grub-core/normal/term.c: Few more fixes for menu entry editor
7139 rendering.
7140 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7141
7142 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/normal/term.c: Few more fixes for menu entry editor
7145 rendering.
7146 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7147
7148 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7149
7150 * conf/Makefile.extra-dist (EXTRA_DIST): Add
7151 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
7152
7153 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7154
7155 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
7156 instead of hardcoding grub.mo.
7157
7158 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
7159
7160 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
7161
7162 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
7165 grub-core/disk/geli.c.
7166
7167 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * util/grub-mkfont.c: Prefer enum to #define.
7170
7171 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
7174
7175 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
7178
7179 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
7182
7183 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
7186
7187 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * include/grub/bsdlabel.h: Use enums.
7190
7191 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 Move GRUB_CHAR_BIT to types.h.
7194
7195 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7196
7197 * docs/grub.texi: Document more user commands.
7198
7199 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7200
7201 * docs/grub.texi: Document menuentry --id option.
7202
7203 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
7204
7205 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
7206
7207 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 Unify file copying setup across different install scripts. Add
7210 options for performing partial install.
7211
7212 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7213 2013-04-04 Peter Jones <pjones@redhat.com>
7214
7215 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
7216
7217 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 Use TSC as a possible time source on i386-ieee1275.
7220
7221 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
7224 Init err.
7225
7226 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * util/grub-setup.c (setup): Handle some corner cases.
7229
7230 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
7233
7234 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * grub-core/commands/verify.c: Save verified file to avoid it being
7237 tampered with after verification was done.
7238
7239 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
7242 reported width by one to compensate for curesor algorithm problem.
7243
7244 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 Fix screen corruption in menu entry editor and simplify the code
7247 flow while on it.
7248
7249 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7250
7251 * util/grub-mount.c (fuse_init): Return error if fuse_main
7252 failed.
7253
7254 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7255
7256 * include/grub/elf.h: Add missing ARM relocation codes and fix
7257 existing ones.
7258
7259 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7260
7261 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7262
7263 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7264 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7267 into account when calculating radius.
7268
7269 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7270
7271 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7272
7273 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7274
7275 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7276
7277 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7278
7279 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7280 missing closing bracket.
7281
7282 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7283
7284 * INSTALL: Mention xorriso requirement.
7285
7286 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7287
7288 * grub-core/commands/verify.c: Fix hash algorithms values for
7289 the first three hashes - they start with 1, not with 0.
7290
7291 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7294 Try terminating EFI services several times due to quirks in some
7295 implementations.
7296
7297 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
7298
7299 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7300 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7301 BankField extended opcodes.
7302 (get_sleep_type): Add minimal scope handling (just enough to
7303 handle setting the scope to the root path).
7304 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7305 * include/grub/acpi.h: Add enumeration values for Event, Device,
7306 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7307
7308 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7309
7310 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7311 memory leak.
7312
7313 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 * grub-core/disk/ahci.c: Give more time for AHCI request.
7316
7317 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7320 command.
7321
7322 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 Replace the region at 0 from coreboot tables to available in BSD
7325 memory map.
7326
7327 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7330 non-BIOS platforms.
7331
7332 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7335 platforms.
7336
7337 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7340 handling of multi-device filesystems.
7341
7342 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7345 platforms.
7346
7347 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 Add new 'proc' filesystem framework and put luks_script into it.
7350
7351 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7354 and qemu.
7355
7356 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7359
7360 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 Add ability to generate newc additions on runtime.
7363
7364 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7367 description.
7368
7369 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * po/POTFILES.in: Regenerate.
7372
7373 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/commands/verify.c (hashes): Add several hashes
7376 from the spec.
7377
7378 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 Slight improve in USB-related boot-time checkpoints.
7381
7382 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/commands/boottime.c: Fix copyright header.
7385
7386 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7389 coreboot tables content. Support for cbmemc.
7390
7391 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 Fix a conflict between ports structures with 2 controllers of
7394 same kind.
7395
7396 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * include/grub/boottime.h: Add missing file.
7399
7400 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 Initialize USB ports in parallel to speed-up boot.
7403
7404 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 Fix USB devices not being detected when requested
7407 due to delayed attach.
7408
7409 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 Implement boot time analysis framework.
7412
7413 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 Remove get_endpoint_descriptor and change all functions needing
7416 descriptor to just receive it as argument rather than endpoint
7417 address.
7418
7419 2013-03-19 Aleš Nesrsta <starous@volny.cz>
7420
7421 Better estimate the maximum USB transfer size.
7422
7423 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 Resend a packet if we got the wrong buffer in status.
7426
7427 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7430 multiplication rather than division.
7431
7432 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7435 than divisions.
7436
7437 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7440 operations to have intended shifts and not divisions.
7441
7442 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7445 intended shifts rather than division.
7446
7447 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7450 computation for some years before epoch. Avode confusing division
7451 while on it.
7452
7453 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * grub-core/video/i386/pc/vbe.c
7456 (grub_video_vbe_print_adapter_specific_info): Replace division by
7457 shifts.
7458
7459 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 Adjust types in gdb module to have intended unsigned shifts rather than
7462 signed divisions.
7463
7464 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7467 maximum size is 4G - 1 on hfs
7468
7469 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7472
7473 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7476 function.
7477
7478 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7479
7480 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7481 causing gcc error with gcc 4.7.1.
7482
7483 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7484
7485 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7486 dereference null pointer. While the code is technically correct, gcc
7487 may eliminate a null check if pointer is already dereferenced.
7488
7489 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7490
7491 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7492 OOM check.
7493 * grub-core/normal/term.c (read_terminal_list): Likewise.
7494
7495 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 Lift up core size limits on some platforms. Fix potential memory
7498 corruption with big core on small memory systems. Document remaining
7499 limits.
7500
7501 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7504 gotoxy to 0,0.
7505
7506 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 Remove all trampoline support. Add -Wtrampolines when
7509 present. Remove symbols used for trampolines to make
7510 link fail if trampolines are present.
7511
7512 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7515 append out of its parent.
7516
7517 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7520 parent.
7521
7522 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7525 all vars to a macro. All users updated.
7526
7527 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7530 i386-ieee1275.
7531
7532 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7535
7536 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7539
7540 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 Move to more hookless approach in IEEE1275 devices handling.
7543
7544 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/kern/term.c (grub_term_normal_color),
7547 (grub_term_highlight_color): Add back lost defaults.
7548
7549 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 Make elfload not use hooks. Opt for flags and iterators instead.
7552
7553 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7556 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7557
7558 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7561
7562 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7565 hook pass-through parameter. All users updated and unnested.
7566
7567 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7570 out of its parent.
7571
7572 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/fs/hfs.c: Remove nested functions.
7575
7576 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7579 the context through.
7580 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7581
7582 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * util/grub-editenv.c (list_variables): Move print_var out of its
7585 parent.
7586
7587 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7590 function.
7591
7592 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/gentrigtables.c: Make tables const.
7595
7596 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 Remove nested functions from videoinfo iterators.
7599
7600 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7603 for 64-bit platforms.
7604
7605 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7608 a FOR_CHILDREN macro.
7609
7610 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7613 platform from firmware path.
7614
7615 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 Enable linux16 on non-BIOS systems for i.a. memtest.
7618
7619 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7620 correctly.
7621 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7622
7623 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7626 Fix end of table condition.
7627
7628 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7631 out of its parent.
7632
7633 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * grub-core/fs/jfs.c: Remove nested functions.
7636
7637 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * grub-core/fs/minix.c: Remove nested functions.
7640
7641 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/fs/iso9660.c: Remove nested functions.
7644
7645 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7648 of parent function.
7649
7650 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * util/grub-fstest.c: Remove nested functions.
7653
7654 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * grub-core/loader/machoXX.c: Remove nested functions.
7657
7658 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
7659
7660 Remove nested functions from disk and file read hooks.
7661
7662 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7663 (struct grub_disk): Add read_hook_data member.
7664 * include/grub/file.h (struct grub_file): Likewise.
7665 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7666 argument.
7667
7668 Update all callers.
7669
7670 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7671
7672 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7673 Fix off by one error in enumerating extended partitions.
7674
7675 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7676
7677 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7678 memory leak if device name is not found.
7679
7680 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7681
7682 * grub-core/normal/menu_entry.c (update_screen): remove
7683 unused variable `off' which caused scroll down arrow to be always shown.
7684
7685 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7686
7687 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7688 access to unallocated memory.
7689
7690 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7691
7692 * Makefile.util.def: Add partmap/msdos.c to common library.
7693 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7694 * grub-core/disk/ldm.c: Check for existence of
7695 GRUB_PC_PARTITION_TYPE_LDM.
7696
7697 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7700 sizes and display sector size.
7701
7702 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 Implement new command cmosdump.
7705
7706 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7707
7708 Support Openfirmware disks with non-512B sectors.
7709
7710 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7711 size of the disk.
7712 * (grub_ofdisk_get_block_size): New function.
7713 * (grub_ofdisk_prepare): Use the correct block size.
7714 * (grub_ofdisk_read): Likewise.
7715 * (grub_ofdisk_write): Likewise.
7716 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7717 New proto.
7718
7719 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7722
7723 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7726 on first error.
7727
7728 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7731 freeing it.
7732
7733 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 Implement USBDebug (full USB stack variant).
7736
7737 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7740 unless they have unexpected values.
7741
7742 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7745 grub_print_error.
7746
7747 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7750 zero-out of port structure.
7751
7752 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7755 of extended attributes.
7756
7757 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7758
7759 * util/grub-install.in: change misleading comment about
7760 device.map creation
7761
7762 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7765 when menu highlight color isn't set.
7766
7767 2013-01-27 C. Masloch <pushbx@38.de>
7768
7769 Improve FreeDOS direct loading support compatibility.
7770
7771 * include/grub/i386/relocator.h (grub_relocator16_state):
7772 New member ebp.
7773 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7774 variable.
7775 (grub_relocator16_boot): Handle %ebp.
7776 * grub-core/lib/i386/relocator16.S: Likewise.
7777 * grub-core/loader/i386/pc/freedos.c:
7778 Load BPB to pass kernel which partition to load from.
7779 Check that kernel file is not too large.
7780 Set register dl to BIOS unit number as well.
7781
7782 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
7783
7784 * util/grub-reboot.in (usage): Document the need for
7785 GRUB_DEFAULT=saved.
7786 * util/grub-set-default.in (usage): Likewise.
7787 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7788
7789 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7792 than defining WORDS_BIGENDIAN manually.
7793
7794 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7797 invariants.
7798
7799 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7800
7801 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7802 nested.
7803 (blit_comb: add_device_width): Likewise.
7804
7805 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7806
7807 Remove nested functions from USB iterators.
7808
7809 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7810 (grub_usb_controller_iterate_hook_t): Likewise.
7811 (grub_usb_iterate): Add hook_data argument.
7812 (grub_usb_controller_iterate): Likewise.
7813 (struct grub_usb_controller_dev.iterate): Likewise.
7814
7815 Update all implementations and callers.
7816
7817 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7820 margin when not needed.
7821
7822 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 Make color variables global instead of it being per-terminal.
7825
7826 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7829 asterisk.
7830
7831 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7832
7833 Fix powerpc and sparc64 build failures caused by un-nesting memory
7834 map iterators.
7835
7836 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7837
7838 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7839 parameter declarations.
7840
7841 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7844
7845 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 Improve spkmomdem reliability by adding a separator between bytes.
7848
7849 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7850
7851 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7852 an Acer registration utility with several sightings in the wild.
7853 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7854
7855 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7856
7857 Remove nested functions from filesystem directory iterators.
7858
7859 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7860 (struct grub_fs.dir): Add hook_data argument.
7861
7862 Update all implementations and callers.
7863
7864 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7865
7866 * docs/grub.texi (Multi-boot manual config): Fix typo for
7867 "recommended".
7868
7869 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7870
7871 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7872 until after its use in generate_image.
7873
7874 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7875
7876 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7877 initrd size to addr_min, since the initrd will be allocated after
7878 this address.
7879
7880 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7881
7882 * conf/Makefile.common: Fix autogen rules to pass definition
7883 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7884
7885 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7886
7887 * include/grub/elf.h: Update ARM definitions based on binutils.
7888
7889 2013-01-20 Aleš Nesrsta <starous@volny.cz>
7890
7891 Split long USB transfers into short ones.
7892
7893 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7894
7895 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7896 is interrupted by ESC.
7897
7898 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * util/grub-script-check.c (main): Uniform the error message.
7901
7902 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7903
7904 Remove nested functions from ELF iterators.
7905
7906 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7907
7908 Remove nested functions from device iterators.
7909
7910 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7911 (grub_arc_iterate_devs): Add hook_data argument.
7912 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7913 (struct grub_ata_dev.iterate): Add hook_data argument.
7914 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7915 (grub_device_iterate): Add hook_data argument.
7916 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7917 (struct grub_disk_dev.iterate): Add hook_data argument.
7918 (grub_disk_dev_iterate): Likewise.
7919 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7920 Likewise.
7921 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7922 Likewise.
7923 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7924 type.
7925 (struct grub_partition_map.iterate): Add hook_data argument.
7926 (grub_partition_iterate): Likewise.
7927 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7928 (struct grub_scsi_dev.iterate): Add hook_data argument.
7929
7930 Update all callers.
7931
7932 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7933
7934 Fix typos for "developer" and "development".
7935
7936 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 Add license header to spkmodem-recv.c.
7939
7940 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 Rewrite spkmodem to use PIT for timing. Double the speed.
7943
7944 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 Add new command pcidump.
7947
7948 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 New terminal outputs using serial: morse and spkmodem.
7951
7952 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 Improve bidi handling in entry editor.
7955
7956 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7959 argument to prevent name collision.
7960
7961 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7962
7963 Remove nested functions from script reading and parsing.
7964
7965 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7966 getline_data argument, passed to getline.
7967 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7968 getline_data argument, passed to grub_parser_split_cmdline.
7969 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7970 lexerstate->getline_data to lexerstate->getline.
7971 (grub_script_lexer_init): Add getline_data argument, saved in
7972 lexerstate->getline_data.
7973 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7974 argument, passed to grub_script_parse.
7975 * grub-core/script/script.c (grub_script_parse): Add getline_data
7976 argument, passed to grub_script_lexer_init.
7977 * include/grub/parser.h (grub_parser_split_cmdline): Update
7978 prototype. Update all callers to pass appropriate getline data.
7979 (struct grub_parser.parse_line): Likewise.
7980 (grub_rescue_parse_line): Likewise.
7981 * include/grub/reader.h (grub_reader_getline_t): Add void *
7982 argument.
7983 * include/grub/script_sh.h (struct grub_lexer_param): Add
7984 getline_data member.
7985 (grub_script_parse): Update prototype. Update all callers to pass
7986 appropriate getline data.
7987 (grub_script_lexer_init): Likewise.
7988 (grub_normal_parse_line): Likewise.
7989
7990 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7991 data argument.
7992 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7993 static instead of nested. Rename to ...
7994 (grub_parser_execute_getline): ... this.
7995 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7996 data argument.
7997 * grub-core/normal/main.c (read_config_file: getline): Make static
7998 instead of nested. Rename to ...
7999 (read_config_file_getline): ... this.
8000 (grub_normal_read_line): Add unused data argument.
8001 * grub-core/script/execute.c (grub_script_execute_sourcecode:
8002 getline): Make static instead of nested. Rename to ...
8003 (grub_script_execute_sourcecode_getline): ... this.
8004 * util/grub-script-check.c (main: get_config_line): Make static
8005 instead of nested.
8006
8007 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
8008
8009 Remove nested functions from memory map iterators.
8010
8011 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
8012 argument, passed to hook.
8013 * grub-core/kern/i386/coreboot/mmap.c
8014 (grub_linuxbios_table_iterate): Likewise.
8015 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
8016 instead of nested.
8017 (grub_machine_mmap_iterate): Add hook_data argument.
8018 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
8019 Add hook_data argument, passed to hook.
8020 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
8021 Likewise.
8022 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8023 Likewise.
8024 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
8025 Likewise.
8026 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
8027 Likewise.
8028 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
8029 Likewise.
8030 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
8031 Likewise.
8032 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
8033 (grub_machine_mmap_iterate): Likewise.
8034 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
8035 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
8036 prototype.
8037 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
8038 Remove NESTED_FUNC_ATTR from here and from all users.
8039 (grub_mmap_iterate): Update prototype.
8040 (grub_efi_mmap_iterate): Update prototype. Update all callers to
8041 pass appropriate hook data.
8042 (grub_machine_mmap_iterate): Likewise.
8043
8044 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
8045 static instead of nested.
8046 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
8047 Rename to ...
8048 (lsmmap_hook): ... this.
8049 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
8050 Likewise.
8051 (grub_efiemu_mmap_fill: fill_hook): Likewise.
8052 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
8053 heap_init): Likewise.
8054 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
8055 Rename to ...
8056 (mmap_iterate_hook): ... this.
8057 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
8058 Likewise.
8059 * grub-core/lib/ieee1275/relocator.c
8060 (grub_relocator_firmware_get_max_events: count): Likewise.
8061 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
8062 to ...
8063 (grub_relocator_firmware_fill_events_iter): ... this.
8064 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
8065 hook): Likewise. Rename to ...
8066 (grub_relocator_alloc_chunk_align_iter): ... this.
8067 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
8068 Rename to ...
8069 (generate_e820_mmap_iter): ... this.
8070 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
8071 Rename to ...
8072 (count_hook): ... this.
8073 (grub_linux_boot: hook): Likewise. Rename to ...
8074 (grub_linux_boot_mmap_find): ... this.
8075 (grub_linux_boot: hook_fill): Likewise. Rename to ...
8076 (grub_linux_boot_mmap_fill): ... this.
8077 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
8078 hook): Likewise. Rename to ...
8079 (grub_fill_multiboot_mmap_iter): ... this.
8080 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
8081 hook): Likewise. Rename to ...
8082 (count_hook): ... this.
8083 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
8084 hook): Likewise. Rename to ...
8085 (grub_fill_multiboot_mmap_iter): ... this.
8086 * grub-core/loader/powerpc/ieee1275/linux.c
8087 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
8088 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
8089 Likewise. Rename to ...
8090 (alloc_phys_choose): ... this.
8091 (determine_phys_base: get_physbase): Likewise.
8092 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
8093 find_hook): Likewise.
8094 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
8095 (malloc_hook: count_hook): Likewise.
8096 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
8097 Likewise. Rename to ...
8098 (lower_hook): ... this.
8099 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8100 (upper_hook): ... this.
8101 (grub_mmap_get_post64: hook): Likewise. Rename to ...
8102 (post64_hook): ... this.
8103 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
8104 Likewise. Rename to ...
8105 (lower_hook): ... this.
8106 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8107 (upper_hook): ... this.
8108 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
8109 (grub_mmap_iterate: fill_hook): Likewise.
8110 (fill_mask): Pass addr and mask within a single struct.
8111 (grub_cmd_badram: hook): Make static instead of nested. Rename
8112 to ...
8113 (badram_iter): ... this.
8114 (grub_cmd_cutmem: hook): Likewise. Rename to ...
8115 (cutmem_iter): ... this.
8116
8117 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
8120 delimit path in strings using quotes.
8121 * util/getroot.c (grub_guess_root_devices): Likewise.
8122 (grub_make_system_path_relative_to_its_root): Likewise.
8123 * util/grub-probe.c (probe): Likewise.
8124 * util/ieee1275/ofpath.c (find_obppath): Likewise.
8125 (xrealpath): Likewise.
8126
8127 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 Fix compilation with older compilers.
8130
8131 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
8132 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
8133 declarations.
8134 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
8135 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
8136 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
8137 identifier with b.
8138 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
8139 * include/grub/crypto.h: Add type defines.
8140 * util/import_gcrypth.sed: Remove duplicate type defines.
8141
8142 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 New command list_trusted.
8145
8146 * grub-core/commands/verify.c (grub_cmd_list): New function.
8147
8148 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
8149
8150 * util/grub-mkimage.c (generate_image): Fix "size of public key"
8151 info message.
8152
8153 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
8154
8155 Remove nested functions from PCI iterators.
8156
8157 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
8158 passed to hook. Update all callers to pass appropriate hook data.
8159 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
8160 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
8161 Remove NESTED_FUNC_ATTR from here and from all users.
8162 (grub_pci_iterate): Update prototype.
8163 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
8164 instead of nested. Rename to ...
8165 (grub_cs5536_find_iter): ... this.
8166 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
8167 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
8168 Likewise.
8169 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
8170 Likewise.
8171 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
8172 Likewise.
8173 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
8174 Likewise.
8175 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
8176 * grub-core/video/radeon_fuloong2e.c
8177 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
8178 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
8179 find_card): Likewise.
8180 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
8181 Likewise.
8182
8183 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * grub-core/commands/verify.c: Mark messages for translating.
8186
8187 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
8190 fatal.
8191
8192 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
8195 fatal.
8196
8197 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * autogen.sh: Do not try to delete nonexistant files.
8200 * util/import_gcrypth.sed: Add some missing header removals.
8201
8202 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
8203
8204 Clean up dangling references to grub-setup.
8205 Fixes Ubuntu bug #1082045.
8206
8207 * docs/grub.texi (Images): Refer generally to grub-install rather
8208 than directly to grub-setup.
8209 (Installing GRUB using grub-install): Remove direct reference to
8210 grub-setup.
8211 (Device map) Likewise.
8212 (Invoking grub-install): Likewise.
8213 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8214 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8215 * util/grub-install.in (usage): Likewise.
8216
8217 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
8218 Apply to grub-bios-setup and grub-sparc64-setup rather than to
8219 grub-setup.
8220 * configure.ac: Remove grub_setup output variable.
8221
8222 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
8223 to grub-bios-setup.
8224 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
8225 grub-setup to grub-sparc64-setup.
8226
8227 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 Import gcrypt public-key cryptography and implement signature checking.
8230
8231 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * grub-core/fs/ntfs.c: Ue more appropriate types.
8234 * grub-core/fs/ntfscomp.c: Likewise.
8235 * include/grub/ntfs.h: Likewise.
8236
8237 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 Support Apple FAT binaries on non-Apple platforms.
8240
8241 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
8242 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
8243 Likewise.
8244 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
8245 Apple FAT binaries.
8246
8247 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8250 sector devices.
8251
8252 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8253
8254 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8255 explicitly zeroing elements.
8256 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8257 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8258 of elements in a structure already allocated using grub_zalloc.
8259 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8260
8261 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8262
8263 * docs/grub.texi (grub_cpu): New subsection.
8264 (grub_platform): Likewise.
8265
8266 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8269
8270 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8273 divisions.
8274
8275 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8278 * grub-core/fs/ntfscomp.c: Likewise.
8279 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8280 (grub_ntfs_comp): Likewise.
8281
8282 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8285 Rename to ...
8286 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8287 of groups_per_block. All users updated.
8288
8289 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8292 grub_error properly.
8293 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8294 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8295
8296 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8299 always in /boot/zfs.
8300 Reported by: Yuta Satoh.
8301
8302 2013-01-03 Yuta Satoh <nigoro>
8303
8304 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8305 ${grub_probe}
8306
8307 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * configure.ac: Extend -Wno-trampolines to host.
8310
8311 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8314 entry->len = 0.
8315
8316 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8317
8318 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8319 (Invoking grub-script-check): Likewise.
8320
8321 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8322
8323 * docs/grub.texi (Invoking grub-mount): New section.
8324 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8325
8326 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8327
8328 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8329 test failures, so that a failing unit test correctly causes 'make
8330 check' to fail.
8331
8332 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8333
8334 Fix failing printf test.
8335
8336 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8337 '$' in the correct order when collecting type information.
8338
8339 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8340
8341 * docs/grub.texi (configfile): Explain environment variable
8342 handling.
8343 (source): New section.
8344 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8345
8346 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
8347
8348 Remove several trivially-unnecessary uses of nested functions.
8349
8350 * grub-core/commands/i386/pc/sendkey.c
8351 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8352 instead of nested.
8353 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8354 Rename to ...
8355 (legacy_file_getline): ... this.
8356 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8357 Likewise.
8358 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8359 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8360 to ...
8361 (probe_dummy_iter): ... this.
8362 * grub-core/kern/i386/coreboot/mmap.c
8363 (grub_linuxbios_table_iterate: check_signature): Likewise.
8364 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8365 check_varstate): Likewise. Mark inline.
8366 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8367 an additional parameter.
8368 (find_long: fnd_long): Likewise. Pass two additional parameters.
8369 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8370 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8371 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8372 Likewise. Rename to ...
8373 (grub_cmos_find_port_iter): ... this.
8374 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8375 Rename to ...
8376 (find_rtc_iter): ... this.
8377
8378 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8379 function directly into the function body, since it is only called
8380 once.
8381
8382 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
8383
8384 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8385 __attribute__ ((unused)).
8386 * grub-core/video/bochs.c (find_card): Likewise.
8387 * grub-core/video/cirrus.c (find_card): Likewise.
8388 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8389 * grub-core/video/sis315pro.c (find_card): Likewise.
8390 * grub-core/video/sm712.c (find_card): Likewise.
8391
8392 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8393
8394 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8395 Fixes Savannah bug #37821.
8396
8397 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8398
8399 Apply program name transformations at build-time rather than at
8400 run-time. Fixes Debian bug #696465.
8401
8402 * acinclude.m4 (grub_TRANSFORM): New macro.
8403 * configure.ac: Create output variables with transformed names for
8404 most programs.
8405 * util/bash-completion.d/grub-completion.bash.in: Use
8406 pre-transformed variables for program names.
8407 * util/grub-install.in: Likewise.
8408 * util/grub-kbdcomp.in: Likewise.
8409 * util/grub-mkconfig.in: Likewise.
8410 * util/grub-mkconfig_lib.in: Likewise.
8411 * util/grub-mknetdir.in: Likewise.
8412 * util/grub-mkrescue.in: Likewise.
8413 * util/grub-mkstandalone.in: Likewise.
8414 * util/grub-reboot.in: Likewise.
8415 * util/grub-set-default.in: Likewise.
8416 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8417 * tests/util/grub-shell-tester.in: Remove unused assignment.
8418 * tests/util/grub-shell.in: Likewise.
8419 * util/grub.d/00_header.in: Likewise.
8420
8421 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8422
8423 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8424
8425 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8426 HAVE_RAW_DECL_GETS.
8427 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8428
8429 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8432 Reported by: Eriks Latosheks <foresterlv>.
8433
8434 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * docs/grub.texi (Network): Update instructions on generating netboot
8437 image.
8438
8439 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8442 around device name if necessarry.
8443
8444 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8445
8446 * util/grub-install.in: Follow the symbolic link parameter added
8447 to the file command.
8448
8449 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8450
8451 * util/grub-install.in: Remove stale TODO.
8452
8453 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8454
8455 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8456 dynamic allocation for the bootpath buffer.
8457
8458 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8459
8460 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8461 window too small.
8462
8463 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8466 argument rather than font name. All users updated.
8467 (grub_gfxterm_set_window): Likewise.
8468
8469 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8470
8471 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8472 from working.
8473
8474 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * util/getroot.c (convert_system_partition_to_system_disk): Support
8477 nbd disks.
8478
8479 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8482 infinite loop on corrupted FS.
8483
8484 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 Fix big-endian mtime.
8487
8488 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8489 together sec and usec.
8490 (grub_ufs_dir): Use correct byteswapping for UFS time.
8491
8492 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 Support big-endian UFS1.
8495
8496 * Makefile.util.def (libgrubmods): Add ufs_be.c
8497 * grub-core/Makefile.core.def (ufs1_be): New module.
8498 * grub-core/fs/ufs_be.c: New file.
8499 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8500 the file.
8501
8502 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8503
8504 * include/grub/types.h: Fix functionality unaffecting typo in
8505 GRUB_TARGET_WORDSIZE conditional macro.
8506
8507 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8508
8509 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8510
8511 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8512
8513 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8514 that /netbsd appears first (when it exists).
8515
8516 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
8517
8518 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8519 Fixes Savannah bug #37558.
8520
8521 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
8522
8523 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8524 description of extract_entries_configfile.
8525
8526 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
8527
8528 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8529 preferred_address.
8530 (grub_cmd_linux): Likewise.
8531 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8532 preferred_lifetime. Update all users.
8533
8534 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8535
8536 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8537 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8538
8539 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8540
8541 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8542 errors from grub-probe to /dev/null, not stdout.
8543
8544 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8547 sector 1.
8548
8549 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
8550
8551 * util/grub-install.in: Make the error message if $source_dir
8552 doesn't exist more useful.
8553
8554 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
8555
8556 Fix grub-emu build on FreeBSD.
8557
8558 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8559 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8560 headers on Linux.
8561 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8562 implementation is currently Linux-specific.
8563 * util/getroot.c (exec_pipe): Define only on Linux or when either
8564 libzfs or libnvpair is unavailable.
8565 (find_root_devices_from_poolname): Remove unused path variable.
8566
8567 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8568
8569 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8570 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8571 should fit before end == 63.
8572
8573 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8574
8575 * util/grub-setup.c (write_rootdev): Remove unused core_img
8576 parameter. Update all callers.
8577 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8578 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8579 GRUB_SETUP_BIOS.
8580
8581 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8584 (grub_add_tab): New function.
8585 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8586 * util/grub.d/10_illumos.in: Likewise.
8587 * util/grub.d/10_kfreebsd.in: Likewise.
8588 * util/grub.d/10_linux.in: Likewise.
8589 * util/grub.d/10_netbsd.in: Likewise.
8590 * util/grub.d/10_windows.in: Likewise.
8591 * util/grub.d/10_xnu.in: Likewise.
8592 * util/grub.d/20_linux_xen.in: Likewise.
8593 * util/grub.d/30_os-prober.in: Likewise.
8594
8595 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8598 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8599 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8600 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8601 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8602 ieee1275-nocursor.
8603 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8604 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8605
8606 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8609 le-conversion.
8610 Reported by: BURETTE, Bernard.
8611
8612 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
8613
8614 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8615 from comment.
8616
8617 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
8618
8619 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8620 IEEE1275 machines. Fixes powerpc-emu compilation.
8621 * include/grub/terminfo.h: Likewise.
8622
8623 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8626 a const pointer.
8627 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8628 const pointer.
8629 (efiemu_set_variable): Make vendor_guid a const pointer.
8630
8631 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 Don't require grub-mkconfig_lib to generate manpages for programs.
8634
8635 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8636 dependencies, don't add grub-mkconfig_lib.
8637 (program): Pass empty adddeps.
8638 (script): Pass grub-mkconfig_lib as adddeps.
8639
8640 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8643 * util/getroot.c (grub_find_device): Likewise.
8644 (get_mdadm_uuid): Likewise.
8645 (grub_util_is_imsm): Likewise.
8646 (grub_util_pull_device): Likewise.
8647 * util/grub-probe.c (probe): Likewise.
8648
8649 2012-09-10 Benoit Gschwind <gschwind>
8650
8651 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8652 (devs): Add devpath_8.
8653
8654 2012-09-08 Peter Jones <pjones@redhat.com>
8655
8656 * grub-core/Makefile.core.def (efifwsetup): New module.
8657 * grub-core/commands/efi/efifwsetup.c: New file.
8658 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8659 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8660 New define.
8661 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8662
8663 2012-09-05 Jiri Slaby <jslaby@suse.cz>
8664
8665 * configure.ac: Add SuSe path.
8666
8667 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8668
8669 * NEWS: Fix typo.
8670
8671 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8672
8673 * util/import_gcry.py: Sort cipher_files, to make build system
8674 generation more deterministic.
8675
8676 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8679 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8680 (grub_set_datetime): Likewise.
8681
8682 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8685 warnings.
8686
8687 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8690
8691 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8694
8695 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8696
8697 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8698 required for checkouts from bzr, but it may be useful for users or
8699 distributors wishing to update translations against a tarball
8700 distribution, and it can be helpful for the tarball to be a superset
8701 of what's in bzr.
8702
8703 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8704
8705 * Makefile.am (EXTRA_DIST): Add
8706 grub-core/tests/boot/linux.init-mips.S,
8707 grub-core/tests/boot/linux.init-ppc.S, and
8708 grub-core/tests/boot/linux-ppc.cfg.
8709
8710 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8711
8712 * grub-core/mmap/mips/loongson: Remove empty directory.
8713
8714 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8715
8716 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8717 gone.
8718
8719 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8720
8721 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8722 grub-sparc64-setup.
8723
8724 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8725
8726 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8727
8728 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8729
8730 * po/POTFILES.in: Regenerated.
8731
8732 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8733
8734 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8735 (NetBSD): New subsection.
8736
8737 2012-07-22 Ales Nesrsta <starous@volny.cz>
8738
8739 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8740 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8741
8742 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8745 * util/grub.d/10_hurd.in: Add missing quoting.
8746 * util/grub.d/10_illumos.in: Likewise.
8747 * util/grub.d/10_kfreebsd.in: Likewise.
8748 * util/grub.d/10_linux.in: Likewise.
8749 * util/grub.d/20_linux_xen.in: Likewise.
8750
8751 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 New command `lsefi'.
8754
8755 * grub-core/Makefile.core.def (lsefi): New module.
8756 * grub-core/commands/efi/lsefi.c: New file.
8757 * include/grub/efi/api.h: Add more GUIDs.
8758
8759 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8762 (grub_bsd_elf32_hook): Likewise.
8763 (grub_bsd_elf64_size_hook): Likewise.
8764 (grub_bsd_elf64_hook): Likewise.
8765 (grub_bsd_load_elf): Likewise.
8766
8767 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8770 if hash function is unavailable.
8771 (dec_stream_header): Likewise.
8772
8773 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8776 filter state.
8777
8778 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Fix coreboot compilation.
8781
8782 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8783 (grub_vga_text_init_real): ... this.
8784 (grub_vga_text_fini): Rename to ...
8785 (grub_vga_text_fini_real): ... this.
8786
8787 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8790
8791 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/lib/legacy_parse.c: Support clear and testload.
8794
8795 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8798
8799 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8802
8803 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * grub-core/net/tftp.c (ack): Fix endianness problem.
8806 (tftp_receive): Likewise.
8807 Reported by: Michael Davidsaver.
8808
8809 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8812
8813 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8814
8815 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8816 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8817 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8818
8819 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8822 efi_mmap_size.
8823 Reported by: Stuart Hayes.
8824
8825 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8828
8829 * grub-core/Makefile.core.def (mda_text): New module.
8830 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8831 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8832 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8833 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8834 here.
8835 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8836 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8837 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8838 here.
8839 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8840 to ..
8841 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8842 ... here
8843 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8844 here.
8845 * grub-core/term/i386/vga_common.c: Removed.
8846 * include/grub/i386/vga_common.h: Likewise.
8847 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8848 (grub_vga_cr_bw_read): Likewise.
8849 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8850 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8851 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8852 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8853 grub_vga_cr_read/grub_vga_cr_write.
8854 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8855
8856 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * configure.ac: Bump version to 2.00.
8859 * grub-core/normal/main.c (features): Add feature_200_final.
8860
8861 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8862 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8863
8864 * NEWS: Fix unclarity and language mistakes.
8865
8866 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8869 additional size to 3 pages.
8870 Reported by: Stuart Hayes.
8871
8872 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * NEWS: Add 2.00 entry.
8875
8876 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8879 put explicit "/" for empty path.
8880 (wildcard_expand): Improve dprintf.
8881
8882 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8885 it's equal to currnode. This can happen with "" symlink.
8886
8887 2012-06-27 Yves Blusseau <blusseau@zetam.org>
8888
8889 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8890 echo shell command by printf command.
8891
8892 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8895 the value returned by firmware is the maximal position, not diumension.
8896 (grub_terminfo_output_state): Use a more sane fallback.
8897
8898 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8901
8902 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8905 frequency to 150 MHz.
8906
8907 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 Apple fixes.
8910
8911 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8912 __APPLE_
8913 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8914 definition.
8915 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8916
8917 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 Handle slash in HFS label.
8920
8921 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8922 (grub_hfs_dir): Tanslate slash.
8923 (grub_hfs_label): Don't translate slash.
8924
8925 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8928 network protocol listing since it introduces problematic dependency on
8929 net module.
8930
8931 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8934
8935 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 Init video early on yeeloong to avoid being rebooted by watchdog.
8938
8939 * grub-core/Makefile.am (gensm712): New target.
8940 (sm712_start.S): Likewise.
8941 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8942 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8943 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8944 description.
8945 * include/grub/vga.h: Move registry definitions to...
8946 * include/grub/vgaregs.h: ... here.
8947
8948 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8951 signedness.
8952
8953 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8956 platforms with firmware disk drivers in the core.
8957
8958 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8961 informative verbose message.
8962 (read_lv): Handle 64-bit segment size.
8963
8964 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8967
8968 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8971 character but still remove trainling spaces.
8972 (grub_fat_label): Ignore archive flag.
8973
8974 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8977 cast between linux_kernel_header and linux_kernel_params.
8978
8979 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8982 type for size.
8983 (grub_raid6_recover_func_t): Likewise.
8984 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8985 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8986
8987 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8990
8991 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8992
8993 Fix overflow.
8994
8995 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8996 [__NetBSD__]: Add explicit cast before bitshift.
8997
8998 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * configure.ac: Bump to 2.00~rc1.
9001
9002 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
9005 half of $a0.
9006
9007 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9008 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
9009
9010 * docs/grub.texi: Fix search syntax.
9011 (Multi-boot manual config): Put msdos rather than GPT example.
9012 Grammar corrections.
9013
9014 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
9017
9018 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
9021
9022 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
9025 message on double free. Put the value of magic in case of mismatch.
9026
9027 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 Speed-up video on yeeloong.
9030
9031 * grub-core/video/sm712.c (framebuffer): Remove render_target and
9032 add cached_ptr.
9033 (grub_video_sm712_video_fini): Unmap cached_ptr.
9034 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
9035 (grub_video_sm712_set_active_render_target): Removed.
9036 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9037 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
9038 sync caches.
9039
9040 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 Avoid flushing the same line multiple times on loongson.
9043
9044 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
9045 Step in 32 bytes and not 1 byte.
9046 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
9047 Likewise.
9048
9049 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
9052 subvolumes.
9053
9054 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 Implement flow control for http.
9057
9058 * grub-core/net/http.c (parse_line): Handle response 206.
9059 (http_receive): Stall if too many packets are in the queue.
9060 (http_establish): Fix range header.
9061 (http_seek): Fix double free.
9062 (http_close): Likewise.
9063 (http_packets_pulled): New function.
9064 (grub_http_protocol): Set http_seek
9065 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
9066 (ack_real): Set window depending on i_stall.
9067 (grub_net_send_tcp_packet): Likewise.
9068 (grub_net_tcp_stall): New function.
9069 (grub_net_tcp_unstall): Likewise.
9070 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
9071 (grub_net_tcp_unstall): Likewise.
9072
9073 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * grub-core/net/tftp.c: Decrease stall to 50 packets.
9076
9077 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
9080
9081 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * tests/util/grub-shell.in: Fix a typo.
9084
9085 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 Implement flow control for tftp.
9088
9089 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
9090 packets but stop only if stop condition is satisfied.
9091 (grub_net_fs_read_real): Call packets_pulled after real read. Use
9092 `stall' instead of `eof' as stop condition.
9093 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
9094 (http_err): Likewise.
9095 * grub-core/net/tftp.c (ack): Replace the first argument with data
9096 instead of socket.
9097 (tftp_receive): Stall if too many packets are in wait queue.
9098 (tftp_packets_pulled): New function.
9099 (grub_tftp_protocol): Set packets_pulled.
9100 * include/grub/net.h (grub_net_packets): New field count.
9101 (grub_net_put_packet): Increment count.
9102 (grub_net_remove_packet): Likewise.
9103 (grub_net_app_protocol): New field `packets_pulled'.
9104 (grub_net): New field `stall'.
9105
9106 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
9109 sync part to handle them.
9110
9111 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
9114 * grub-core/net/drivers/ieee1275/ofnet.c
9115 (grub_ieee1275_net_config_real): Likewise.
9116
9117 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
9120 the direct route for server/gateway.
9121
9122 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
9125 IP address to server name since we may not hame the DNS.
9126
9127 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
9130 freeing random buffer on failure.
9131 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
9132
9133 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
9136
9137 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
9140 reserved bytes.
9141 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
9142 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
9143 Handle malloc error correctly.
9144
9145 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9148 blocks.
9149
9150 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
9153 increment.
9154
9155 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
9158 none is explicitly specified.
9159
9160 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
9163 while reallocating.
9164
9165 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Respect netmask from bootp/dhcp.
9168
9169 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
9170 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
9171 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
9172 into ...
9173 (grub_net_add_ipv4_local): ... this.
9174 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
9175 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
9176 (grub_net_add_ipv4_local): New proto.
9177
9178 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
9181 determining EFI memory map size.
9182
9183 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
9186
9187 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
9190 when looking for partition separator.
9191
9192 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9195 Escape commas.
9196
9197 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 Restructure FAT driver to avoid hook in label reading as it hits a
9200 GCC bug.
9201
9202 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
9203 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
9204 (grub_fat_iterate_dir): Split into ...
9205 (grub_fat_iterate_init): ... this, ...
9206 (grub_fat_iterate_fini): ... this, ...
9207 (grub_fat_iterate_dir_next): ... and this. All users updated.
9208
9209 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9212 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
9213 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9214 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
9215 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
9216 New fields last_key and last_key_time.
9217 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
9218 extended key-esc into extended key-extended key.
9219
9220 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 Avoid unnecessary memcpy of whole video buffer.
9223
9224 * grub-core/video/fb/video_fb.c (dirty): New struct.
9225 (framebuffer): Add members current_dirty and previous_dirty.
9226 (dirty): New function.
9227 (grub_video_fb_fill_rect): Update dirty.
9228 (common_blitter): Likewise.
9229 (grub_video_fb_scroll): Likewise.
9230 (doublebuf_blit_update_screen): Copy only dirty part.
9231 (doublebuf_pageflipping_update_screen): Likewise.
9232 (grub_video_fb_doublebuf_blit_init): Init dirty.
9233 (doublebuf_pageflipping_init): Likewise.
9234 (grub_video_fb_setup): Likewise.
9235
9236 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
9239 poll rate.
9240
9241 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 Fix wildcard regexp dot and other special characters handling.
9244 Reported by: Robert Mabee.
9245
9246 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9247 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9248 (split_path): Trigger expansion on '?'.
9249 (unescape): New function.
9250 (wildcard_expand): Unescape parts copied without globbing.
9251 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9252 (grub_script_arglist_to_argv): Don't unescape expansions.
9253
9254 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * include/grub/net.h (grub_net_card): New member txbufsize.
9257 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9258 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9259 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9260 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9261 txbufsize.
9262 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9263 compatible property to check for macs. Set
9264 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9265 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9266 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9267 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9268 (send_card_buffer): Use txbuf.
9269 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9270 nested function out of the parent while on it.
9271
9272 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9275 presence check.
9276 (grub_ieee1275_net_config_real): Fix config pointer.
9277
9278 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9281 filename parsing to non-block devices.
9282
9283 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9286
9287 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9290 All users updated.
9291
9292 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9295 UUID search command even if hints probing failed.
9296
9297 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 * po/POTFILES.in: Regenerated.
9300
9301 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 Speed-up video on fuloong.
9304
9305 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9306 New function.
9307 (grub_pci_device_unmap_range): Handle non-cached address.
9308 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9309 add direct_ptr.
9310 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9311 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9312 (grub_video_sis315pro_set_active_render_target): Removed.
9313 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9314 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9315 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9316 sync caches.
9317 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9318 New proto.
9319
9320 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * docs/grub.texi (Multi-boot manual config): New section.
9323
9324 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 Avoid slow read-back from VRAM.
9327
9328 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9329 Move from here ...
9330 * grub-core/video/fb/video_fb.c
9331 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9332 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9333 (front_target): Remove front_target. Add pages.
9334 (grub_video_fb_init): Skip setting front_pages.
9335 (grub_video_fb_fini): Likewise.
9336 (doublebuf_blit_update_screen): Use pages.
9337 (grub_video_fb_doublebuf_blit_init): Likewise.
9338 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9339 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9340 (grub_video_fb_setup): Prefer doublebuffing.
9341
9342 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9345 gzio.
9346
9347 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 Add loongson tests.
9350
9351 * tests/util/grub-shell.in: Handle loongson.
9352 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9353 drivers.
9354 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9355 Reboot instead of shutdown if REBOOT is defined.
9356
9357 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9360 sized ports since unlike on real hardware qemu supports only 32-bit
9361 regs.
9362
9363 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9366 * util/grub-mkrescue.in: Handle loongson.
9367
9368 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9371 Set is_part appropriately.
9372 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9373 names. Canonicalize partition without full disk.
9374
9375 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 Revert usb-quiesce since it's wrong.
9378
9379 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9380 (grub_ofdisk_init): Don't do quiesce.
9381
9382 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9385 PowerMac workaround to Xserves as well.
9386 Information supplied by: Benjamin Herrenschmidt.
9387
9388 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 Don't assume that beginning address is also the entry point on ppc.
9391
9392 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9393 (grub_linux_boot): Use linux_entry.
9394 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9395 (grub_linux_load64): Likewise.
9396
9397 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9400
9401 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9404 needlessly lose the console.
9405
9406 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9409 space.
9410
9411 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9414 than current grub_get_rtc() not implemented when booted with
9415 coreboot without TSC.
9416
9417 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9418 Add machine/time.h to kernel headers on loongson.
9419 * grub-core/Makefile.core.def (kernel): Remove
9420 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9421 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9422 (grub_get_rtc): Likewise.
9423 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9424 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9425 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9426 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9427 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9428 rather than installing known non-working time source.
9429 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9430 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9431 * include/grub/time.h: Don't include machine/time.h.
9432 * include/grub/efi/time.h: Removed.
9433 * include/grub/i386/efi/time.h: Likewise.
9434 * include/grub/i386/ieee1275/time.h: Likewise.
9435 * include/grub/powerpc/ieee1275/time.h: Likewise.
9436 * include/grub/sparc64/ieee1275/time.h: Likewise.
9437 * include/grub/x86_64/efi/time.h: Likewise.
9438
9439 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 Remove dot on i and j when combining with above diacritics.
9442
9443 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9444 value.
9445 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9446 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9447 with dotless variants when any combining above is present.
9448
9449 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9452 text and not binary.
9453
9454 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 Stop polling as soon as we have the packet we were waiting for.
9457
9458 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9459 All users updated.
9460 * grub-core/net/arp.c (have_pending): New var.
9461 (pending_req): Likewise.
9462 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9463 stop indicator.
9464 (grub_net_arp_receive): Set have_pending.
9465 * grub-core/net/dns.c (recv_data): New field stop.
9466 (recv_hook): Set stop.
9467 (grub_net_dns_lookup): Init stop and use as stop condition.
9468 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9469 condition.
9470 * grub-core/net/net.c (grub_net_poll_cards): New argument
9471 stop_condition. Stop when it goes true.
9472 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9473 indicator.
9474 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9475
9476 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 Keep TX and RX buffers on EFI rather than always allocate new ones.
9479
9480 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9481 card. All users updated.
9482 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9483 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9484 (get_card_packet): Likewise.
9485 (grub_efinet_findcards): Init new fields.
9486
9487 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9490 compilation error on sparc64.
9491
9492 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 Use ITC on IA64 rather than broken routine based on daytime.
9495
9496 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9497 ia64.
9498 (grub_get_rtc) [__ia64__]: Likewise.
9499 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9500 (get_itc): New function.
9501 (grub_rtc_get_time_ms): Likewise.
9502 (grub_machine_init): Calibrate ITC.
9503 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9504 Keep only on non-ia64. Don't export since it's broken and used only
9505 if TSC is unavailable.
9506
9507 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9510 even if it's used.
9511 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9512 Skip if parent is unused.
9513
9514 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9517
9518 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 Fix wildcard escaping.
9521
9522 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9523 * grub-core/script/execute.c (wildcard_escape): .. to here.
9524 Don't escape dot.
9525 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9526 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9527 Don't escape dot.
9528 * grub-core/script/execute.c (gettext_append): Always escape.
9529 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9530 * grub-core/script/yylex.l: Don't cut away the escaping.
9531 * tests/grub_script_echo1.in: Add tests with wildcard.
9532
9533 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9536 (ftdi_hw_configure): Likewise.
9537 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9538 define.
9539 (real_config): Handle 1.5 stop bits.
9540 (pl2303_hw_configure): Likewise.
9541
9542 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * Makefile.am: Add ppc linux bootcheck.
9545 * grub-core/tests/boot/linux-ppc.cfg: New file.
9546 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9547
9548 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * tests/grub_script_expansion.in: Skip network protocols.
9551
9552 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9555
9556 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9559 --rom-directory.
9560 Add -graft-points.
9561
9562 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 ESCC serial driver for conducting sautomated tests in qemu.
9565 Not tested on real hardware.
9566
9567 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9568 * grub-core/term/ieee1275/escc.c: New file.
9569 * grub-core/Makefile.core.def (escc): New module.
9570
9571 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9574 invalid on error.
9575 (serial_hw_fetch): Don't read invalid handle.
9576 (serial_hw_put): Don't write into invalid handle.
9577
9578 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 Add a 1.5 stop bits value.
9581
9582 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9583 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9584 GRUB_SERIAL_STOP_BITS_1_5.
9585
9586 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9589 value rather than let it uninited.
9590
9591 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * grub-core/commands/wildcard.c (+check_file): New function.
9594 (wildcard_expand): Don't expand to non-existing files, expand with
9595 suffix and not attempt to expand if not needed.
9596
9597 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9600 out of partitions containing other partitions.
9601
9602 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9603
9604 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9605 on some qemu versions with GRUB.
9606
9607 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9608 define.
9609 (grub_openbsd_bootarg_pcibios): New struct.
9610 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9611 Add PCIINFO.
9612
9613 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * tests/util/grub-shell.in: Trim firmware output on EFI.
9616
9617 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9620 and coreboot since it's already in kernel.
9621
9622 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9625 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9626 to here. New return value start. All users updated.
9627 Recursively scan linear mappings.
9628 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9629 proto.
9630 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9631 Use grub_util_get_dm_node_linear_info.
9632 * util/getroot.c (convert_system_partition_to_system_disk): Use
9633 grub_util_info rather than grub_dprintf.
9634 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9635
9636 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9639
9640 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9641 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9642
9643 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * include/grub/types.h (grub_set_unaligned64): New function.
9646 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9647 (setup): Likewise.
9648
9649 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9652 (grub_ofdisk_fini): Quiesce USB devices.
9653
9654 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9657 caches.
9658
9659 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9662
9663 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * grub-core/disk/pata.c (grub_pata_pio_read)
9666 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9667 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9668
9669 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 Extend automated tests to qemu-mips.
9672
9673 * Makefile.am: reorganise tests and enable qemu-mips.
9674 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9675 * grub-core/tests/boot/linux.init-mips.S: New file.
9676 * tests/partmap_test.in: Handle ata0 disks.
9677 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9678 non-pc i386.
9679
9680 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9683 ia64.
9684 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9685 quotes while on it.
9686
9687 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9690 (grub_halt): Likewise.
9691 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9692
9693 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/term/serial.c (grub_serial_register)
9696 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9697 the behaviour in line with x86 platforms.
9698
9699 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9702 (grub_ata_strncpy): Likewise.
9703 (grub_ata_identify): Add missing byteswaps.
9704
9705 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9708 byte-swap.
9709 (screen_read_char): Likewise.
9710 (grub_vga_text_cls): Likewise.
9711
9712 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9715 filenames.
9716 (make_file_path): Likewise.
9717
9718 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9721 machines.
9722 Tested by: Paulo Flabiano Smorigo.
9723 Crucial information about API supplied by: Coleen <Last name unknown>.
9724 Reviewed by: Coleen <Last name unknown>.
9725
9726 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * util/grub-mkimage.c: Disable -Wcast-align.
9729
9730 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9733 as they are fatal.
9734
9735 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9738
9739 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * util/grub-probe.c (escape_of_path): Fix double free.
9742
9743 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * grub-core/commands/videoinfo.c (hook): Show pitch.
9746
9747 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9750
9751 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9754 (probe): Add ieee1275 to OFW devices.
9755
9756 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9759
9760 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 Handle IBM OFW path.
9763
9764 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9765 available.
9766 (of_path_of_scsi): Handle vdevice.
9767
9768 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9771 Allocate in multiples of 16 to avoid adding a few bytes free region the
9772 windows bugs upon.
9773
9774 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9777 Allocate in multiples of 16 to avoid adding a few bytes free region the
9778 windows bugs upon.
9779 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9780
9781 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9784 resolutions.
9785 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9786 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9787
9788 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9789
9790 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9791
9792 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9795 resulted in \\ at the end of the line.
9796
9797 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9800 (grub_parser_cmdline_state): Likewise.
9801 (grub_parser_split_cmdline): Likewise.
9802
9803 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9806 /dev/root and /dev/dm-*.
9807
9808 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9811 fix partially stale display.
9812
9813 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9816 substraction.
9817
9818 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9821 Fix MBR remapping workaround.
9822 (grub_util_biosdisk_read) [__linux__]: Likewise.
9823
9824 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9827
9828 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * configure.ac: Bump to beta6.
9831
9832 2012-05-31 Christer Weinigel <christer@weinigel.se>
9833
9834 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9835
9836 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9839 (grub_cmd_linux): Likewise.
9840
9841 2012-05-31 Christer Weinigel <christer@weinigel.se>
9842
9843 Fix EHCI low-speed.
9844
9845 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9846 (GRUB_EHCI_MULT_TWO): Likewise.
9847 (GRUB_EHCI_MULT_THREE): Likewise.
9848 (GRUB_EHCI_CMASK_MASK): New enum value.
9849 (GRUB_EHCI_SMASK_MASK): Likewise.
9850 (GRUB_EHCI_CMASK_OFF): Likewise.
9851 (GRUB_EHCI_SMASK_OFF): Likewise.
9852 (grub_ehci_pci_iter): Enable periodic schedule.
9853 (grub_ehci_parse_notrun): Likewise.
9854 (grub_ehci_restore_hw): Likewise.
9855 (grub_ehci_setup_qh): Set flags for low speed transfers.
9856 (grub_ehci_find_qh): Use periodic list for low speed.
9857 (grub_ehci_setup_transfer): Check periodic queue as well.
9858 (grub_ehci_check_transfer): Likewise.
9859 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9860
9861 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9862
9863 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9864 parameter is used.
9865
9866 2012-05-31 Peter Jones <pjones@redhat.com>
9867
9868 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9869 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9870 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9871
9872 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9875 uninited variable. Allocate at least setup_sects.
9876
9877 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 Fix handling of EFI with big memory maps.
9880
9881 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9882 (real_mode_mem): Likewise.
9883 (real_mode_target): Likewise.
9884 (real_mode_pages): Likewise.
9885 (prot_mode_pages): Likewise.
9886 (linux_params): New var.
9887 (linux_cmdline): Likewise.
9888 (free_pages): Don't set real mode variables.
9889 (allocate_pages): Don't allocate real mode memory.
9890 (grub_e820_add_region): Remove the limit.
9891 (grub_linux_boot): Allocate and copy real mode memory.
9892 (grub_linux_unload): Free linux_cmdline.
9893 (grub_cmd_linux): Use temporary storage for parameters.
9894 (grub_cmd_initrd): Likewise.
9895 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9896 (linux_kernel_params): Make it 1K big.
9897
9898 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * Makefile.util.def: Remove -Wno-format.
9901 * grub-core/Makefile.core.def: Likewise.
9902
9903 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * tests/cmp_unit_test.c: Add missing failure message.
9906 * tests/example_unit_test.c: Likewise.
9907 * tests/printf_unit_test.c: Likewise.
9908
9909 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9912 relaxation of protective MBR requirements.
9913
9914 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * configure.ac: Add condition for COND_HOST_XNU.
9917 * Makefile.util.def (10_xnu): New script.
9918 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9919
9920 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9923 objconv bug.
9924
9925 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9928 Binary on other platforms stays identical.
9929
9930 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9933 Apple.
9934
9935 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9938
9939 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9942 rather than defining size_t ourselves to avoid conflict.
9943
9944 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9947 initialisation to avoid __bzero reference.
9948
9949 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9952 version.
9953 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9954 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9955 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9956 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9957 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9958
9959 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9962 * grub-core/kern/misc.c: Likewise.
9963 * grub-core/loader/i386/xnu.c: Likewise.
9964 * include/grub/i386/tsc.h: Likewise.
9965 * include/grub/symbol.h: Likewise.
9966
9967 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9970 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9971 on older compiler.
9972
9973 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9976 Implement Apple flavour.
9977 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9978
9979 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9982 (memmove) [__APPLE__]: Likewise.
9983 (memcpy) [__APPLE__]: Likewise.
9984 (memset) [__APPLE__]: Likewise.
9985 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9986 (memmove) [__APPLE__]: Likewise.
9987 (memcpy) [__APPLE__]: Likewise.
9988 (memset) [__APPLE__]: Likewise.
9989
9990 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9993 dependency discard.
9994
9995 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/normal/main.c (read_config_file): Provide config_file and
9998 config_directory.
9999 * util/grub.d/41_custom.in: Use config_directoy when available.
10000
10001 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
10004 (grub_bfs_dir): Likewise.
10005
10006 2012-05-27 Peter Jones <pjones@redhat.com>
10007
10008 The old code gives arguments to a printf function which can't work
10009 correctly, and the compiler complains.
10010
10011 * grub-core/tests/example_functional_test.c (example_test): Add
10012 missing text.
10013 * grub-core/tests/lib/test.c (add_failure): Rewrite.
10014 * include/grub/test.h (grub_test_assert_helper): New declaration.
10015 (grub_test_assert): Use grub_test_assert_helper.
10016
10017 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
10020 (exfctest): ... this to avoid overlong filenames.
10021 All users updated.
10022
10023 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 Handle "." and ".." on squashfs.
10026
10027 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
10028 Make inode numbers into stack.
10029 (grub_squash_read_symlink): Use stack.
10030 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
10031 (make_root_node): Fill stack.
10032 (grub_squash_open): Use stack.
10033
10034 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
10037 freeing.
10038
10039 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
10042 stderr on test calls.
10043
10044 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
10047
10048 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
10051
10052 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
10055 "..".
10056
10057 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
10060 (grub_hfsplus_iterate_dir): Add "." and "..".
10061
10062 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * grub-core/fs/cpio.c (canonicalize): Handle "..".
10065 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
10066
10067 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
10070 (find_path): Handle "." and "..".
10071
10072 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
10075 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
10076 (grub_affs_iterate_dir): Handle hardlinks.
10077
10078 2012-05-26 Matthew Garrett <mjg@redhat.com>
10079
10080 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
10081 (grub_efi_console_fini): Likewise.
10082 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
10083 (grub_video_gop_fill_mode_info): Rename to ...
10084 (grub_video_gop_fill_real_mode_info): ... this.
10085 (grub_video_gop_fill_mode_info): New function.
10086 (grub_video_gop_setup): Setup double framebuffer.
10087 (grub_video_gop_get_info_and_fini): Use original framebuffer.
10088 Free offscreen.
10089 (grub_video_gop_swap_buffers): Copy framebuffer.
10090 (grub_video_gop_fini): Free offscreen buffer.
10091 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
10092 New enum.
10093 (grub_efi_gop_blt_pixel): New struct.
10094
10095 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 * gentpl.py: Remove error disabling for objconv.
10098
10099 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * configure.ac: Remove -Wunitialized as it's not available on older
10102 compilers.
10103
10104 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 Fix extent overflow comparator.
10107
10108 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
10109 (grub_hfsplus_read_block): Set type.
10110 (grub_hfsplus_cmp_extkey): Compare type.
10111
10112 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
10115
10116 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
10119 than 0.
10120
10121 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
10124 (dejavu_bold_14.pf2): New target.
10125
10126 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * configure.ac: Fix djvu font detection.
10129
10130 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
10133 ext* instead of ext2.
10134
10135 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
10138 name with \0.
10139
10140 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
10141
10142 * docs/grub-dev.texi: Remove dot from .png.
10143
10144 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
10147 protective entry in any slot.
10148 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
10149 if protective entry is found in any slot.
10150
10151 Protective entry in non-first slot make no sense but is a widespread
10152 brain damage.
10153
10154 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
10157
10158 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
10161 with old reiserfs.
10162 (grub_reiserfs_open): Don't free root.
10163
10164 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
10167 after freeing for safety.
10168
10169 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
10172 Reported by: Jordan Uggla.
10173
10174 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
10175
10176 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
10177 actual implementation. Specifically, clarify that the grub menu will
10178 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
10179 passed.
10180
10181 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
10182
10183 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
10184 of r0.
10185
10186 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 Remove unjustified hard dependency of normal.mod on gfxterm.
10189
10190 * include/grub/term.h (grub_term_output): New member fullscreen.
10191 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
10192 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
10193 (grub_gfxterm): Set .fullscreen.
10194 * grub-core/normal/menu.c (menu_init): Use fullscreen.
10195 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
10196
10197 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
10200 mentioning possible problems with non-ASCII (non-compliant) ISOs.
10201 Mention case-insensitive AFFS, SFS and JFS.
10202
10203 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
10206
10207 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10210 a bad FS.
10211
10212 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
10215 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
10216
10217 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
10220 (grub_jfs_mount): Fill caseins.
10221 (grub_jfs_find_file): Respect caseins.
10222
10223 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
10226 through UTF-16.
10227
10228 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
10231 New argument origpath. All users updated.
10232
10233 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
10236 (read_attr): Ensure that we read start of possibly compressed block.
10237
10238 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
10241 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
10242 All users updated.
10243
10244 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10247 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10248 (dejavu.pf2): Replace with ...
10249 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10250 this.
10251
10252 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 * util/grub.d/20_linux_xen.in: Add missing line.
10255
10256 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10259 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10260 (grub_utf16_to_utf8): Likewise.
10261
10262 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10263
10264 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10265 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10266 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10267 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10268 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10269 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10270
10271 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10274 a bad FS.
10275
10276 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10279 (grub_udf_read_symlink): Handle read_string failure.
10280
10281 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10284 comment.
10285
10286 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 Fix handling of UDF symlinks.
10289
10290 * grub-core/fs/udf.c (read_string): New argument outbuf.
10291 All users updated.
10292 (grub_ufs_read_symlink): Rename to ...
10293 (grub_udf_read_symlink): ... this. All users updated.
10294 Handle symlinks with more than one component.
10295
10296 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10299 symlinks. Replace leading colon with a slash.
10300
10301 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10304 filename.
10305
10306 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10309 match in inner node.
10310
10311 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10314 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10315 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10316 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10317 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10318 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10319 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10320 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10321 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10322
10323 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 Use grub-probe and not cmp to check that disk is empty.
10326
10327 * util/grub-install.in: Use grub-probe for zero-check.
10328 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10329 (probe): Handle PRINT_ZERO_CHECK.
10330 (argp_parser): Handle -t zero_check.
10331
10332 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 Flush block cache on adding disk to device map.
10335
10336 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10337 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10338 adding.
10339 (read_device_map): Likewise.
10340 (open_device): Flush on opening.
10341
10342 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10345 (handle_symlink): Fix off-by-one error.
10346 Canonicalize the target.
10347 (grub_cpio_dir): Canonicalize the name.
10348 Fix memory leak.
10349 Set directory.
10350 (grub_cpio_open): Canonicalize the name.
10351
10352 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10355 handling.
10356
10357 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10360 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10361
10362 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10365 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
10366 All users updated.
10367
10368 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10371 counterpart.
10372
10373 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 Fix UFS1 big file support.
10376
10377 * grub-core/fs/ufs.c (INODE): Removed.
10378 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10379 64-bit.
10380 (INODE_MODE): Simplify.
10381 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10382 (grub_ufs_lookup_symlink): Don't use INODE.
10383
10384 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10387
10388 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10389 (grub_minix_data): Replace log_block_size with block_size.
10390 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10391 (grub_minix_mount): Fill block_size.
10392
10393 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * configure.ac: Bump to beta5.
10396
10397 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 Fix wrapped HFS+ handling.
10400
10401 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10402 blocks_start. All users updated.
10403 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10404 wrapping offset.
10405 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10406
10407 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 Fix long symlinks on reiserfs.
10410
10411 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10412 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10413 (grub_reiserfs_iterate_dir): Save size for non-directories.
10414 (grub_reiserfs_open): Don't reread stat block as we already know the
10415 size.
10416 (grub_reiserfs_read): Split into...
10417 (grub_reiserfs_read_real): ... and ...
10418 (grub_reiserfs_read): ...this.
10419
10420 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 Fix non-indexed JFS.
10423
10424 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10425 (grub_jfs_data): New field namecomponentlen.
10426 (grub_jfs_mount): Fill namecomponentlen.
10427 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10428
10429 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10432 * tests/grub_script_echo1.in: Add tests.
10433
10434 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * util/grub-install.in: Ignore empty devicetree directory.
10437
10438 2012-05-08 Bean <bean123ch@gmail.com>
10439
10440 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10441 All users updated.
10442 (free_rsm): Free header as well.
10443 (free_old_fragments): Fix memory leak.
10444 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10445 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10446 (destroy_pq): Likewise.
10447 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10448
10449 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10452 resulting hash as a precaution.
10453
10454 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10457 '_' in variable names.
10458 * grub-core/net/net.c (grub_net_network_level_interface_register):
10459 Likewise.
10460
10461 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 Fix AFFS with non-512B blocks.
10464
10465 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10466 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10467 (grub_affs_data): Replace blocksize with log_blocksize.
10468 (grub_affs_read_block): Fix non-512B blocks.
10469 (grub_affs_read_symlink): Likewise.
10470 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10471 (grub_affs_read): Fix non-512B blocks.
10472 (grub_affs_label): Likewise.
10473 (grub_affs_mtime): Likewise.
10474 (grub_affs_mount): Fix block detection routine.
10475
10476 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 Add filesystem mtime to AFFS.
10479
10480 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10481 (aftime2ctime): New function.
10482 (grub_affs_dir): Use aftime2ctime.
10483 (grub_affs_label): Fix return value.
10484 (grub_affs_mtime): New function.
10485 (grub_affs_fs): Add mtime.
10486
10487 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10490 UTF-8.
10491
10492 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10495 UTF-8.
10496
10497 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10500
10501 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10504 flags.
10505 (FLAGS_CASE_SENSITIVE): New enum value.
10506 (cache_entry): New struct.
10507 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10508 cache_size and cache.
10509 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10510 Add log_blocksize and fshelp_flags.
10511 (grub_sfs_read_extent): Handle non-512 blocks.
10512 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10513 (grub_sfs_read_file): Handle non-512 blocks.
10514 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10515 fshelp_flags.
10516 (grub_sfs_read_symlink): Handle non-512 blocks.
10517 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10518 (grub_sfs_dir): Free cache.
10519 (grub_sfs_close): Likewise.
10520
10521 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10524 filesystems.
10525
10526 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10529
10530 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10533
10534 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10537 (grub_sfs_read_extent): Likewise.
10538 (grub_sfs_read_block): Likewise.
10539 (grub_sfs_mount): Likewise.
10540 (grub_sfs_iterate_dir): Likewise.
10541 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10542 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10543
10544 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 Fix errors on compressed NTFS with 512B clusters.
10547
10548 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10549 types.
10550 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10551 not 0.
10552 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10553 Relax check for inline extents.
10554 (ntfscomp): Return correct -1 on error and not 0.
10555
10556 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * util/grub-install.in: Fix handling of prefix containing spaces.
10559
10560 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10563 (grub_squash_read_data): Fix offset byte-swapping.
10564
10565 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10568 per common usage and preffered in several parts of code.
10569 (grub_memcmp): Likewise.
10570 (grub_strncmp): Likewise.
10571 * include/grub/misc.h (grub_strcasecmp): Likewise.
10572 (grub_strncasecmp): Likewise.
10573 * Makefile.util.def (cmp_test): New test.
10574 (grub_script_strcmp): Likewise.
10575 * tests/cmp_unit_test.c: New file.
10576 * tests/grub_script_strcmp.in: Likewise.
10577 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10578
10579 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10580
10581 * include/grub/pci.h: Move enums into no-asm part.
10582
10583 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10586
10587 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10588
10589 * util/getroot.c (find_hurd_root_device): Try to make error message
10590 and comments to translators clearer.
10591
10592 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10595
10596 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10599 btrfs.
10600
10601 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 * docs/grub.cfg: Update.
10604
10605 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 * docs/grub.texi (PXE): Remove not present variables.
10608
10609 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/net/net.c (defserver_set_env): New function.
10612 (defserver_get_env): Likewise.
10613 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10614
10615 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10618 entries.
10619
10620 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10621
10622 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10623 * grub-core/kern/emu/hostdisk.c: Likewise.
10624
10625 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10626
10627 Handle hurd userspace partitions.
10628
10629 * util/getroot.c (find_hurd_root_device): New function.
10630 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10631
10632 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10635 names.
10636 Reported by: Bastian Blank.
10637
10638 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10641 crossing page boundary.
10642
10643 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 Fix B-tree search in BFS, especially in presence of non-ASCII
10646 characters.
10647
10648 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10649 (find_in_b_tree): Use standard bsearch + btree algorithm.
10650
10651 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10654 and so on.
10655
10656 2012-05-03 Matthew Garrett <mjg@redhat.com>
10657 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 Suspend broadcom cards in order to stop their DMA.
10660
10661 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10662 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10663 (pci): Don't build on x86 EFI.
10664 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10665 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10666 New function.
10667 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10668 stop_broadcom if running on EFI.
10669 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10670 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10671 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10672 (grub_pci_find_capability): New proto.
10673
10674 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * docs/grub.texi: Remove dot from the extension as it apparently
10677 doesn't work with some makeinfo versions.
10678
10679 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10682 with GRUB expectance.
10683
10684 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10687
10688 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10691 zero after directory block since last entry may be not 0-terminated if
10692 it ends on block boundary. Use continue instead of if spanning whole
10693 loop.
10694
10695 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 Support 4K sectors UDF inline files.
10698
10699 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10700 (grub_udf_extended_file_entry): Likewise.
10701 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10702 All users updated.
10703 (get_fshelp_size): New function.
10704 (grub_udf_read_icb): Read whole block.
10705 (grub_udf_iterate_dir): Likewise.
10706 (grub_udf_dir): Likewise.
10707 (grub_udf_open): Likewise.
10708
10709 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10712
10713 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10716 inline symlinks in addition to workaround.
10717
10718 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10719
10720 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10721
10722 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10725
10726 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10729
10730 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 Fix reiserfs big seek times.
10733
10734 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10735 exact. All users updated.
10736 (grub_reiserfs_read): Use nearest btree search for seeking.
10737 Fix return value on error.
10738
10739 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10742 entries.
10743 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10744 * docs/grub.texi: Update menuentry description.
10745
10746 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10749 crash when embedding onto filesystem.
10750
10751 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10754 name.
10755
10756 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10759
10760 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10763 commit.
10764
10765 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10766 2012-05-01 Bean <bean123ch@gmail.com>
10767
10768 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10769
10770 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10773 Special behaviour for len = 0 to read whole file isn't used anywhere and
10774 can cause buffer ovewrflows in several places.
10775
10776 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10779
10780 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 Handle RAIDZ on non-512B sectors.
10783
10784 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10785 max_children_ashift.
10786 (fill_vdev_info_real): Fill max_children_ashift.
10787 (read_device): Use max_children_ashift.
10788
10789 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10792
10793 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10796 disk names.
10797 * docs/grub.texi: Update device.map parts.
10798
10799 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 Don't scan into non-diskfilter devices having diskfilter names.
10802
10803 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10804 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10805 handling.
10806 (scan_disk_hook): New function.
10807
10808 2012-04-29 Bean <bean123ch@gmail.com>
10809
10810 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10811 allocation.
10812
10813 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10814
10815 * configure.ac: Detect starfield theme font path
10816 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10817
10818 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10821 geometry on serial consoles.
10822
10823 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10826 because of network consoles.
10827
10828 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10831 handling.
10832
10833 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10836 falls on Q syndrom.
10837
10838 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10841 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10842
10843 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10846 Allocate at lest 8192 for temporary buffer as required for lzo.
10847
10848 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10851 to cluster_bits, since it's already added in.
10852 (grub_fat_read_data): Likewise.
10853
10854 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10857 as long as cluster size is multiple of 512 bytes.
10858
10859 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 * util/grub-mkrescue.in: Fix locale directory.
10862
10863 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/kern/emu/hostdisk.c (map): Make static.
10866
10867 2012-04-23 Bean <bean123ch@gmail.com>
10868
10869 * util/grub-fstest.c (fstest): Add missing break.
10870
10871 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10872
10873 Fix hurd build.
10874
10875 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10876 not define nr variable.
10877 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10878 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10879 grub_find_device): Do not define.
10880
10881 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 Fix kfreebsd compile and behaviour.
10884
10885 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10886 format-security.
10887 * util/getroot.c: Fix wait.h include.
10888 (grub_guess_root_devices): Error if grub_find_device fails.
10889 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10890 (grub_util_get_dev_abstraction): Likewise.
10891 (grub_util_pull_device): Likewise.
10892 (grub_util_get_grub_dev): Likewise.
10893 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10894
10895 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 Fix and unify wholedisk detection.
10898
10899 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10900 is_part. All users updated.
10901 (device_is_wholedisk): Removed.
10902 (grub_util_biosdisk_get_grub_dev): Use is_part.
10903
10904 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10907 mode.
10908
10909 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * configure.ac: Bump to beta4.
10912
10913 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10916 --fs-uuid --set UUID syntax.
10917
10918 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10921 disunification.
10922
10923 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10926
10927 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
10928
10929 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10930
10931 2012-04-18 Mike Gilbert <floppym@gentoo.org>
10932
10933 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10934
10935 2012-04-18 Bean <bean123ch@gmail.com>
10936
10937 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10938 place.
10939
10940 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10943 users updated.
10944 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10945 corresponding to GRUB partitions.
10946 (grub_util_biosdisk_write): Likewise.
10947
10948 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 Scan mdraid before LVM.
10951
10952 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10953 (grub_diskfilter_register_front): ... this.
10954 (grub_diskfilter_register_back): New function.
10955 All users of grub_diskfilter_register updated.
10956
10957 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 * util/grub-install.in: Fix an automatic target detection bug.
10960
10961 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * util/grub-install.in: New option --efi-directory.
10964
10965 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10968 boot services if we have no other choice.
10969
10970 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10973 document it.
10974 * tests/util/grub-shell.in: Update to --directory.
10975
10976 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10979
10980 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10983 (grub_minix_read_file): Likewise.
10984 (grub_minix_read_inode): Likewise.
10985 (grub_minix_find_file): Likewise.
10986 (grub_minix_dir): Likewise.
10987
10988 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * util/grub-setup.c (setup): Fix partition handling and blocklist
10991 check.
10992
10993 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10996 redundant buggy overlap check.
10997
10998 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
11001 and grub-mknetdir.
11002
11003 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
11006 kh.loadflags on pre-2.00 kernels.
11007
11008 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 Terminate UNDI and PXE before launching the payload to avoid problems
11011 with DMA.
11012
11013 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
11014 (grub_loader_flags): ... this. All users updated.
11015 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
11016 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
11017 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
11018 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
11019 function.
11020 (grub_pxe_restore): Likewise.
11021 (fini_hnd): New var.
11022 (GRUB_MOD_INIT): Register shutdown hook.
11023 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
11024 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
11025 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
11026 (grub_loader_set): Rename second argument to flags.
11027
11028 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
11031 written bytes.
11032 (grub_get_num_of_utf8_bytes): New function.
11033 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
11034 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
11035 executing it.
11036 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
11037 (grub_ucs4_to_utf8): Change return type.
11038
11039 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
11042 warning.
11043 * grub-core/fs/bfs.c (hop_level): Likewise.
11044 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
11045
11046 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * grub-core/lib/adler32.c: Recode due to license unclearness.
11049
11050 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
11053 (test_header): Likewise.
11054
11055 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 Fix --help formatting.
11058
11059 * util/grub-mkconfig_lib.in (print_option_help): New function.
11060 (grub_fmt): Likewise.
11061 * util/grub-install.in: Use print_option_help and grub_fmt.
11062 * util/grub-kbdcomp.in: Likewise.
11063 * util/grub-mkconfig.in: Likewise.
11064 * util/grub-mknetdir.in: Likewise.
11065 * util/grub-mkrescue.in: Likewise.
11066 * util/grub-mkstandalone.in: Likewise.
11067 * util/grub-reboot.in: Likewise.
11068 * util/grub-set-default.in: Likewise.
11069 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11070
11071 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * linguas.sh: Remove autogenerated *.po.
11074
11075 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * po/README: Move language fetcing to ...
11078 * linguas.sh: ... here.
11079 * po/README: Point to linguas.sh.
11080
11081 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * po/README: Exclude ko.po due to disclaimer problems.
11084
11085 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
11088 len = 0.
11089 (grub_gettext_translate_real): Handle 0th string.
11090 (grub_gettext_translate): Ensure that "" isn't translated.
11091
11092 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
11095 TRANSLATORS comment.
11096 (grub_diskfilter_print_partmap): Propagate changing of error into
11097 warning.
11098
11099 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
11102 to uint64_t to prevent overflow.
11103 (grub_diskfilter_lv): Increase start_extent and extent_count
11104 to uint64_t to prevent overflow.
11105
11106 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * configure.ac: Increase version.
11109
11110 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
11113
11114 * po/Rules-translit: New file.
11115 * po/arabic.sed: Likewise.
11116 * po/cyrillic.sed: Likewise.
11117 * po/greek.sed: Likewise.
11118 * po/hebrew.sed: Likewise.
11119 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
11120 * po/Makefile.in.in: Add extra_dist4.
11121
11122 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 Handle big-endian minixfs (fixes minixfs tests on bigendian).
11125
11126 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
11127 modify names. Introduce MODE_BIGENDIAN.
11128 * grub-core/fs/minix_be.c: New file.
11129 * grub-core/fs/minix2_be.c: Likewise
11130 * grub-core/fs/minix3_be.c: Likewise.
11131 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
11132 minix3_be.
11133 * grub-core/Makefile.core.def (minix_be): New module.
11134 (minix2_be): Likewise.
11135 (minix3_be): Likewise.
11136
11137 2012-04-01 Felix <email@hamburg.de>
11138
11139 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
11140 (devs): Add MBP 2011.
11141
11142 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
11145
11146 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/normal/cmdline.c (print_completion): New field
11149 prompt_len.
11150 (grub_cmdline_get): Handle width properly.
11151
11152 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/commands/lsacpi.c (options): Add missing terminator.
11155
11156 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
11159 after 29th of February.
11160
11161 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 Fix exfat endianness handling.
11164
11165 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
11166 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
11167 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
11168 Byte-swap utf16 when necessary.
11169 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
11170
11171 2012-03-31 Anton Blanchard <anton@samba.org>
11172 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 Fix btrfs endianness handling.
11175
11176 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
11177 (lower_bound): Make root uint64_t. Use root in le.
11178 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
11179 (find_path): Fix template key init.
11180 (grub_btrfs_dir): Fix mtime byteswap.
11181 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
11182
11183 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
11186 recursion_depth. Break infinite resursions. All users updated.
11187
11188 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
11191 after free.
11192 Reported by: Peter Jones.
11193
11194 2012-03-31 Anton Blanchard <anton@samba.org>
11195
11196 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
11197 8 bit values.
11198
11199 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * util/grub-install.in: Fix nvram call for PreP.
11202
11203 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
11206 the error when some elements are missing into a warning.
11207
11208 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
11211
11212 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
11213
11214 * docs/grub.texi (Invoking grub-probe): New section.
11215 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
11216
11217 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 Fix tab and wide character handling in editor and menu.
11220
11221 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
11222 agglomerate control characters with combining marks.
11223 (bidi_line_wrap): Allow break on tab.
11224 (grub_unicode_get_comb_start): New function.
11225 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
11226 and tab correctly.
11227 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
11228 with a space.
11229 * grub-core/normal/term.c (print_ucs4_terminal): New argument
11230 fixed_tab_size. All users updated.
11231 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
11232 (grub_term_getcharwidth): Handle \t.
11233 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
11234 and copy.
11235
11236 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 Handle big-endian mdraid.
11239
11240 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
11241 * grub-core/Makefile.core.def (mdraid09_be): New module.
11242 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
11243 rather than grub_le_to_cpu* and grub_cpu_to_le*.
11244 * grub-core/disk/mdraid_linux_be.c: New file.
11245
11246 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11249
11250 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11253 missing quotes which caused confusion among translators.
11254
11255 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * util/grub-mkconfig_lib.in: Fix typo.
11258
11259 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11260
11261 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11262 spaces.
11263 * tests/grub_script_leading_whitespace.in: New file.
11264 * Makefile.util.def (grub_script_leading_whitespace): New test.
11265
11266 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11269 to work.
11270
11271 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11274 starts with control character.
11275
11276 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11279 overflow.
11280 (grub_gdb_outbuf): Likewise.
11281
11282 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11285 zero terminator. Fixes a crash.
11286
11287 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11290 beyond 4 GiB.
11291 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11292 images independently of preffered adderss field.
11293
11294 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11297 * grub-core/commands/regexp.c: Likewise.
11298 * grub-core/loader/i386/linux.c: Likewise.
11299 * grub-core/partmap/msdos.c: Likewise.
11300 * grub-core/script/execute.c: Likewise.
11301 * grub-core/term/gfxterm.c: Likewise.
11302
11303 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 Add variable parsing in $"..." and fix several mismatches with bash.
11306
11307 * Makefile.util.def (grub_script_gettext): New test.
11308 * grub-core/script/execute.c (parse_string): New function.
11309 (gettext_append): Likewise.
11310 (grub_script_arglist_to_argv): Use gettext_append.
11311 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11312 * tests/grub_script_gettext.in: New file.
11313
11314 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 Fix handling of leading spaces in scripts.
11317
11318 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11319 spaces.
11320 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11321 other than skipping \r. All users updated.
11322 * tests/grub_script_echo1.in: Add space-related tests.
11323 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11324
11325 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11328
11329 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 * configure.ac: Bump up the version to beta2.
11332
11333 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 Fix gettext reload bugs (e.g. inability to disable gettext
11336 once enabled).
11337
11338 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11339 main_context and secondary_context. All functions updated.
11340 (grub_gettext_translate): Rename to ...
11341 (grub_gettext_translate_real): ... this. Return NULL on failed
11342 translate.
11343 (grub_gettext_translate): Handle secondary context.
11344 (grub_gettext_delete_list): Close file and zero-out the context.
11345 (grub_mofile_open): Don't call grub_gettext_delete_list.
11346 Don't close file.
11347 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11348 if locale="" to avoid pointless error message.
11349 (grub_gettext_env_write_lang): Update lang even if load fails.
11350 Handle secondary context.
11351 (grub_gettext_reread_prefix): New function.
11352 (read_main): Likewise.
11353 (read_secondary): Likewise.
11354 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11355 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11356 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11357 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11358
11359 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * configure.ac: Decrease warning level to avoid spurious warnings and
11362 to be able to compile with GCC 4.2.
11363 * Makefile.util.def: Remove -Wno-error=logical-op.
11364
11365 2012-03-10 William Bittner <william.bittner@gmail.com>
11366
11367 * util/import_unicode.py: Add missing brackets around string for
11368 python 3 support.
11369
11370 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 Fix efi chainloader on network root.
11373
11374 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11375 network devices.
11376 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11377 New function.
11378
11379 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11382 unused show_text member.
11383 * docs/grub.texi: Document "text" property.
11384
11385 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11388 in dprintf.
11389
11390 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 Fix IMSM handling on Fedora.
11393
11394 * util/getroot.c (grub_util_is_imsm): New function.
11395 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11396
11397 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 * Makefile.am: Strip gold section.
11400 * conf/Makefile.common: Likewise.
11401 * gentpl.py: Likewise.
11402 * grub-core/Makefile.core.def: Likewise.
11403 * grub-core/genmod.sh.in: Likewise.
11404
11405 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11408 * util/grub.d/20_linux_xen.in: Likewise.
11409 Based on Debian patch.
11410
11411 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * util/grub.d/10_linux.in: Fix syntax error resulting in
11414 Richard Laager's patch.
11415 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11416
11417 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11420 dependencies.
11421
11422 2012-03-10 Richard Laager <rlaager@wiktel.com>
11423
11424 * util/grub.d/10_linux.in: Fix ZFS root passing.
11425
11426 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11429 * grub-core/commands/xnu_uuid.c: Likewise.
11430 * grub-core/loader/efi/appleloader.c: Likewise.
11431 * grub-core/script/execute.c: Likewise.
11432 * grub-core/script/main.c: Likewise.
11433 * util/grub-mkfont.c: Likewise.
11434
11435 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * util/grub-mkfont.c (options): Use more appropriate "select" that
11438 "set" for face index.
11439
11440 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * util/grub-editenv.c (options): Gettextize command summaries.
11443
11444 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11447 "out of memory" error messagge.
11448
11449 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11452 of diskfilter for diskfilter on diskfilter support.
11453
11454 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11455
11456 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11457
11458 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11461 themes/starfield.
11462
11463 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11466
11467 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11470
11471 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11474 of error message.
11475
11476 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11479
11480 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11483 message.
11484 * util/grub-install.in: Fix and gettextize error message.
11485
11486 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11489 Gettextize.
11490 * util/grub-mount.c (options): Likewise.
11491
11492 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11495 gettextize.
11496 * grub-core/commands/search_wrap.c (options): Likewise.
11497
11498 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11501
11502 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11505 size calculation.
11506 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11507 none is known.
11508
11509 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11512 "temporary" since it's used in identifier and is limited in space.
11513
11514 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * po/POTFILES.in: Regenerate. Include *.h since they contain
11517 translatable strings as well.
11518
11519 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11522 byte-swap on big-endian.
11523 Reported by: Lennart Sorensen
11524
11525 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11528 (allocate_pages): Improve dprintf.
11529 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11530 code32_start. Fill code32_start and kernel_alignment in params.
11531 (grub_cmd_initrd): Use prot_init_space.
11532
11533 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11536
11537 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * util/grub-install.in: Add missing dot at the end of sentence.
11540
11541 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11544 * grub-core/commands/videotest.c: Likewise.
11545 * grub-core/loader/i386/linux.c: Likewise.
11546
11547 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11550 sentence.
11551 Reported by: Milo Casagrande.
11552
11553 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11556 * grub-core/commands/gptsync.c: Likewise.
11557 * grub-core/commands/hashsum.c: Likewise.
11558 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11559 * grub-core/commands/legacycfg.c: Likewise.
11560 * grub-core/io/gzio.c: Likewise.
11561 * grub-core/net/net.c: Likewise.
11562 * grub-core/term/gfxterm.c: Likewise.
11563 * grub-core/term/terminfo.c: Likewise.
11564 * grub-core/tests/test_blockarg.c: Likewise.
11565 * grub-core/video/video.c: Likewise.
11566 * util/grub-install.in: Likewise.
11567 * util/grub-mkfont.c: Likewise.
11568
11569 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11572
11573 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * grub-core/commands/search_wrap.c (options): Fix a typo.
11576 Reported by: David Prévot.
11577
11578 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11581 description.
11582
11583 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * util/grub-script-check.c (main): Fix a syntax error message which was
11586 unclear.
11587
11588 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11591
11592 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11593
11594 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11595 messages.
11596
11597 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11600 without argument.
11601 * util/grub-mount.c (options): Likewise.
11602
11603 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11606
11607 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/net/http.c: Add TRANSLATORS comments.
11610 * grub-core/normal/cmdline.c: Likewise.
11611 * grub-core/normal/misc.c: Likewise.
11612 * grub-core/partmap/msdos.c: Likewise.
11613 * grub-core/parttool/msdospart.c: Likewise.
11614 * grub-core/script/execute.c: Likewise.
11615 * grub-core/script/main.c: Likewise.
11616 * grub-core/term/terminfo.c: Likewise.
11617 * grub-core/video/bitmap.c: Likewise.
11618 * util/grub-install.in: Likewise.
11619 * util/grub-mkimage.c: Likewise.
11620 * util/grub-mklayout.c: Likewise.
11621 * util/grub-setup.c: Likewise.
11622
11623 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11626 with similar messages in grub-fstest.
11627
11628 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * util/grub-install.in: Unify "option requires an argument" message
11631 with similar messages in other files.
11632 * util/grub-mkconfig.in: Likewise.
11633
11634 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * util/grub-set-default.in: Replace printf with gettext_printf (the
11637 string in in question is already translated from grub-reboot)
11638
11639 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * configure.ac: Bump up the version to beta1.
11642
11643 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11646 case when min_align = 0.
11647
11648 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11651 and fix a case when line_start overflows.
11652
11653 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * util/grub-reboot.in (usage): Mention id posibility.
11656 * util/grub-set-default.in (usage): Likewise.
11657
11658 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11661 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11662 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11663 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11664 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11665 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11666 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11667
11668 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * grub-core/commands/menuentry.c (options): Remove
11671 GRUB_ARG_OPTION_REPEATABLE.
11672 Reported by: Andreas Vogel
11673
11674 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11675
11676 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11677
11678 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11679
11680 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11681 error.
11682
11683 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 Use sort -V by the idea of Georgi Georgiev.
11686
11687 * util/grub-mkconfig_lib.in (version_sort): New function.
11688 (version_test_numeric): Use version_sort.
11689
11690 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 Use submenus in grub-mkconfig.
11693
11694 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11695 * util/grub-mkconfig_lib.in (grub_quote): New function.
11696 (gettext_printf): Use gettext and not gettext_quoted to fix several
11697 messages.
11698 * util/grub.d/10_hurd.in: Use submenus.
11699 * util/grub.d/10_kfreebsd.in: Likewise.
11700 * util/grub.d/10_linux.in: Likewise.
11701 * util/grub.d/10_netbsd.in: Likewise.
11702 * util/grub.d/20_linux_xen.in: Likewise.
11703 * util/grub.d/30_os-prober.in: Likewise.
11704 * util/grub.d/10_illumos.in: Add missing quoting.
11705 * util/grub.d/10_windows.in: Likewise.
11706
11707 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 Fix menu title instability bug.
11710
11711 * grub-core/commands/menuentry.c (options): New option --id.
11712 (grub_normal_add_menu_entry): New argument id. All users updated.
11713 (grub_cmd_menuentry): Handle --id.
11714 (grub_menu_init): Accept unknown arguments.
11715 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11716 feature_menuentry_options.
11717 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11718 saved_entry.
11719 (get_entry_number): Match with id as well.
11720 * include/grub/menu.h (grub_menu_entry): New member id.
11721 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11722 * util/grub.d/00_header.in: Define menuentry_id_option.
11723 * util/grub.d/10_hurd.in: Define id.
11724 * util/grub.d/10_illumos.in: Likewise.
11725 * util/grub.d/10_kfreebsd.in: Likewise.
11726 * util/grub.d/10_linux.in: Likewise.
11727 * util/grub.d/10_netbsd.in: Likewise.
11728 * util/grub.d/10_windows.in: Likewise.
11729 * util/grub.d/20_linux_xen.in: Likewise.
11730 * util/grub.d/30_os-prober.in: Likewise.
11731
11732 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11735 "scope" with "body".
11736
11737 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11740 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11741 prot_size and prot_file_size.
11742
11743 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11746 All users updated. If easily=1 require raid-5/-6 to be full.
11747 (is_node_readable): Likewise.
11748 (scan_devices): Scan incomplete but readable LVs at the end.
11749 (grub_diskfilter_memberlist): Pull missing devices.
11750 (insert_array): Skip scanning until device is complete or scan is
11751 done otherwise.
11752 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11753 check.
11754 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11755 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11756
11757 2012-03-03 Matthew Garrett <mjg@redhat.com>
11758 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 Avoid EFI boot services when loading Linux.
11761
11762 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11763 avoid_efi_bootservices. All users updated.
11764 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11765 argument avoid_efi_bootservices. All users updated.
11766 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11767 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11768 align, min_align, relocatable, prefered_address. All users updated.
11769 Allocate avoiding boot services if kernel is relocatable.
11770 (grub_cmd_linux): Check if kernel is relocatable.
11771 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11772 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11773 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11774 avoid_efi_boot_services.
11775 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11776 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11777 (linux_kernel_params): Likewise.
11778
11779 2012-03-03 Matthew Garrett <mjg@redhat.com>
11780 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 Use EDID on EFI.
11783
11784 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11785 datasize_out.
11786 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11787 modes. Set gop_handle.
11788 (grub_video_gop_get_edid): New function.
11789 (grub_gop_get_preferred_mode): Likewise.
11790 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11791 (grub_video_efi_gop_adapter): Set .get_edid.
11792 * include/grub/efi/edid.h: New file.
11793 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11794
11795 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * util/grub-install.in: Load efivars unconditionally.
11798
11799 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 * po/Rules-piglatin: Change suffix from .po-update-en to
11802 .po-update-en-piglatin.
11803
11804 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 Add a pig farm.
11807
11808 * po/piglatin.sed: New file.
11809 * po/en@piglatin.header: Likewise.
11810 * po/Rules-piglatin: Likewise.
11811 * po/README: Add en@piglatin to autogenerated languages.
11812
11813 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11816 "Command for ...".
11817 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11818 "Check" since we don't check anything.
11819 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11820 is 64-bit one.
11821 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11822 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11823 (grub_md_sha512_real): Likewise.
11824
11825 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/commands/gptsync.c: Fix typographic quoting.
11828 * grub-core/commands/ieee1275/suspend.c: Likewise.
11829 * grub-core/commands/parttool.c: Likewise.
11830 * grub-core/commands/search_wrap.c: Likewise.
11831 * grub-core/commands/videoinfo.c: Likewise.
11832 * grub-core/gfxmenu/gui_label.c: Likewise.
11833 * grub-core/hello/hello.c: Likewise.
11834 * grub-core/kern/emu/main.c: Likewise.
11835 * grub-core/net/net.c: Likewise.
11836 * grub-core/normal/menu.c: Likewise.
11837 * grub-core/normal/menu_text.c: Likewise.
11838 * grub-core/normal/misc.c: Likewise.
11839 * util/grub-editenv.c: Likewise.
11840 * util/grub-install.in: Likewise.
11841 * util/grub-kbdcomp.in: Likewise.
11842 * util/grub-mkconfig.in: Likewise.
11843 * util/grub-mknetdir.in: Likewise.
11844 * util/grub-mkrescue.in: Likewise.
11845 * util/grub-mkstandalone.in: Likewise.
11846 * util/grub-reboot.in: Likewise.
11847 * util/grub-set-default.in: Likewise.
11848 * util/grub-setup.c: Likewise.
11849 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11850
11851 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11854 * grub-core/commands/keystatus.c: Likewise.
11855 * grub-core/commands/loadenv.c: Likewise.
11856 * grub-core/commands/probe.c: Likewise.
11857 * grub-core/commands/regexp.c: Likewise.
11858 * grub-core/commands/true.c: Likewise.
11859 * grub-core/commands/videoinfo.c: Likewise.
11860 * grub-core/disk/cryptodisk.c: Likewise.
11861 * grub-core/disk/ldm.c: Likewise.
11862 * grub-core/disk/loopback.c: Likewise.
11863 * grub-core/disk/luks.c: Likewise.
11864 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11865 * grub-core/kern/disk.c: Likewise.
11866 * grub-core/kern/emu/hostdisk.c: Likewise.
11867
11868 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11871 * util/grub-install.in: Add missing quote in the comment.
11872
11873 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11876 * grub-core/commands/lsmmap.c: Likewise.
11877 * grub-core/commands/minicmd.c: Likewise.
11878 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11879 * grub-core/commands/regexp.c: Likewise.
11880 * grub-core/gdb/gdb.c: Likewise.
11881 * grub-core/term/gfxterm.c: Likewise.
11882 * util/grub-mkconfig.in: Likewise.
11883 * util/grub-mkfont.c: Likewise.
11884 * util/grub-mklayout.c: Likewise.
11885 * util/grub-mknetdir.in: Likewise.
11886 * util/grub-mkrescue.in: Likewise.
11887 * util/grub.d/30_os-prober.in: Likewise.
11888
11889 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11892 with "Direct color" and "Packed" with "Packed pixel".
11893 (grub_cmd_videoinfo): Simplify legend.
11894
11895 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11898 absolutely unclear error message.
11899
11900 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 * util/grub-mkstandalone.in: Remove confusing leftover print.
11903
11904 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11907 comments.
11908 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11909 (GRUB_MOD_INIT): Likewise.
11910 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11911 VGA mode.
11912 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11913 comments.
11914 * util/grub-install.in (usage): Likewise.
11915 Spell ID in whole letters.
11916 Add missing ending dot.
11917 Quote variables.
11918 * util/grub-reboot.in: Fix capitalisation.
11919 * util/grub-set-default.in: Likewise.
11920
11921 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11924 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11925 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11926 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11927 Disable -Werror for -Wdeprecated-declarations.
11928 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11929 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11930 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11931 (grub_util_get_grub_dev): Make luks handling dependent on
11932 HAVE_DEVICE_MAPPER and not __linux__.
11933 (get_win32_path): Fix format security.
11934 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11935 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11936 Don't try grub_find_zpool_from_dir.
11937 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11938 #ifdef-out paresdir.
11939
11940 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * util/grub-pe2elf.c (usage): Add missing noreturn.
11943 (write_section_data): Rename name to shname to avoid shadowing.
11944 (write_symbol_table): Rename name to symname to avoid shadowing.
11945 Fix write_reloc_section call.
11946
11947 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11950 to ensure that it's after the last byte of .text.
11951
11952 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * util/ieee1275/ofpath.c (my_isdigit): New function.
11955 (trailing_digits): Use my_isdigit.
11956 (strip_trailing_digits): Likewise.
11957
11958 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11961 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11962
11963 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 * grub-core/kern/i386/pc/startup.S: Define __start.
11966
11967 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11970 strip already transforms he format.
11971
11972 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11975
11976 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * util/grub-install.in: Add missing gettext init.
11979 * util/grub-kbdcomp.in: Likewise.
11980 * util/grub-mkconfig.in: Likewise.
11981 * util/grub-mknetdir.in: Likewise.
11982 * util/grub-mkrescue.in: Likewise.
11983 * util/grub-mkstandalone.in: Likewise.
11984 * util/grub-reboot.in: Likewise.
11985 * util/grub-set-default.in: Likewise.
11986 * util/grub.d/00_header.in: Likewise.
11987 * util/grub.d/10_hurd.in: Likewise.
11988 * util/grub.d/10_windows.in: Likewise.
11989 * util/grub.d/30_os-prober.in: Likewise.
11990 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11991
11992 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 * po/Rules-swiss: Fix header comment.
11995
11996 2012-02-29 Andreas Vogel <anvoit>
11997
11998 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11999 resulted in leak of arguments.
12000
12001 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * grub-core/boot/i386/pc/startup_raw.S: Use separate
12004 reed_solomon_size const definition instead of computing it since
12005 Apple assembler doesn't support the later.
12006
12007 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 * gentpl.py (kernel): Rewrite Apple part.
12010
12011 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12012
12013 * include/grub/kernel.h (FOR_MODULES): Check module magic.
12014
12015 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 * util/grub-mkimagexx.c (locate_sections): Support non-standard
12018 ELF section gap.
12019 (load_image): Likewise.
12020
12021 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * configure.ac: Fix a typo in previous commit.
12024
12025 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 Don't add -Wl,-N on Apple platform.
12028
12029 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
12030 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
12031
12032 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * grub-core/Makefile.core.def (lzma_decompress): Use
12035 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
12036
12037 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 * grub-core/genmod.sh.in: Rewrite the Apple part.
12040
12041 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
12044 comparison.
12045
12046 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 * acinclude.m4 (grub_CHECK_PIC): New test.
12049 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
12050
12051 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
12054 to avoid the warning.
12055
12056 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
12059 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
12060 after. All users updated.
12061
12062 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 Use the common size routine in hostfs so we can read disks as well.
12065
12066 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
12067 (grub_util_get_fd_size): ... this. Return size in bytes.
12068 All users updated.
12069 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
12070 grub_util_get_fd_size.
12071
12072 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
12075 Add blocksize retrieval.
12076
12077 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * configure.ac: Restore CFLAGS after efiemu check.
12080
12081 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
12084 Apple bug.
12085
12086 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12087
12088 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
12089
12090 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
12093 (grub_cmd_halt): Likewise.
12094
12095 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
12098 for local arithmetics.
12099 Break %sp init into 2 instructions.
12100 Add 0 byte at the end.
12101
12102 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 * grub-core/disk/diskfilter.c (read_segment): Initialise err
12105 before loops.
12106
12107 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
12110 for context.
12111
12112 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 * grub-core/disk/ldm.c (make_vg): Init part.name.
12115 (grub_ldm_detect): Silence spurious warning.
12116 (grub_util_is_ldm): Likewise.
12117
12118 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
12121 sane value to avoid a spurious warning.
12122
12123 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
12126 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
12127
12128 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
12131 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
12132
12133 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
12136 hardcoding the relevant info.
12137
12138 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
12141 missing const qualifiers.
12142 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
12143
12144 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * util/getroot.c [__APPLE__]: Add missing includes.
12147 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
12148
12149 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 * util/grub-mkimage.c (generate_image): Silence spurious warning.
12152
12153 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
12156 avoid conflicts.
12157
12158 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
12161
12162 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
12165 and grub_file_close call.
12166
12167 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 Add LZSS Mach-O support (needed for new xnu kernelcache).
12170
12171 * grub-core/Makefile.core.def (xnu): Add file lzss.c
12172 * grub-core/loader/lzss.c: New file.
12173 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
12174 on Mach-O open failure.
12175 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
12176 Don't free cmdsXX in uncompressedXX is set.
12177 (grub_macho_file): Init new fields.
12178 New argument is_64bit. All users updated.
12179 Handle compressed. Error out if no suitable architecture is found.
12180 Don't close file.
12181 (grub_macho_open): New argument is_64bit. All users updated.
12182 * grub-core/loader/macho32.c: Add defines for new fields.
12183 * grub-core/loader/macho64.c: Likewise.
12184 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
12185 (grub_macho_parse): Handle compressed.
12186 Defer actual processing if compressed.
12187 (grub_macho_cmds_iterate): Decompress if compressed. New argument
12188 "filename". All users updated.
12189 (grub_macho_size): New argument "filename". All users updated.
12190 (grub_macho_get_entry_point): Likewise.
12191 (grub_macho_load): Handle compressed.
12192 * include/grub/macho.h (grub_macho_lzss_header): New struct.
12193 (GRUB_MACHO_LZSS_OFFSET): New define.
12194 (grub_decompress_lzss): New proto.
12195 * include/grub/machoload.h (grub_macho_file): New fields to handle
12196 compressed.
12197 (grub_macho_contains_macho64): Remove proto.
12198 (grub_macho_contains_macho32): Likewise.
12199 * util/grub.d/30_os-prober.in: Use kernel cache if available.
12200
12201 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
12204
12205 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 Fix make dist.
12208
12209 * Makefile.am (starfield_theme_files): New var.
12210 (starfield_DATA): Use starfield_theme_files.
12211 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
12212 Add bootcheck-related files.
12213 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
12214 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
12215 and font_char_metrics.txt.
12216 * grub-core/Makefile.core.def (kernel): Update extra_dist.
12217 (setjmp): Add lib/ia64/longjmp.S.
12218 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
12219 * po/POTFILES.in: Regenerate.
12220 * po/Rules-swiss: use DISTFILES.common.extra2 and not
12221 DISTFILES.common.extra1.
12222 * util/devicemap.c: Removed.
12223 * grub-core/lib/i386/relocator_backward.S: Likewise.
12224 * util/import_gcry.py: Remove unused files. Add extra_dist for
12225 ChangeLog.
12226
12227 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * grub-core/gettext/gettext.c (grub_mofile_open): Call
12230 grub_gettext_delete_list before changing grub_gettext_max to avoid
12231 running out of array bounds.
12232
12233 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
12236 grub_vga_text_init/grub_vga_text_fini.
12237
12238 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
12241
12242 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * configure.ac: Bump to 2.00~beta0.
12245
12246 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12249 missing initialisation.
12250
12251 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12254
12255 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 Support v2 xnu boot arguments.
12258
12259 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12260 New argument fsbfreq_out.
12261 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12262 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12263 be used.
12264 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12265 darwin_version.
12266 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12267 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12268 (grub_xnu_boot_params): Rename to ...
12269 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12270 (grub_xnu_boot_params_v2): New struct.
12271
12272 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12275 zeroing of CRC field before computing CRC.
12276
12277 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12280 Change order of allocations to decrease fragmentation.
12281
12282 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12285
12286 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12287
12288 Use write-combining MTRR to speed up video with buggy BIOSes.
12289
12290 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12291 (cpuid): New define.
12292 (rdmsr): Likewise.
12293 (wrmsr): Likewise.
12294 (mtrr_base): Likewise.
12295 (mtrr_mask): Likewise.
12296 (grub_vbe_enable_mtrr_entry): New function.
12297 (grub_vbe_enable_mtrr): Likewise.
12298 (grub_vbe_disable_mtrr): Likewise.
12299 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12300 control off to BIOS.
12301 (grub_video_vbe_init): Fill mtrr.
12302 (grub_video_vbe_fini): Disable mtrr.
12303 (grub_video_vbe_get_info_and_fini): Likewise.
12304 (grub_video_vbe_setup): Enable mtrr.
12305
12306 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12307
12308 * include/grub/partition.h (grub_partition_map): Change prototype of
12309 embed to take a maximum value for nsectors.
12310 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12311 * include/grub/fs.h (grub_fs): Likewise.
12312 * grub-core/partmap/msdos.c (embed_signatures): New array.
12313 (pc_partition_map_embed): Check for and avoid sectors matching any
12314 of the signatures in embed_signatures, up to max_nsectors.
12315 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12316 returned sector map to max_nsectors.
12317 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12318 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12319 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12320 * util/grub-setup.c (setup): Allow for the embedding area being
12321 split into multiple blocklists. Tell dest_partmap->embed the
12322 maximum number of sectors we care about.
12323
12324 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12327 Specify blocklist_install and reserver_first_sector for all fs.
12328 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12329 blocklists.
12330
12331 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * util/grub-install.in: Clarify strings.
12334 Fix source dir check.
12335
12336 2012-02-27 Richard Laager <rlaager@wiktel.com>
12337
12338 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12339 "zfs" and "fuse.zfs" as synonyms.
12340
12341 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * configure.ac: Put platform and target_cpu substitutions back since
12344 they are used for directories.
12345
12346 2012-02-27 Richard Laager <rlaager@wiktel.com>
12347 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12350 * util/grub.d/20_linux_xen.in: Likewise.
12351
12352 2012-02-27 Richard Laager <rlaager@wiktel.com>
12353
12354 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12355 with full paths.
12356
12357 2012-02-27 Richard Laager <rlaager@wiktel.com>
12358
12359 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12360 unescape.
12361
12362 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 Don't use insecure popen in getroot.
12365
12366 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12367 (exec_pipe): ... here.
12368 (find_root_devices_from_poolname): Use exec_pipe.
12369
12370 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 Remove platform and target_cpu replacement.
12373
12374 * configure.ac: Remove platform and target_cpu substitutions.
12375 * tests/util/grub-shell.in: Use modinfo.
12376 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12377 explicitly.
12378
12379 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 Autodetect platform in grub-install but allow override.
12382
12383 * util/grub-install.in: Autodetect platform. Support --target and
12384 --directory. Read platform from modinfo.sh.
12385
12386 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 Support btrfs multi-volume probe.
12389
12390 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12391 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12392 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12393 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12394 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12395 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12396 grub_find_root_devices_from_btrfs if on btrfs.
12397
12398 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 Remove any awareness of *.c util files about target.
12401
12402 * Makefile.util.def (grub-setup): Split to ...
12403 (grub-bios-setup): ... and this.
12404 (grub-sparc64-setup): ... and this.
12405 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12406 * docs/man/grub-setup.h2m: Split into ...
12407 * docs/man/grub-sparc64-setup.h2m: ... this.
12408 * docs/man/grub-bios-setup.h2m: ... and this.
12409 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12410 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12411 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12412 (grub_target_addr_t): Remove.
12413 (grub_target_size_t): Remove.
12414 (grub_target_ssize_t): Remove.
12415 * util/grub-install.in: Use new grub-*-setup.
12416 * util/grub-mkimagexx.c (Elf_Word): New define.
12417 (Elf_Half): Likewise.
12418 (Elf_Section): Likewise.
12419 (ELF_ST_TYPE): Likewise.
12420 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12421 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12422
12423 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 Replace grub_target_addr with more appropriate types.
12426
12427 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12428 grub_target_addr with grub_addr.
12429 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12430 grub_target_addr with grub_port.
12431 (grub_cmd_write): Likewise.
12432 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12433 grub_target_addr with grub_addr.
12434 (grub_cmd_write): Likewise.
12435 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12436
12437 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12440 const qualifier for vendor_guid.
12441
12442 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12445 const qualifier.
12446 (efiemu_memequal): Likewise.
12447 (find_variable): Likewise.
12448
12449 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 Fix missing console prototype on qemu-mips.
12452
12453 * include/grub/mips/qemu_mips/console.h: New file.
12454
12455 2012-02-27 Matthew Garrett <mjg@redhat.com>
12456 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12459 * include/grub/efi/efi.h: Likewise.
12460 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12461 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12462 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12463 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12464 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12465 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12466
12467 2012-02-27 Matthew Garrett <mjg@redhat.com>
12468
12469 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12470
12471 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12474 error.
12475
12476 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 * configure.ac: Remove inappropriate use of program_transform_name
12479 on grubdir and bootdir but allow explicit specification of those
12480 variables.
12481
12482 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 * util/grub-mknetdir.in (grub_prefix): Removed.
12485 (subdir): Use @bootdirname@ and @grubdirname@.
12486
12487 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12488
12489 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12490
12491 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * po/POTFILES.in: Regenerated.
12494
12495 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 Remove improper use of program_transform_name on pkglibrootdir.
12498
12499 * configure.ac (pkglibrootdir): Removed.
12500 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12501 * util/grub-mkimage.c: Likewise.
12502
12503 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12506 warning.
12507
12508 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * util/grub-install.in: Use file identifier if no UUID is available
12511 or user explicitly prompted for it.
12512
12513 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
12514
12515 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12516 (freebsd_get_zfs): New function.
12517 (grub_freebsd_boot): Pass zfs UUID.
12518 (grub_cmd_freebsd): Set zfs UUID.
12519
12520 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12523 pkglibrootdir.
12524
12525 2012-02-27 Mike Gilbert <floppym@gentoo.org>
12526
12527 Add configure flag to control libzfs integration.
12528
12529 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12530
12531 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12534 device.
12535 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12536 small devices.
12537
12538 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12541 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12542 be used on non-modules.
12543
12544 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12545 Rename to grub_boot_init.
12546 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12547 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12548 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12549 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12550 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12551 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12552 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12553 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12554 includes.
12555 (grub_machine_init): Remove empty inits.
12556 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12557 includes.
12558 (grub_machine_init): Remove empty inits.
12559 * grub-core/term/arc/console.c: Remove explicit proto.
12560 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12561 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12562 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12563 grub_at_keyboard_fini.
12564 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12565 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12566 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12567 grub_gfxterm_fini.
12568 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12569 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12570 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12571 grub_vgatext_fini.
12572 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12573 * grub-core/term/serial.c (GRUB_MOD_INIT)
12574 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12575 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12576 grub_serial_fini.
12577 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12578 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12579 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12580 grub_terminfo_fini.
12581 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12582 (GRUB_MOD_FINI): Likewise.
12583 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12584 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12585 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12586 grub_video_radeon_fuloong2e_fini.
12587 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12588 [LOONGSON]: Rename to grub_video_sis315pro_init.
12589 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12590 grub_video_sis315pro_fini.
12591 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12592 [LOONGSON]: Rename to grub_video_sm712_init.
12593 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12594 grub_video_sm712_fini.
12595 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12596 (grub_at_keyboard_fini): Likewise.
12597 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12598 Don't declare grub_{modname}_init.
12599 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12600 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12601 New proto.
12602 (grub_keylayouts_fini) [!EMU]: Likewise.
12603 * include/grub/serial.h (grub_serial_init) [!EMU]:
12604 New proto.
12605 (grub_serial_fini) [!EMU]: Likewise.
12606 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12607 New proto.
12608 (grub_terminfo_fini) [!EMU]: Likewise.
12609 * include/grub/video.h (grub_font_init) [!EMU]:
12610 New proto.
12611 (grub_font_fini) [!EMU]: Likewise.
12612 (grub_gfxterm_init) [!EMU]: Likewise.
12613 (grub_gfxterm_fini) [!EMU]: Likewise.
12614 (grub_video_sm712_init) [!EMU]: Likewise.
12615 (grub_video_sm712_fini) [!EMU]: Likewise.
12616 (grub_video_sis315pro_init) [!EMU]: Likewise.
12617 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12618 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12619 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12620
12621 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 Make nand a prefix for nand devices.
12624
12625 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12626
12627 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12630 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12631
12632 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * include/grub/env.h (grub_env_find): Remove prototype.
12635 * grub-core/kern/env.c (grub_env_find): Make static.
12636 (grub_env_set): Remove useless set.
12637
12638 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 * grub-core/kern/i386/realmode.S: Remove useless align.
12641
12642 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 * include/grub/dl.h (grub_dl_load_file): Don't export.
12645
12646 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12649 grub_dprintf.
12650
12651 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12654 grub_errors.
12655 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12656 not reloading whole superblock but only the part which is really needed.
12657 Remove useless grub_errors.
12658 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12659 grub_errors.
12660
12661 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 Don't export grub_get_rtc.
12664
12665 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12666 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12667
12668 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12671
12672 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
12675 argument since it can be deduced from diskfilter. All users updated.
12676
12677 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 Remove prio_list.
12680
12681 * include/grub/list.h (grub_prio_list): Removed.
12682 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12683 GRUB_COMMAND_PRIO_MASK.
12684 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12685 GRUB_COMMAND_FLAG_ACTIVE.
12686 (grub_prio_list_insert): Removed.
12687 (grub_prio_list_remove): Likewise.
12688 (GRUB_AS_PRIO_LIST): Likewise.
12689 (GRUB_AS_PRIO_LIST_P): Likewise.
12690 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12691 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12692 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12693 * grub-core/kern/command.c (grub_register_command_prio): Inline
12694 the prio_list code.
12695 (grub_unregister_command): Likewise.
12696
12697 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 Fix interrupt mixup from previous commit.
12700
12701 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12702 (grub_realidt): New var.
12703 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12704 Load idt.
12705 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12706 New declaration.
12707 (grub_relocator16_boot): Set grub_relocator16_idt.
12708 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12709 (LOCAL(realidt)): ... this.
12710 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12711 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12712 (grub_realidt): New variable.
12713
12714 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12717 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12718 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12719 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12720 Gettextize.
12721 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12722 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12723 * po/POTFILES.in: Regenerate.
12724
12725 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12728 errors.
12729
12730 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12733 \0.
12734 (add_length): Likewise.
12735
12736 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12737 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12738
12739 GDB serial and backtrace support.
12740
12741 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12742 (prot_to_real): Likewise.
12743 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12744 * grub-core/Makefile.core.def (backtrace): New module.
12745 (gdb): Likewise.
12746 * grub-core/gdb/cstub.c: New file.
12747 * grub-core/gdb/gdb.c: Likewise.
12748 * grub-core/gdb/i386/idt.c: Likewise.
12749 * grub-core/gdb/i386/machdep.S: Likewise.
12750 * grub-core/gdb/i386/signal.c: Likewise.
12751 * grub-core/lib/i386/backtrace.c: Likewise.
12752 * grub-core/lib/backtrace.c: Likewise.
12753 * include/grub/backtrace.h: Likewise.
12754 * include/grub/gdb.h: Likewise.
12755 * include/grub/i386/gdb.h: Likewise.
12756
12757 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12760 New function.
12761 (add_length): Likewise.
12762 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12763 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12764 proto.
12765 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12766 __argp_get_display_len.
12767
12768 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 $"..." support in scripts.
12771
12772 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12773 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12774 * grub-core/script/yylex.l: Likewise.
12775 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12776 value.
12777
12778 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 * gentpl.py: Remove obsolete pkglib_DATA handling.
12781
12782 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12785 mailing list.
12786
12787 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12788 * util/grub-kbdcomp.in: Likewise.
12789 * util/grub-mkconfig.in: Likewise.
12790 * util/grub-mkconfig_lib.in: Likewise.
12791 * util/grub-mknetdir.in: Likewise.
12792 * util/grub-mkrescue.in: Likewise.
12793 * util/grub-mkstandalone.in: Likewise.
12794 * util/grub-reboot.in: Likewise.
12795 * util/grub-set-default.in: Likewise.
12796 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12797
12798 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 Remove GRUB_PREFIX.
12801
12802 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12803 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12804 used for backward compatibility.
12805
12806 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 Add new all_video module.
12809
12810 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12811 * grub-core/Makefile.core.def (all_video): New module.
12812 * grub-core/genmoddep.awk: Generate dependency of all_video from
12813 video.lst.
12814 * grub-core/lib/fake_module.c: New file.
12815 * grub-core/normal/main.c (features): Add feature_all_video_module.
12816 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12817 don't do explicit search again.
12818 insmod all_video in load_video if available.
12819
12820 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12821
12822 Another round of string clarification and adding TRANSLATORS comments.
12823
12824 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12827
12828 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12831 to grub_ssize_t.
12832 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12833 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12834
12835 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12838 trailing newline implicitly. All users updated.
12839
12840 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 Implement serial on IEEE1275 and EFI.
12843
12844 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12845 on emu. Mention arc and emu as the only platforms without serial
12846 support.
12847 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12848 ieee1275 platforms.
12849 * grub-core/term/efi/serial.c: New file.
12850 * grub-core/term/ieee1275/serial.c: Likewise.
12851 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12852 specification if no ns8250 driver is available.
12853 (grub_cmd_serial): Likewise.
12854 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12855 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12856 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12857 (grub_efi_parity_type_t): New type.
12858 (grub_efi_stop_bits_t): Likewise.
12859 (grub_efi_serial_io_interface): New struct.
12860 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12861 available for all interfaces.
12862 Add EFI and IEEE1275 fields.
12863 (grub_ofserial_init): New proto.
12864 (grub_efiserial_init): Likeiwse.
12865 * util/grub.d/00_header.in: Don't check for the presence of serial
12866 module.
12867
12868 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12871 name as if it was an alias.
12872
12873 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * grub-core/commands/lsacpi.c (options): Fix typo.
12876
12877 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 Convert grub-emu to argp.
12880
12881 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12882 emu.
12883 * util/argp_common.c: Rename to ...
12884 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12885 Add missing includes.
12886 * grub-core/kern/emu/main.c: Convert to argp.
12887 * po/POTFILES.in: Regenerate.
12888 * util/grub-install.in (usage): Make first letter lowcase in messages
12889 for uniformity.
12890 * util/grub-setup.c (options): Likewise.
12891
12892 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12895 Put back accidently commented-out code.
12896
12897 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12900 loop check using Brent algorithm.
12901 (grub_hfsplus_btree_search): Likewise.
12902
12903 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * util/grub-install.in: Fix usage of wrong device for PreP install.
12906
12907 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 * conf/Makefile.common (CFLAGS_GNULIB): Add
12910 -Wno-unsafe-loop-optimizations.
12911 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12912 on tools.
12913 * grub-core/commands/legacycfg.c: Add pragma to skip
12914 -Wunsafe-loop-optimizations.
12915 (check_password_md5_real): Fix loop counter type.
12916 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12917 reading.
12918 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12919 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12920 loop condition.
12921 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12922 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12923 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12924 condition.
12925 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12926 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12927 avoid possible infinite loops.
12928 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12929 and -Wunsafe-loop-optimizations.
12930 * grub-core/script/yylex.l: Likewise.
12931 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12932 (print_glyphs): Avoid infinite loops.
12933 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12934
12935 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12936
12937 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12938 to avoid infinite loop.
12939 (disp_acpi_rsdt_table): Likewise.
12940
12941 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * grub-core/font/font.c (grub_font_load): Add support for default
12944 path for fonts ($prefix/fonts).
12945 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12946 for checking if string is a path.
12947 * grub-core/normal/main.c (features): Add feature_default_font_path.
12948 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12949 * util/grub.d/00_header.in: Use default directory if possible.
12950 * util/grub-install.in: Install unicode.pf2.
12951
12952 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12955 * po/Rules-swiss: New file.
12956 * po/swiss.sed: Likewise.
12957
12958 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12959
12960 * grub-core/fs/btrfs.c (find_device): Fix typos.
12961 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12962 * util/grub-mkrelpath.c (argp_parser): Likewise.
12963 Reported by: Yuri Chornoivan.
12964
12965 2012-02-23 Dalet Omega <daletomega@gmail.com>
12966
12967 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12968 for usual informative messages.
12969
12970 2012-02-23 Dalet Omega <daletomega@gmail.com>
12971
12972 Starfield theme.
12973
12974 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12975 * conf/Makefile.common: Define starfielddir.
12976 * configure.ac: Configure starfield.
12977 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12978 * themes/starfield/README: Likewise.
12979 * themes/starfield/blob_w.png: Likewise.
12980 * themes/starfield/boot_menu_c.png: Likewise.
12981 * themes/starfield/boot_menu_e.png: Likewise.
12982 * themes/starfield/boot_menu_n.png: Likewise.
12983 * themes/starfield/boot_menu_ne.png: Likewise.
12984 * themes/starfield/boot_menu_nw.png: Likewise.
12985 * themes/starfield/boot_menu_s.png: Likewise.
12986 * themes/starfield/boot_menu_se.png: Likewise.
12987 * themes/starfield/boot_menu_sw.png: Likewise.
12988 * themes/starfield/boot_menu_w.png: Likewise.
12989 * themes/starfield/slider_c.png: Likewise.
12990 * themes/starfield/slider_n.png: Likewise.
12991 * themes/starfield/slider_s.png: Likewise.
12992 * themes/starfield/src/blob_nw.xcf: Likewise.
12993 * themes/starfield/src/bootmenu/: Likewise.
12994 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12995 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12996 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12997 * themes/starfield/src/slider_c.xcf: Likewise.
12998 * themes/starfield/src/slider_n.xcf: Likewise.
12999 * themes/starfield/src/slider_s.xcf: Likewise.
13000 * themes/starfield/src/terminalbox/: Likewise.
13001 * themes/starfield/src/terminalbox/center.xcf: Likewise.
13002 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
13003 * themes/starfield/src/terminalbox/side.xcf: Likewise.
13004 * themes/starfield/starfield.png: Likewise.
13005 * themes/starfield/terminal_box_c.png: Likewise.
13006 * themes/starfield/terminal_box_e.png: Likewise.
13007 * themes/starfield/terminal_box_n.png: Likewise.
13008 * themes/starfield/terminal_box_ne.png: Likewise.
13009 * themes/starfield/terminal_box_nw.png: Likewise.
13010 * themes/starfield/terminal_box_s.png: Likewise.
13011 * themes/starfield/terminal_box_se.png: Likewise.
13012 * themes/starfield/terminal_box_sw.png: Likewise.
13013 * themes/starfield/terminal_box_w.png: Likewise.
13014 * themes/starfield/theme.txt: Likewise.
13015
13016 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 * util/grub.d/00_header.in: Add missing export theme.
13019
13020 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13021
13022 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
13023 already included.
13024 Reported by: Eren D.
13025
13026 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 * conf/Makefile.common (grubdatadir): Removed.
13029 (Makefile.am): Move eveything grubdata to pkgdata.
13030
13031 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 * grub-core/commands/acpihalt.c (get_sleep_type):
13034 Remove unused variable.
13035
13036 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
13039 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
13040 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
13041 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
13042 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
13043 i18n with gettext no-op.
13044 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
13045 GRUB_ACPI_OPCODE_STRING_CONST.
13046 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
13047 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
13048
13049 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13050
13051 * po/POTFILES.in: Regenerate.
13052
13053 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
13056 -Wno-error=missing-noreturn.
13057
13058 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
13061 condition to avoid possibly infinite loops.
13062 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
13063 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
13064
13065 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
13068 condition to avoid possibly infinite loops.
13069
13070 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13071
13072 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
13073 on show_error.
13074
13075 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13076
13077 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
13078
13079 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
13082
13083 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * util/bin2h.c (usage): Add missing attribute noreturn.
13086
13087 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13088
13089 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
13090 if the size isn't divisible by 512.
13091
13092 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13093
13094 Make list_push and list_remove functions rather than inline functions
13095 to decrease size and avoid aliasing violations.
13096
13097 * include/grub/list.h (grub_list_push): Move to ...
13098 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
13099 * include/grub/list.h (grub_list_remove): Move to ...
13100 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
13101
13102 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
13105 and -Wunused-result.
13106
13107 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
13110 Reported by: Seth Goldberg
13111
13112 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
13115
13116 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
13117
13118 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
13119 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
13120 command line.
13121 * docs/grub.texi (Simple configuration): Document
13122 GRUB_CMDLINE_GNUMACH.
13123
13124 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * conf/Makefile.common (platform_SCRIPTS): New variable.
13127 (platform_PROGRAMS): Likewise.
13128 * gentpl.py: Mark *,module and *.image for install.
13129 * grub-core/gdb_grub.in: Add a notice of expected environment.
13130 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
13131 (gmodule.pl): Likewise.
13132
13133 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 Replace grub_checkkey with grub_getkey_noblock.
13136
13137 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
13138 (grub_getkey_noblock): ... this. All users updated.
13139
13140 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * grub-core/kern/emu/console.c: Move to ...
13143 * grub-core/term/emu/console.c: ...here.
13144 (grub_ncurses_getkey): Fix return value if no key is detected.
13145
13146 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
13149 (grub_unit_test_fini): Likewise.
13150 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
13151
13152 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 * include/grub/test.h (GRUB_UNIT_TEST)
13155
13156 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13157
13158 * grub-core/script/execute.c (grub_script_break): Clarify logic.
13159 Better error handling.
13160 (grub_script_return): Likewise.
13161 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13162
13163 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
13166 rimplicit redifinition.
13167
13168 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
13171 GRUB.
13172
13173 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13174
13175 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
13176 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
13177 prompt here.
13178
13179 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
13182 as GRUB_ERR_BUG. Don't malloc if no device is available.
13183
13184 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
13187 Mark calling with invalid term as GRUB_ERR_BUG.
13188
13189 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
13192 packets rather than raising an error.
13193
13194 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
13197 in if.
13198
13199 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
13202 diagnostic to dprintf.
13203 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13204
13205 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13206
13207 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
13208 device name.
13209
13210 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
13213 (grub_ntfs_iterate_dir): Likewise.
13214
13215 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 Efiemu stylistic fixes and gettext.
13218
13219 * grub-core/efiemu/i386/loadcore32.c
13220 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
13221 * grub-core/efiemu/i386/loadcore64.c
13222 (grub_arch_efiemu_relocate_symbols64): Likewise.
13223 * grub-core/efiemu/i386/pc/cfgtables.c
13224 (grub_machine_efiemu_init_tables): Likewise.
13225 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
13226 (grub_efiemu_loadcore_initXX): Add a filename argument.
13227 All users updated.
13228 Improved error message.
13229 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
13230 Add a filename argument.
13231 All users updated.
13232 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
13233 Reclassify double relocation as GRUB_ERR_BUG.
13234
13235 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
13238 handling.
13239
13240 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
13243 on partition.
13244
13245 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13246
13247 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13248
13249 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13250
13251 Improve string. Gettextize.
13252
13253 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13256 utils.
13257 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13258
13259 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13262 [GRUB_UTIL]: New function.
13263 (insert_array) [GRUB_UTIL]: Store partmaps.
13264 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13265 partmaps.
13266 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13267 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13268 (probe_abstraction): Print diskfilter and not raid.
13269 Reported by: Lennart Sorensen
13270
13271 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13274 * util/grub-mkimagexx.c (MASK3): New define.
13275 (add_value_to_slot_20b): Use MASK3.
13276 (add_value_to_slot_21): Likewise.
13277 (relocate_addresses): Fix format specification.
13278 (load_image): Explicitly init symtab_section.
13279
13280 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13283 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13284
13285 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13288 on powerpc.
13289 Reported by: Lennart Sorensen
13290
13291 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * gentpl.py: Add missing license header.
13294 * docs/grub.texi: Update copyright year.
13295
13296 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13297
13298 Source grub-mkconfig_lib from the build directory at build time.
13299 Suggested by: Vladimir Serbinenko.
13300
13301 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13302 * util/grub-install.in: Define pkgdatadir if not already set, and source
13303 grub-mkconfig_lib from there.
13304 * util/grub-kbdcomp.in: Likewise.
13305 * util/grub-mkconfig.in: Likewise.
13306 * util/grub-mknetdir.in: Likewise.
13307 * util/grub-mkrescue.in: Likewise.
13308 * util/grub-mkstandalone.in: Likewise.
13309 * util/grub-reboot.in: Likewise.
13310 * util/grub-set-default.in: Likewise.
13311 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13312
13313 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 Increase warning level.
13316
13317 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13318 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13319 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13320 (TARGET_CFLAGS): Likewise.
13321 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13322 * grub-core/Makefile.core.def (decompressor_xz): Add
13323 -Wno-unreachable-code.
13324 (normal): Add -Wno-redundant-decls.
13325 (xzio): Add -Wno-unreachable-code.
13326 (lzopio): Add -Wno-redundant-decls -Wno-error.
13327 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13328 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13329 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13330 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13331 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13332 * grub-core/kern/i386/coreboot/init.c: Add exception to
13333 -Wsuggest-attribute=noreturn.
13334 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13335 * grub-core/kern/ia64/dl_helper.c: Likewise.
13336 * grub-core/kern/mips/dl.c: Likewise.
13337 * grub-core/kern/sparc64/dl.c: Likewise.
13338 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13339 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13340 (memcmp): Likewise.
13341 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13342 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13343 * grub-core/loader/mips/linux.c: Likewise.
13344 * grub-core/loader/multiboot_elfxx.c: Likewise.
13345 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13346 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13347 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13348 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13349 fixme.
13350 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13351 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13352 Fix prototype.
13353
13354 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13357 address.
13358
13359 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13362 Avoid improper use of strings.
13363 (grub_cmd_legacy_initrdnounzip): Likewise.
13364
13365 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13368 attribute.
13369 (grub_util_info): Likewise.
13370 (grub_util_error): Likewise.
13371
13372 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13375 * util/grub-fstest.c (fstest): Likewise.
13376
13377 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13380 (grub_md_sha512_real): Likewise.
13381 (grub_util_get_geli_uuid): Likewise.
13382 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13383 (grub_util_biosdisk_open): Fix format specification.
13384 Respect format security.
13385 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13386 (xrealloc): Likewise.
13387 (xasprintf): Likewise.
13388
13389 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * util/import_gcry.py: Include grub/crypto.h in init.c.
13392
13393 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13396 (generate_image): Make prefix a const char *.
13397 Fix format specifications. Respect format security.
13398 Avoid void * arithmetics.
13399 Avoid shadowing.
13400 (argp_parser): Remove unused variable. Respect format security.
13401 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13402 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13403 (count_funcs): Remove unused variable.
13404 (relocate_addresses): Fix format specification.
13405 Disable x86-64 with elf32. Remove unused variables.
13406 (add_fixup_entry): Avoid shadowing.
13407 (make_reloc_section): Fix format specification.
13408 Use assert.
13409 (locate_sections): Fix format specifications.
13410 (load_image): Avoid shadowing.
13411
13412 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13413
13414 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13415 Fix format specifications. Respect format security.
13416 Don't translate already translated grub_errmsg.
13417 (argp_parser): Remove unused variable
13418
13419 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13422
13423 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13426 (main): Likewise. Use xmalloc. Respect format security.
13427
13428 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13431 a const char *.
13432 (argp_parser): Remove unused variable.
13433
13434 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13437 (add_pixel): Make static.
13438 (add_font): Likewise.
13439 (write_string_section): Make name and str a const char *.
13440 (write_be16_section): Make name a const char *.
13441 (print_glyphs): Make static.
13442 (write_font_ascii_bitmap): Likewise.
13443 (write_font_width_spec): Likewise.
13444 (write_font_pf2): Likewise.
13445 (argp_parser): Remove unused variable.
13446 Respect format security.
13447 (main): Avoid shadowing. Respect format security.
13448
13449 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * util/grub-editenv.c (argp_parser): Make static.
13452 (create_envblk_file): Use xmalloc.
13453 (open_envblk_file): Likewise.
13454 Resepect format security.
13455 (set_variables): Respect format security.
13456
13457 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * util/getroot.c (grub_find_device): Respect format security.
13460 (get_mdadm_uuid): Remove unused variable.
13461 (grub_util_pull_device): Dont call gettext on already translated
13462 grub_errmsg.
13463 (find_system_device): Remove unused variable.
13464 (grub_util_get_grub_dev): Likewise.
13465 (grub_make_system_path_relative_to_its_root): Respect format security.
13466
13467 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * util/grub-fstest.c (execute_command): Make first argument
13470 a const char *.
13471 (read_file): Avoid shadowing.
13472 Reuse underlying error message if device open fails.
13473 (cmd_cmp): Respect format security.
13474 (root): Make const char *.
13475 (fstest): Remove args argument and use global copy.
13476 Respect format security.
13477 (argp_parser): Make static.
13478 (main): Make default_root const char *.
13479
13480 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * util/grub-mount.c (root): Make const char *.
13483 (execute_command): Make first argument a const char *.
13484 (fuse_init): Respect format security.
13485 (argp_parser): Make static. Remove unused variable.
13486 (main): Make default_root a const char *.
13487 Respect format security.
13488
13489 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * util/grub-probe.c (probe): Don't call gettext on already translated
13492 grub_errmsg.
13493 Remove unused variables.
13494 (argp_parser): Remove unused variable.
13495
13496 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * util/grub-script-check.c (argp_parser): Remove unused variable.
13499 (main): Rename read to curread to avoid shadowing.
13500
13501 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * util/misc.c (grub_util_write_image_at): Fix format specification.
13504 (grub_util_write_image): Likewise.
13505 (grub_script_execute_argument_to_string): Removed (unused).
13506 (grub_script_execute_menuentry): Likewise.
13507 (grub_putchar): Likewise.
13508
13509 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13512 (FUNCTION) [GRUB_UTIL]: Likewise.
13513 (VARIABLE) [GRUB_UTIL]: Likewise.
13514
13515 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13518 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13519
13520 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13523 buffer.
13524
13525 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13528 (LzmaEnc_SaveState): Removed (unused).
13529 (LzmaEnc_RestoreState): Likewise.
13530 (LzmaEnc_InitPriceTables): Made static.
13531 (LzmaEnc_Construct): Likewise.
13532 (LzmaEnc_FreeLits): Likewise.
13533 (LzmaEnc_Destruct): Likewise.
13534 (LzmaEnc_Init): Likewise.
13535 (LzmaEnc_InitPrices): Likewise.
13536 (LzmaEnc_Finish): Likewise.
13537 (LzmaEnc_PrepareForLzma2): Removed (unused).
13538 (LzmaEnc_MemPrepare): Likewise.
13539 (LzmaEnc_GetNumAvailableBytes): Likewise.
13540 (LzmaEnc_GetCurBuf): Likewise.
13541 (LzmaEnc_CodeOneMemBlock): Likewise.
13542
13543 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13546 (grub_util_ldm_embed): Likewise.
13547
13548 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13549
13550 * util/grub-editenv.c (print_var): Rename name to varname to
13551 avoid shadowing.
13552 (main): Rename index to curindex to avoid shadowing.
13553 Make filename a const char *.
13554
13555 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13558 to arg_getline to avoid shadowing.
13559
13560 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13563 disk_ to avoid shadowing.
13564
13565 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13568 curindex to avoid shadowing.
13569 Make static.
13570 (MatchFinder_GetNumAvailableBytes): Make static.
13571
13572 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13575 avoid shadowing.
13576
13577 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13580 argument from encrypt to do_encrypt to avoid shadowing.
13581
13582 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13585 incorrect nesting of #if's.
13586
13587 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13590 checks which are always false on some platforms.
13591 (grub_cmd_lsacpi): Likewise.
13592 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13593 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13594 Likewise.
13595
13596 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13599 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13600
13601 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13604 re_dfa_t to avoid breaking alignment invariants.
13605 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13606 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13607
13608 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13611 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13612
13613 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13616 Fix declaration.
13617
13618 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13621 conserve alignment invariants.
13622 (grub_ehci_ehcc_read16): Likewise.
13623 (grub_ehci_oper_read32): Likewise.
13624 (grub_ehci_oper_write32): Likewise.
13625 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13626 Conserve alignment invariants.
13627
13628 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13629
13630 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13631 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13632 declarations.
13633
13634 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13637 Remove unused variable.
13638
13639 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13642 Remove set in if.
13643
13644 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 * include/grub/net.h: Remove double declarations.
13647
13648 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 Remove "payload" command in ia64 Linux loader since I couldn't
13651 find any evidence of it being used for anything.
13652 Replace "relocate" command with an environment variable
13653
13654 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13655 fields.
13656 (ia64_boot_payload): Removed.
13657 (last_payload): Likewise.
13658 (RELOCATE_OFF): Likewise.
13659 (RELOCATE_ON): Likewise.
13660 (RELOCATE_FORCE): Likewise.
13661 (relocate): Likewise.
13662 (free_pages): Don't free payloads.
13663 (grub_load_elf64): Use common error messages.
13664 Use "linux_relocate" variable.
13665 Increase the space after boot_params.
13666 (grub_cmd_payload): Removed.
13667 (grub_cmd_relocate): Likewise.
13668 (grub_cmd_fpswa): Improve messages.
13669 (cmd_payload): Removed.
13670 (cmd_relocate): Likewise.
13671 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13672 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13673
13674 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 Convert UHCI to DMA framework.
13677
13678 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13679 (grub_uhci_pci_iter): Fill new members
13680 (grub_alloc_td): Use P2V and V2P functions.
13681 (grub_free_queue): Likewise.
13682 (grub_alloc_qh): Likewise.
13683 (grub_uhci_setup_transfer): Likewise.
13684 (grub_uhci_check_transfer): Likewise.
13685
13686 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13689 Remove assignment in if while on it.
13690
13691 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * util/grub-mkstandalone.in: Fix modules directory.
13694
13695 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13698 on i386-pc target.
13699 (argp_parser): Accept "auto" as compression specification.
13700
13701 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 Fix `help' with unloaded modules.
13704
13705 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13706 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13707 (grub_dyncmd_dispatcher): Small stylistic fix.
13708 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13709 explicit help is requested.
13710
13711 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13712
13713 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13714 Explicitly init restart while on it.
13715
13716 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13719 uninited variable.
13720
13721 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 * util/grub-mknetdir.in: Use . rather than source for POSIX
13724 compatibility.
13725
13726 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13729
13730 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13733 variable.
13734
13735 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13738 without quotes.
13739
13740 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13743
13744 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13747 iteration of partitions.
13748
13749 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 Improve gettext support. Stylistic fixes and error handling fixes while
13752 on it.
13753
13754 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13757 part. Instead setup the correct stack in RM.
13758 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13759 for stack.
13760 * include/grub/i386/relocator_private.h: New file.
13761
13762 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13765 argument.
13766 * util/grub-fstest.c (options): Add missing DEVICE part.
13767
13768 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 Clarify and unify messages.
13771
13772 * grub-core/commands/hashsum.c (options): Unify messages.
13773 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13774 literal-only message as translatable.
13775 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13776 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13777 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13778 commands.
13779 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13780 key, not the key used to unlock. Clarify what it's used for.
13781 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13782 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13783 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13784 * util/grub-editenv.c (options): Unify "verbose" message.
13785 * util/grub-fstest.c (read_file): Unify error message.
13786 (fstest): Add quotes around commands.
13787 (options): Unify "verbose" message.
13788 * util/grub-install.in: Add quotes around variable name.
13789 * util/grub-kbdcomp.in: Unify error message.
13790 * util/grub-mkfont.c (main): Likewise.
13791 * util/grub-mkrescue.in: Likewise.
13792 * util/grub-mklayout.c (options): Unify "verbose" message.
13793 * util/grub-mkstandalone.in: Unify help and verbose messages.
13794 * util/grub-mount.c (options): Unify "verbose" message.
13795 * util/grub-probe.c (options): Likewise.
13796 * util/grub-script-check.c (options): Likewise.
13797 * util/grub-setup.c (setup): Unify no-terminator message.
13798 (options): Use DEVICE and not DEV.
13799 Unify "verbose" message.
13800 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13801
13802 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 Improve and unify messages.
13805
13806 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13807 name. All users updated.
13808 Print filename in error.
13809 (read_device_map): Print filename in error.
13810 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13811 (grub_util_get_os_disk): Likewise.
13812 (grub_util_biosdisk_get_grub_dev): Likewise.
13813 (grub_util_check_block_device): Likewise.
13814 (grub_util_check_char_device): Likewise.
13815 (grub_make_system_path_relative_to_its_root): Likewise.
13816 * util/grub-editenv.c (create_envblk_file): Likewise.
13817 (open_envblk_file): Likewise.
13818 (write_envblk): Likewise.
13819 * util/grub-fstest.c (cmd_cp): Likewise.
13820 (cmd_cat): Likewise.
13821 (cmd_cmp): Likewise.
13822 * util/grub-menulst2cfg.c (main): Likewise.
13823 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13824 (write_font_width_spec): Likewise.
13825 (write_font_pf2): Likewise.
13826 * util/grub-mkimage.c (generate_image): New argument outname.
13827 All users updated.
13828 Remove unreacheable message.
13829 (options): Unify messages.
13830 (help_filter): Likewise.
13831 * util/grub-mklayout.c (usage): Removed (unused).
13832 (main): Print filename in error.
13833 * util/grub-mkrescue.in: Fix wrong quoting.
13834 * util/grub-setup.c (setup): Print filename in error.
13835 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13836 (check_sas): Likewise.
13837 * util/misc.c (grub_util_get_fp_size): Removed.
13838 (grub_util_get_image_size): Print filename in error.
13839 (grub_util_read_at): Removed.
13840 (grub_util_read_image): Print filename in error.
13841 (grub_util_load_image): Likewise.
13842 (grub_util_write_image_at): New argument filename. All users updated.
13843 Print filename in error.
13844 (grub_util_write_image): New argument filename. All users updated.
13845 Print filename in error.
13846 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13847 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13848
13849 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13850
13851 * grub-core/Makefile.core.def (pxechain): New module.
13852 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13853 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13854 function.
13855 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13856 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13857
13858 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13861 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13862 * include/grub/err.h (grub_error_saved): New struct.
13863 (grub_errmsg): Make array size explicit.
13864 * include/grub/misc.h (grub_error_save): New function.
13865 (grub_error_load): Likewise.
13866 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13867 (grub_error_push): Update `errno' member name.
13868 (grub_error_pop): Likewise
13869 * grub-core/net/tftp.c (tftp_data): New member save_err.
13870 (tftp_receive): Save error.
13871 (tftp_open): Restore error.
13872
13873 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13876 to real mode down to execute A20-related code in protected mode as
13877 intended.
13878
13879 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13880
13881 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13882 NULL when the argument `level' has an unexpected value.
13883
13884 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13885
13886 Move platform-dependent files from $prefix to $prefix/$platform.
13887
13888 * config.h.in (GRUB_TARGET_CPU): New definition.
13889 (GRUB_PLATFORM): Likewise.
13890 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13891 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13892 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13893 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13894 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13895 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13896 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13897 * grub-core/normal/term.c (read_terminal_list): Likewise.
13898 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13899 $prefix/locale.
13900 (grub_gettext_init_ext): Likewise.
13901 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13902 grub_platform.
13903 * util/grub-install.in: Update directories.
13904 * util/grub-mknetdir.in: Likewise.
13905 * util/grub-mkrescue.in: Likewise.
13906
13907 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13910 grub_error framework. All users updated.
13911
13912 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13915 lists (by always binsearching), improve caching (cache strings
13916 used for binsearch, not only results), improve
13917 maintainability (by using more structured binary search) and correct
13918 error handling.
13919
13920 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * grub-core/script/execute.c (grub_script_return): Fix warning.
13923
13924 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 * grub-core/script/execute.c (grub_script_return): Fix potential
13927 NULL-dereference.
13928 Reported by: Jim Meyering.
13929
13930 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13931
13932 * po/POTFILES.in: Regenerate.
13933 * util/grub-install.in: Gettextize the strings missed in first pass.
13934
13935 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13936
13937 * Makefile.util.def (grub-mkdevicemap): Removed.
13938 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13939 * include/grub/util/deviceiter.h: Removed.
13940 * util/deviceiter.c: Likewise.
13941 * util/getroot.c (grub_util_get_os_disk): New function.
13942 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13943 replacement for EFI.
13944 * util/grub-mkdevicemap.c: Removed.
13945 * util/grub-probe.c (probe): Handle PRINT_DISK.
13946 (argp_parser): Handle -t disk.
13947
13948 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13949
13950 * util/grub-mkfont.c: Migrate to argp.
13951 * util/grub-mklayout.c: Likewise.
13952 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13953 * util/grub-mkrelpath.c: Likewise.
13954 * util/grub-probe.c: Likewise.
13955 * util/grub-script-check.c: Likewise.
13956
13957 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 * util/grub-reboot.in: Add missing datarootdir.
13960 Add missing newline.
13961 * util/grub-set-default.in: Add missing datarootdir.
13962 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13963 * util/grub-mkrescue.in: Likewise.
13964
13965 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13968
13969 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * util/grub-kbdcomp.in: Add decent help and gettextize.
13972 * docs/man/grub-kbdcomp.h2m: New file.
13973
13974 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 Migrate grub-mkimage.c to argp.
13977
13978 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13979 (grub-setup): Likewise.
13980 * util/grub-setup.c (print_version): Move to ...
13981 * util/argp_common.c (print_version): ... here.
13982 * util/grub-setup.c (argp_program_version_hook): Move to ...
13983 * util/argp_common.c (argp_program_version_hook): ... here.
13984 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13985 safety.
13986 * util/grub-mkimage.c (main): Migrate to argp.
13987
13988 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * util/grub-mkrescue.in: Use same message as
13991 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13992 for better translations.
13993
13994 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13997 options with generic grub-mkrescue.in with the goal of future
13998 merge.
13999
14000 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * grub-core/kern/mm.c: Add missing include of i18n.h
14003 * grub-core/lib/relocator.c: Likewise.
14004
14005 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
14008 error.
14009 (allocate_pages): Check return value.
14010 Replace fatal with error.
14011 (grub_linux_boot): Replace printf with dprintf.
14012 Check find_mmap_size return value.
14013 Replace fatal with error.
14014 Don't call grub_machine_fini.
14015 (grub_load_elf64): Replace printf with dprintf.
14016 (grub_cmd_linux): Likewise.
14017 (grub_cmd_initrd): Likewise.
14018 (grub_cmd_payload): Likewise.
14019
14020 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
14023 message.
14024 * grub-core/video/radeon_fuloong2e.c
14025 (grub_video_radeon_fuloong2e_setup): Likewise.
14026 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
14027 * grub-core/video/video.c (grub_video_set_mode): Don't override
14028 standard out of memory message.
14029
14030 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14031
14032 NetBSD disk wedge support.
14033
14034 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
14035 [__NetBSD__]: Handle NetBSD disk wedges.
14036 * util/getroot.c (convert_system_partition_to_system_disk)
14037 [__NetBSD__]: Likewise.
14038
14039 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
14040
14041 * util/grub-mkconfig.in: Use umask rather than chmod to create
14042 grub.cfg.new to avoid insecure grub.cfg.
14043
14044 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * grub-core/commands/ls.c: Gettextize.
14047 * grub-core/commands/setpci.c: Likewise.
14048 * grub-core/commands/videotest.c: Likewise.
14049 * grub-core/disk/geli.c: Likewise.
14050 * grub-core/kern/mm.c: Likewise.
14051 * grub-core/lib/relocator.c: Likewise.
14052 * grub-core/loader/efi/appleloader.c: Likewise.
14053 * grub-core/loader/i386/xnu.c: Likewise.
14054 * grub-core/loader/ia64/efi/linux.c: Likewise.
14055 * grub-core/loader/xnu.c: Likewise.
14056 * grub-core/net/dns.c: Likewise.
14057 * grub-core/net/net.c: Likewise.
14058 * grub-core/script/lexer.c: Likewise.
14059 * grub-core/script/parser.y: Likewise.
14060 * grub-core/script/yylex.l: Likewise.
14061 * util/getroot.c: Likewise.
14062 * util/grub-setup.c: Likewise.
14063
14064 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
14067 number.
14068
14069 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
14072
14073 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
14076 macro.
14077 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
14078 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
14079
14080 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
14083 * util/grub-install.in: Gettextize.
14084 * util/grub-mkconfig.in: Likewise.
14085 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
14086 if not available.
14087 (grub_warn): Gettextize.
14088 * util/grub-mknetdir.in: Gettextize.
14089 * util/grub-mkrescue.in: Likewise.
14090 * util/grub-mkstandalone.in: Likewise.
14091 * util/grub-reboot.in: Likewise.
14092 * util/grub-set-default.in: Likewise.
14093 * util/grub.d/00_header.in: Likewise.
14094 * util/grub.d/10_hurd.in: Likewise.
14095 * util/grub.d/10_kfreebsd.in: Likewise.
14096 * util/grub.d/10_linux.in: Likewise.
14097 * util/grub.d/10_netbsd.in: Likewise.
14098 * util/grub.d/10_windows.in: Likewise.
14099 * util/grub.d/20_linux_xen.in: Likewise.
14100 * util/grub.d/30_os-prober.in: Likewise.
14101 * po/POTFILES-shell.in: Regenerate.
14102
14103 2012-02-03 Richard Laager <rlaager@wiktel.com>
14104
14105 * util/grub-mkimage.c (main): Fix format-security warning.
14106 * util/grub-mkrelpath.c (main): Likewise.
14107 * util/grub-probe.c (main): Likewise.
14108
14109 2012-02-03 Richard Laager <rlaager@wiktel.com>
14110
14111 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
14112 failure.
14113 Put back lost PRINT_DRIVE.
14114
14115 2012-02-03 Richard Laager <rlaager@wiktel.com>
14116
14117 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
14118 (grub_guess_root_devices): Replace strlen with sizeof.
14119 Avoid crash.
14120 (find_root_devices_from_poolname): Remove unused variable.
14121 Handle raidzN.
14122
14123 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 Support install on multi-device filesystems.
14126
14127 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
14128 (grub_guess_root_devices): ...this. Return char **. All users updated.
14129 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
14130 Removed.
14131 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
14132 (find_root_devices_from_poolname): ... here.
14133 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
14134 Support zfs-fuse.
14135 (grub_guess_root_device): Rename to ...
14136 (grub_guess_root_devices): ... this. Return char **. All users updated.
14137 * util/grub-install.in: Handle multi-device filesystems.
14138 * util/grub-probe.c (probe). Make device_names a char **. Add delim
14139 argument. All users updated.
14140 Handle multi-device filesystems.
14141 Use 'delim' as separator.
14142 Remove device check to allow filesystems on file.
14143 (main): Support -0 argument. Handle multi-device.
14144 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
14145 Fix a cross-device check while on it.
14146 (arguments): Remove root_dev.
14147 (argp_parser): Remove -r.
14148 (main): Remove root_dev.
14149
14150 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
14153
14154 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
14157 symbol.
14158 Reported by: NODA, Kai <nodakai>.
14159
14160 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 Fix ehci on amd64.
14163
14164 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
14165 pointers.
14166 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
14167 (grub_ehci_setup_qh): Likewise.
14168 (grub_ehci_find_qh): Likewise.
14169 (grub_ehci_transaction): Likewise.
14170 (grub_ehci_setup_transfer): Likewise.
14171 (grub_ehci_check_transfer): Likewise.
14172 (grub_ehci_portstatus): Likewise.
14173 (grub_ehci_detect_dev): Likewise.
14174 (grub_ehci_transfer_controller_data): New field td_last_phys.
14175 (grub_ehci_setup_transfer): Fill td_last_phys.
14176 (grub_ehci_check_transfer): Use td_last_phys.
14177
14178 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
14179
14180 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
14181 if no submenu is present.
14182
14183 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14184
14185 CBI support.
14186
14187 * include/grub/usb.h (grub_usbms_protocol_t): New values
14188 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
14189 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
14190 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
14191 (grub_usbms_dev): Add subclass, protocol and intrpt.
14192 Remove in_maxsz and out_maxsz.
14193 (grub_usbms_reset): Rename to ...
14194 (grub_usbms_bo_reset): .. this.
14195 (grub_usbms_cbi_cmd): New function.
14196 (grub_usbms_cbi_reset): Likewise.
14197 (grub_usbms_reset): Likewise.
14198 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
14199 (grub_usbms_transfer): Rename to ...
14200 (grub_usbms_transfer_bo): ... this.
14201 (grub_usbms_transfer_cbi): Likewise.
14202 (grub_usbms_transfer): Likewise.
14203
14204 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14205 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
14208 the support for the CS5536 modification thereos and few bugfixes.
14209
14210 * grub-core/Makefile.core.def (ehci): New module.
14211 * grub-core/bus/usb/ehci.c: New file.
14212 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
14213 port and hubaddr. All users updated.
14214 Save port and hubaddr into dev structure.
14215 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
14216 define.
14217 * include/grub/pci.h (grub_dma_phys2virt): New function.
14218 (grub_dma_virt2phys): Likewise.
14219 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
14220
14221 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
14224 check as some mkfs implementations omit it.
14225
14226 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14227
14228 * docs/grub.texi (Unicode): Mention identifier and space limitations.
14229
14230 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
14233 Add new member volname2.
14234 (grub_jfs_label): Use volname2 if available.
14235
14236 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
14239 over last_mounted as seen in image generated by mkfs.nilfs2.
14240 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
14241
14242 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
14245 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
14246 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14247
14248 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14251 over the sector.
14252
14253 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14256 subvolume name (by removing a bogus and useless check).
14257
14258 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14261 sizeof while on it.
14262
14263 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14266 (grub_scsi_read_capacity10): ... this.
14267 (grub_scsi_read_capacity16): New function.
14268 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14269 0xffffffff.
14270 Fix off-by-one error.
14271 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14272 64-bit unsigned.
14273 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14274 (grub_scsi_read_capacity10): ... this.
14275 (grub_scsi_read_capacity_data): Rename to ...
14276 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14277 (grub_scsi_read_capacity16): New struct.
14278 (grub_scsi_read_capacity16_data): Likewise.
14279 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14280 grub_scsi_cmd_read_capacity10.
14281 New command grub_scsi_cmd_read_capacity16.
14282
14283 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 SCSI >2TiB support.
14286
14287 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14288 (grub_scsi_write16): Likewise.
14289 (grub_scsi_read): Use read16 when necessary.
14290 (grub_scsi_write): Likewise.
14291 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14292 (grub_scsi_write16): Likewise.
14293 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14294
14295 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 SCSI write support (for usbms mainly).
14298
14299 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14300 a const pointer.
14301 (grub_scsi_write): Implement.
14302 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14303
14304 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14307 variable.
14308
14309 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14312
14313 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 * po/POTFILES.in: Regenerate.
14316
14317 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14320 with grub_printf to avoid unnecessary fatal failure.
14321
14322 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14325 (INT_MAX): Likewise.
14326 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14327 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14328 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14329 (strcpy): Likewise.
14330 (strstr): Likewise.
14331 (strchr): Likewise.
14332 (strncpy): Likewise.
14333 (strcat): Likewise.
14334 (strncat): Likewise.
14335 (strcoll): Likewise.
14336 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14337 (GRUB_INT_MAX): Likewise.
14338
14339 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14342 unexpected error.
14343 (optimize_utf8): Likewise.
14344 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14345
14346 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * grub-core/boot/i386/pc/lnxboot.S: Use
14349 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14350 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14351 location.
14352 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14353 definition.
14354 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14355
14356 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14359 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14360 now to avoid double free.
14361 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14362 hostdisk.
14363 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14364 * util/grub-probe.c (escape_of_path): Always return a new copy.
14365 (print_full_name): Escape path.
14366 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14367 Fix hints on abstractions.
14368
14369 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14372 Don't add "root" line if no compatibility hont is available.
14373 Suggested by: Seth Goldberg.
14374
14375 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14378 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14379 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14380 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14381
14382 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14383
14384 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14385
14386 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * util/grub-pe2elf.c (ehdr): Make static.
14389 (shdr): Likewise.
14390 (num_sections): Likewise.
14391 (offset): Likewise.
14392
14393 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14394
14395 Eliminate ofpath limits and possible overflows.
14396
14397 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14398 (OF_PATH_MAX): Removed.
14399 (MAX_DISK_CAT): New const.
14400 (find_obppath): Use allocated rather than preallocated buffer.
14401 Return result. Argument of_path removed. All users updated.
14402 Add missing fdstat.
14403 (xrealpath): New function.
14404 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14405 Allocate rather than use preallocated buffer. All users updated.
14406 (__of_path_common): Use allocated rather than preallocatecd buffer.
14407 Return result. Argument of_path removed. All users updated.
14408 (vendor_is_ATA): Read only needed part form the file.
14409 (check_sas): Allocate depending on contents rather than fixed.
14410 (main) [STANDALONE]: Handle NULL result.
14411
14412 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14415
14416 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 Cryptodisk write support.
14419
14420 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14421 (grub_cryptodisk_decrypt): Moved logic to ...
14422 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14423 (grub_cryptodisk_write): Implement.
14424 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14425 (grub_util_fd_write): ... this. Make global.
14426 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14427
14428 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * include/grub/list.h (grub_list_remove): Don't crash if element is
14431 removed twice.
14432
14433 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 Rename ofconsole to console.
14436
14437 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14438 as sysnonym to console.
14439 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14440 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14441 Rename grub_ofconsole_ to grub_console_. All users updated
14442 (grub_console_term_output): Rename "ofconsole" to "console".
14443 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14444 as "console".
14445
14446 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14447
14448 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14449 handling.
14450 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14451 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14452 GRUB_DISK_DEVICE_FILE_ID.
14453
14454 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14457 and improve performance.
14458
14459 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14462 missing ieee1275/ prefix on whole disk.
14463
14464 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14467 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14468
14469 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14472
14473 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 Merge common RAID and LVM logic to an abstract diskfilter.
14476 Add LDM support using the same framework.
14477
14478 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14479 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14480 (libgrubmods): Remove grub-core/disk/raid.c and
14481 grub-core/partmap/gpt.c.
14482 * grub-core/Makefile.core.def (ldm): New module.
14483 (raid): Renamed to diskfilter. All users updated.
14484 * grub-core/disk/raid.c: Moved to ...
14485 * grub-core/disk/diskfilter.c: ... here.
14486 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14487 (lv_num): New var.
14488 (find_array): Renamed to ...
14489 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14490 (grub_is_array_readable): Renamed to ...
14491 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14492 (insert_array): New argument id.
14493 (is_node_readable): New function.
14494 (scan_device): Rename to ...
14495 (scan_disk): .. this. Restrict to one disk.
14496 (scan_devices): New function.
14497 (grub_diskfilter_iterate): Support multi-LV.
14498 Skip invisible and nameless LVs.
14499 (grub_diskfilter_memberlist): Support multi-LV.
14500 (grub_diskfilter_read_node): New function.
14501 (grub_raid_read): Most of logic moved to ...
14502 (read_segment): ... here
14503 (read_lv): New function.
14504 (grub_diskfilter_get_vg_by_uuid): New function.
14505 (grub_diskfilter_make_raid): Likewise.
14506 * grub-core/disk/ldm.c: New file.
14507 * grub-core/disk/lvm.c (vg_list): Removed.
14508 (lv_count): Likewise.
14509 (scan_depth): Likewise.
14510 (is_lv_readable): Likewise.
14511 (grub_lvm_getvalue): Advance pointer past the number.
14512 (find_lv): Removed.
14513 (do_lvm_scan): Refactored into ...
14514 (grub_lvm_detect): ... this. Support raid.
14515 (grub_lvm_iterate): Removed.
14516 (grub_lvm_memberlist): Likewise.
14517 (grub_lvm_open): Likewise.
14518 (grub_lvm_close): Likewise.
14519 (read_lv): Likewise.
14520 (read_node): Likewise.
14521 (is_node_readable): Likewise.
14522 (is_lv_readable): Likewise.
14523 (grub_lvm_read): Likewise.
14524 (grub_lvm_write): Likewise.
14525 (grub_lvm_dev): Use diskfilter
14526 (GRUB_MOD_INIT): Likewise.
14527 (GRUB_MOD_FINI): Likewise.
14528 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14529 new interface.
14530 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14531 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14532 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14533 grub_diskfilter_read_node.
14534 Fix a bug with xor.
14535 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14536 grub_diskfilter_read_node.
14537 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14538 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14539 (grub_disk_dev_iterate): Move from here...
14540 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14541 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14542 Make global.
14543 (grub_hostdisk_find_partition_start): Likewise.
14544 (grub_hostdisk_os_dev_to_grub_drive): New function.
14545 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14546 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14547 * util/getroot.c (make_device_name): ... here.
14548 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14549 Move to ...
14550 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14551 * grub-core/kern/emu/hostdisk.c
14552 (convert_system_partition_to_system_disk): Move to ...
14553 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14554 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14555 * util/getroot.c (device_is_wholedisk): ... here.
14556 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14557 * util/getroot.c (find_system_device): ... here.
14558 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14559 Move to ...
14560 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14561 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14562 Move to ...
14563 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14564 Handle LDM.
14565 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14566 Move to ...
14567 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14568 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14569 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14570 DISKFILTER.
14571 * include/grub/raid.h: Renamed to ...
14572 * include/grub/diskfilter.h: ... this.
14573 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14574 (GRUB_RAID_LAYOUT_*): Make into array.
14575 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14576 (grub_diskfilter_vg): New struct.
14577 (grub_diskfilter_pv_id): Likewise.
14578 (grub_raid_member): Removed.
14579 (grub_raid_array): Likewise.
14580 (grub_diskfilter_pv): New struct.
14581 (grub_diskfilter_lv): Likewise.
14582 (grub_diskfilter_segment): Likewise.
14583 (grub_diskfilter_node): Likewise.
14584 (grub_diskfilter_get_vg_by_uuid): New proto.
14585 (grub_raid_register): Inline.
14586 (grub_diskfilter_unregister): Likewise.
14587 (grub_diskfilter_make_raid): New proto.
14588 (grub_diskfilter_vg_register): Likewise.
14589 (grub_diskfilter_read_node): Likewise.
14590 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14591 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14592 (grub_util_is_ldm): Likewise.
14593 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14594 (grub_hostdisk_find_partition_start): Likewise.
14595 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14596 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14597 New definition.
14598 (grub_gpt_partition_map_iterate): New proto.
14599 * include/grub/lvm.h (grub_lvm_vg): Removed.
14600 (grub_lvm_pv): Likewise.
14601 (grub_lvm_lv): Likewise.
14602 (grub_lvm_segment): Likewise.
14603 (grub_lvm_node): Likewise.
14604 * util/getroot.c [...]
14605 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14606 (probe_abstraction): Likewise.
14607 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14608 (main): Remove dead logic.
14609
14610 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 Simplify root device discover and don't fail when trying to open
14613 incorrect devices.
14614
14615 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14616 function.
14617 (get_diskname_from_path): Likewise.
14618 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14619 of iterating.
14620
14621 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14624
14625 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14628 pastthe end.
14629
14630 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14631
14632 * util/grub-install.in: Add missing \.
14633 Reported by: gentoofan
14634
14635 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14638 (direct_read): Use correct compressed size.
14639 (grub_squash_read_data): Likewise.
14640
14641 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 * docs/grub.texi (Platform limitations): New section.
14644 (Platform-specific operations): Likewise.
14645 * docs/grub-dev.texi (Porting): Likewise.
14646
14647 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 IEEE1275 disk write support.
14650
14651 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14652 const void *.
14653 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14654 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14655 and seek loginc to ...
14656 (grub_ofdisk_prepare): ... here.
14657 (grub_ofdisk_write): Implement.
14658
14659 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 ARC disk write support.
14662
14663 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14664 (reopen): New argument writable. All users updated.
14665 Handle required access mode.
14666 (grub_arcdisk_write): Implement.
14667 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14668 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14669
14670 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14671
14672 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14673 (read_sblock): Don't attempt to read superblocks outside the disk size.
14674
14675 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14678 first superblock to find the second one when possible.
14679
14680 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * util/grub-install.in: Fix an ARC bug.
14683 Print a warning if no platform-specific setup is available.
14684
14685 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 Use static allocation rather than scratch pointer in reed_solomon.
14688 It decreases its size significantly and avoids a variable in .text.
14689
14690 * grub-core/lib/reed_solomon.c (scratch): Removed.
14691 (chosenstat): New const or static array.
14692 (sigma): Likewise.
14693 (errpot): Likewise.
14694 (errpos): Likewise.
14695 (sy): Likewise.
14696 (mstat): Likewise.
14697 (errvals): Likewise.
14698 (eqstat): Likewise.
14699 (pol_evaluate): Replace x with log_x argument. All users updated.
14700 (syndroms): Removed.
14701 (gauss_solve): Use statically allocated arrays.
14702 (rs_recover): Likewise.
14703 Calculate syndroms directly.
14704 (decode_block): Use statically allocated arrays.
14705 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14706 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14707
14708 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 Eliminate fixed limit on reed solomon decoder length.
14711
14712 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14713 rather than hardcoding the address.
14714 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14715 no_reed_solomon_length.
14716 Move gate_a20 to no-reed-solomon part.
14717 Don't force a particular size of no reed-solomon part.
14718 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14719 Removed.
14720 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14721 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14722
14723 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * grub-core/commands/wildcard.c (match_files): Handle filenames
14726 without explicit device.
14727 (wildcard_expand): Don't add explicit device if not already present.
14728 * tests/grub_script_echo1.in: Add a new expansion test.
14729
14730 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 Replace single-linked with double-linked lists. It results in more
14733 compact and more efficient code.
14734
14735 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14736 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14737 (grub_list_remove): Moved from here ...
14738 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14739 (grub_prio_list_insert): Set prev.
14740 * include/grub/list.h (grub_list): Add prev. All users updated.
14741
14742 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 Handle newer autotools. Add some missing quotes while on it.
14745
14746 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14747 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14748 (pkgdata_DATA): ... here.
14749 * Makefile.util.def (update-grub_lib): Removed.
14750 * conf/Makefile.common (pkglib_DATA): Removed.
14751 (pkglib_SCRIPTS): Likewise.
14752 (pkgdata_DATA): New variable.
14753 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14754 needed.
14755 Add missing quotes.
14756 Remove unused variable while on it.
14757 * tests/util/grub-shell.in: Likewise.
14758 * util/grub-install.in: Likewise.
14759 * util/grub-mkconfig.in: Likewise.
14760 * util/grub-mknetdir.in: Likewise.
14761 * util/grub-mkrescue.in: Likewise.
14762 * util/grub-mkstandalone.in: Likewise.
14763 * util/grub.d/00_header.in: Likewise.
14764 * util/grub.d/10_hurd.in: Likewise.
14765 * util/grub.d/10_illumos.in: Likewise.
14766 * util/grub.d/10_kfreebsd.in: Likewise.
14767 * util/grub.d/10_linux.in: Likewise.
14768 * util/grub.d/10_netbsd.in: Likewise.
14769 * util/grub.d/10_windows.in: Likewise.
14770 * util/grub.d/20_linux_xen.in: Likewise.
14771 * util/grub.d/30_os-prober.in: Likewise.
14772 * util/update-grub_lib.in: Removed.
14773
14774 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
14775
14776 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14777 a workaround for intel problem.
14778
14779 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
14780 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14781 2012-01-23 pfsmorigo
14782
14783 * util/grub-install.in: Support dd'in into PreP partition.
14784 * util/grub-probe.c (probe): Support discovering partition type.
14785 (main): Support -t msdos_parttype.
14786
14787 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14790 infinite recursion using counter.
14791 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14792 init to skip it if the magic check fails.
14793 (dec_stream_header): Init s->crc32.
14794
14795 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14796 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
14797 2012-01-22 Richard Laager <rlaager@wiktel.com>
14798
14799 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14800 All users updated.
14801 (find_bestub): Determine correct size.
14802 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14803 (scan_disk): Align the size down.
14804 Call check pool before find_bestub to have ashift.
14805
14806 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14809 dprintf in no-malloc zone.
14810
14811 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14812
14813 * configure.ac: Add back in test for limits.h.
14814
14815 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14816
14817 Support 4K-sector NTFS.
14818
14819 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14820 (grub_ntfs_data): Remove blocksize.
14821 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14822 Remove data argument. All users updated.
14823
14824 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14827 being in .text to avoid dprel references.
14828 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14829 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14830 (grub_arch_highmemsize): Likewise.
14831 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14832 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14833 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14834
14835 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14838
14839 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14840 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14841
14842 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14845 GRUB_UTIL.
14846 (grub_set_datetime_cmos): Likewise.
14847
14848 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 Make XZ compression parameters dependent on target and not host CPU.
14851
14852 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14853 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14854
14855 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14858 set but not used variable.
14859
14860 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14863 created when no uuid support is compiled into mkfs.reiser.
14864
14865 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14868 (utf8_to_macroman): Do the opposite.
14869 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14870
14871 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 * configure.ac: Refise build qemu_mips w/o unifont.
14874
14875 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 Eliminate grub_min/grub_max prone to overflow usage.
14878
14879 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14880 (poll_nonroot_hub): Likewise.
14881 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14882 (grub_affs_label): Likewise.
14883 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14884 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14885 (grub_hfs_label): Likewise.
14886 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14887 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14888 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14889 (zap_leaf_array_get): Likewise.
14890 (dnode_get_path): Likewise.
14891 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14892 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14893 * grub-core/script/execute.c (grub_script_break): Likewise.
14894 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14895 grub_max.
14896 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14897 * include/grub/misc.h (grub_min): Removed.
14898 (grub_max): Likewise.
14899
14900 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14901
14902 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14903 direct.inode = 0.
14904
14905 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14908
14909 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14910
14911 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14912
14913 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14914
14915 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14916 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14917
14918 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14921 rather than a hack for grub_strncasemap.
14922
14923 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14924
14925 Support multiple initrds
14926 Note: part of this was accidently committed in r3739.
14927
14928 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14929 initrd.
14930 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14931 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14932 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14933 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14934 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14935
14936 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14939 disks with unknown size.
14940 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14941
14942 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14943
14944 Remove defines pertaining to arbitrary limits not affecting GRUB
14945 anymore.
14946
14947 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14948 (EXT2_MAX_SYMLINKCNT): Likewise.
14949 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14950 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14951 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14952 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14953 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14954 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14955 (DN_MAX_OBJECT_SHIFT): Likewise.
14956 (DN_MAX_OFFSET_SHIFT): Likewise.
14957 (DN_MAX_OBJECT): Likewise.
14958 (DNODES_PER_LEVEL_SHIFT): Likewise.
14959 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14960 (SPA_MAXBLOCKSIZE): Likewise.
14961 (SPA_BLOCKSIZES): Likewise.
14962 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14963 (MZAP_MAX_BLKSZ): Likewise.
14964
14965 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14968 handle NULL appropriately.
14969 Remove MIN.
14970
14971 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 Fix efiemu.
14974
14975 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14976 cpu/types.h.
14977 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14978 * configure.ac: Fix efiemu check.
14979
14980 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14983 grub_probe.
14984 Reported by: adamwill
14985
14986 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14987
14988 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14989
14990 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 Fix handling of wide characters in gfxterm.
14993
14994 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14995 (clear_char): Likewise.
14996 (paint_char): Skip code == NULL chars.
14997 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14998
14999 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15000
15001 * grub-core/normal/charset.c: Move comment to right place.
15002
15003 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
15006 (GRUB_AFFS_FLAG_FFS): Put back where it was.
15007 (grub_affs_mount): Revert the correct version checking.
15008
15009 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * docs/grub.texi (Unicode): Mention several other unsupported features.
15012
15013 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
15016 case statements as compile-time one.
15017 (direct_read): Prevent spurious warnings.
15018 (grub_squash_read_data): Likewise.
15019
15020 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 Various squash4 fixes and LZO and XZ support.
15023
15024 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
15025 Add xzembed source files.
15026 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
15027 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
15028 (grub_squash_inode): New subtype long_dir.
15029 (SQUASH_TYPE_LONG_DIR): New inode type.
15030 (COMPRESSION): New enum.
15031 (XZBUFSIZ): New const.
15032 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
15033 (read_chunk): Use data->decompress.
15034 (zlib_decompress): New function.
15035 (lzo_decompress): Likewise.
15036 (xz_decompress): Likewise.
15037 (squash_mount): Set new data fields.
15038 (grub_squash_iterate_dir): Handle long dir.
15039 (squash_unmount): Free xzdec and xzbuf.
15040 (grub_squash_open): Check ino type.
15041 (direct_read): Stylistic fixes. Use data->decompress.
15042 (grub_squash_read_data): Likewise.
15043 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
15044 (get_byte): Likewise.
15045 (grub_zlib_disk_read): Removed.
15046 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
15047 (GRUB_POSIX_BOOL_DEFINED): New define.
15048 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
15049 * grub-core/lib/xzembed/xz.h: Addmissing includes.
15050 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
15051 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
15052
15053 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 Don't override more informative errors.
15056
15057 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
15058 * grub-core/font/font.c (open_section): Likewise.
15059 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
15060 filename. Don't override errors.
15061 (grub_cmd_openbsd_ramdisk): Don't override errors.
15062 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
15063 (grub_cmd_initrd): Likewise.
15064 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15065 (grub_cmd_initrd): Likewise.
15066 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
15067 (grub_cmd_linux): Likewise.
15068 (grub_cmd_initrd): Likewise.
15069 (grub_cmd_payload): Likewise.
15070 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
15071 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
15072 (grub_cmd_module): Likewise.
15073 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15074 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15075 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
15076 (grub_cmd_xnu_mkext): Likewise.
15077 (grub_cmd_xnu_ramdisk): Likewise.
15078 (grub_xnu_check_os_bundle_required): Likewise.
15079 (grub_xnu_load_kext_from_dir): Likewise.
15080 (grub_cmd_xnu_kextdir): Likewise.
15081 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
15082
15083 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
15086 as 1024 in block size field. Found on one of my test images.
15087 Small optimisation while on it.
15088
15089 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
15092 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
15093 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
15094 performance fixes while on it.
15095 (grub_sfs_close): Fix memory leak while on it.
15096 (grub_sfs_label): Convert Latin1 to UTF-8.
15097
15098 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
15101 space to avoid overflows.
15102 (grub_hfs_label): Convert from macroman to UTF-8.
15103
15104 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
15107
15108 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
15111
15112 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 * unicode: Import Unicode 6.0 data.
15115
15116 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
15119 outside of range.
15120
15121 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 Avoid cutting in the middle of UTF-8 character.
15124
15125 * include/grub/charset.h (grub_getend): New function.
15126 * grub-core/script/function.c (grub_script_function_find): Use
15127 grub_getend.
15128 * grub-core/normal/completion.c (add_completion): Likewise.
15129
15130 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
15133 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
15134 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
15135 (GRUB_UNICODE_TAG_END): Likewise.
15136 (GRUB_UNICODE_LAST_VALID): Likewise.
15137
15138 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
15141 len and make it smaller. All users updated.
15142 * util/import_unicode.py: Put length and not end character.
15143 Check length.
15144
15145 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15146
15147 Make better Unicode-compliant and unify some UTF-8 code pathes.
15148
15149 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
15150 valid character.
15151 (grub_is_valid_utf8): Use grub_utf8_process.
15152 Check resulting code range.
15153 (grub_utf8_to_ucs4): Use grub_utf8_process.
15154 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
15155 valid character.
15156
15157 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
15160
15161 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 * docs/grub.texi (Filesystems): Mention AFS.
15164
15165 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 * docs/grub.texi (Filesystems): Clarify restrictions.
15168 (Regexp): Mention non-Unicode regexp behaviour.
15169 (Other): Mention non-Unicode matching behaviour.
15170
15171 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 Make HFS implementation use MacRoman.
15174
15175 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
15176 (macroman): New const array.
15177 (macroman_to_utf8): New function.
15178 (utf8_to_macroman): Likewise.
15179 (grub_hfs_find_dir): Use utf8_to_macroman.
15180 (grub_hfs_dir): Use macroman_to_utf8.
15181 Set case_insensitive.
15182
15183 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
15186
15187 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 Integrate hints into autogeneration scripts.
15190
15191 * docs/grub.texi (Filesystems): Add a hostdisk example.
15192 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
15193 (grub-probe): Add ofpath.
15194 * gentpl.py: Remove group nosparc64.
15195 * grub-core/commands/search.c (cache_entry): New struct.
15196 (cache): New var.
15197 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
15198 * grub-core/commands/search_wrap.c (options): Add platform-specific
15199 hint options.
15200 (grub_cmd_search): Handle platform-specific hints.
15201 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
15202 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
15203 (grub_util_biosdisk_data): Likewise.
15204 (grub_util_biosdisk_open): Set device_map.
15205 (read_device_map): Handle "" as indication of no map.
15206 Set device_map.
15207 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
15208 (grub_util_biosdisk_get_compatibility_hint): New function.
15209 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
15210 * include/grub/emu/hostdisk.h
15211 (grub_util_biosdisk_get_compatibility_hint): New proto.
15212 * util/grub-install.in: Don't call grub-mkdevicemap.
15213 Add platform-specific hint to load.cfg.
15214 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
15215 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15216 hints. Set root preliminary to compatibility hint, not to OS name.
15217 * util/grub-probe.c (PRINT_*): Add hints.
15218 (print): Make static.
15219 (escape_of_path): New function.
15220 (guess_bios_drive): Likewise.
15221 (guess_efi_drive): Likewise.
15222 (guess_baremetal_drive): Likewise.
15223 (print_full_name): Likewise.
15224 (probe): Handle hints.
15225 (main): Likewise.
15226 * util/ieee1275/devicemap.c: Removed.
15227 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
15228 updated.
15229 (grub_util_devname_to_ofpath): Return NULL on failure.
15230
15231 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
15232 resource leak.
15233 * util/getroot.c (grub_util_pull_device): Fix memory leak.
15234
15235 * po/POTFILES.in: Regenerated.
15236
15237 Allow purely long options
15238
15239 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
15240 (SHORT_ARG_USAGE): Likewise.
15241 (grub_arg_show_help): Compare opt with help_options.
15242 (parse_option): Receive opt as argument. If makes big simplificatons.
15243 All users updated
15244
15245 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15248 Restructure to avoid warning.
15249
15250 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * util/grub-install.in: Account for possible escaped comma in device
15253 name.
15254
15255 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15258 channel.
15259
15260 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15263 allocation and zero-setting.
15264 (grub_ieee1275_get_devname): Check that alias is complete.
15265
15266 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15269 unaligned segments.
15270
15271 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15272
15273 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15274 prefix.
15275 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15276 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15277 Add ieee1275 prefix.
15278
15279 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15280
15281 * docs/grub.texi (Filesystems): Update.
15282
15283 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 Support odc, newc and bigendian cpio formats.
15286
15287 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15288 * grub-core/Makefile.core.def (newc): New module.
15289 (odc): Likewise.
15290 (cpio_be): Likewise.
15291 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15292 (MAGIC): Likewise.
15293 (MAGIC2): Likewise.
15294 (head) [MODE_ODC]: Adapt for the format.
15295 (head) [MODE_NEWC]: Likewise.
15296 (head) [!MODE_*]: Write fields of interest as arrays.
15297 (MAGIC_USTAR): Removed.
15298 (read_number) [MODE_NEWC]: Change to hex.
15299 (read_number) [!MODE_*]: Parse binary arrays.
15300 (grub_cpio_find_file): Factor out the code for better structure and
15301 always use read_number.
15302 (grub_cpio_mount): Use MAGIC and MAGIC2.
15303 (grub_cpio_dir): Exit on first hook non-0 return.
15304 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15305 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15306 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15307 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15308 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15309 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15310 * grub-core/fs/newc.c: New file.
15311 * grub-core/fs/odc.c: Likewise.
15312 * grub-core/fs/cpio_be.c: Likewise.
15313
15314 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 Fix handling of tar numbers occupying the whole field.
15317
15318 * grub-core/fs/cpio.c (read_number): New function.
15319 (grub_cpio_find_file): Use read_number instead of strtoull.
15320
15321 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15322
15323 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15324 occupying the whole field size.
15325
15326 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15327
15328 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15329
15330 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15333
15334 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15335
15336 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15337 TARGET_IMG_LDFLAGS.
15338
15339 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15342 (mountinfo_entry): Increase the field size to take escaping into
15343 account.
15344 (find_root_device_from_libzfs): Add one byte to size of strings for
15345 security.
15346
15347 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15350 an assert.
15351 * util/grub-setup.c (setup): Likewise.
15352
15353 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15356 _LzmaDecodeA.
15357
15358 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * docs/grub.texi (Internationalisation): New section.
15361
15362 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * docs/grub.texi (Loopback booting): New section.
15365
15366 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
15367
15368 * util/grub-mkstandalone.in: Fix minor typo errors.
15369
15370 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15373
15374 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15375 net/icmp.c and net/icmp6.c.
15376 (http): New module.
15377 (priority_queue): Likewise.
15378 * grub-core/io/bufio.c: Rewritten.
15379 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15380 TYPE_WITH_CONFIGFILE_OPTION.
15381 (legacy_commands): Add bootp and dhcp.
15382 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15383 (grub_legacy_parse): Likewise.
15384 * grub-core/lib/priority_queue.c: New file.
15385 * grub-core/net/arp.c: Add missing license header.
15386 (arp_find_entry): Removed.
15387 (arp_find_entry): Likewise.
15388 (grub_net_arp_resolve): Rename to ...
15389 (grub_net_arp_send_request): ...this.
15390 (grub_net_arp_receive): New card argument.
15391 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15392 Set router and DNS server.
15393 (grub_net_configure_by_dhcp_ack): Handle routing information.
15394 (grub_cmd_bootp): Set checksum.
15395 (grub_bootp_init): Remove net_dhcp.
15396 * grub-core/net/dns.c: New file.
15397 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15398 completion.
15399 (get_card_packet): Handle allocation.
15400 (grub_efinet_findcards): Set mtu.
15401 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15402 (get_card_packet): Handle allocation.
15403 (emucard): Set mtu.
15404 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15405 (GRUB_MOD_INIT): Set mtu.
15406 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15407 mtu.
15408 (get_card_packet): Handle allocation.
15409 (grub_ofnet_findcards): Set mtu.
15410 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15411 assert.
15412 (grub_net_recv_ethernet_packet): Handle IPv6.
15413 * grub-core/net/http.c: New file.
15414 * grub-core/net/icmp.c: Likewise.
15415 * grub-core/net/icmp6.c: Likewise.
15416 * grub-core/net/ip.c (ip6addr): New type.
15417 (ip6hdr): Likewise.
15418 (reassemble): Likewise.
15419 (cmp): New function.
15420 (reassembles): New variable.
15421 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15422 (id): New variable.
15423 (send_fragmented): New function.
15424 (grub_net_send_ip_packet): Rename to ...
15425 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15426 Handle non-UDP.
15427 (grub_net_recv_ip_packets): Rename to ...
15428 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15429 (free_rsm): New function.
15430 (free_old_fragments): Likewise.
15431 (grub_net_recv_ip4_packets): New function.
15432 (grub_net_send_ip6_packet): Likewise.
15433 (grub_net_send_ip_packet): Likewise.
15434 (grub_net_recv_ip6_packets): Likewise.
15435 (grub_net_recv_ip_packets): Likewise.
15436 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15437 (LINK_LAYER_CACHE_SIZE): New const.
15438 (link_layer_find_entry): New function.
15439 (grub_net_link_layer_add_address): Likewise.
15440 (grub_net_link_layer_resolve_check): Likewise.
15441 (grub_net_link_layer_resolve): Likewise.
15442 (grub_net_ipv6_get_slaac): Likewise.
15443 (grub_net_ipv6_get_link_local): Likewise.
15444 (grub_cmd_ipv6_autoconf): Likewise.
15445 (parse_ip): Handle one number representation.
15446 (parse_ip6): New functoion.
15447 (match_net): Handle IPv6.
15448 (grub_net_resolve_address): Handle IPv6 and DNS.
15449 (grub_net_resolve_net_address): Handle IPv6.
15450 (route_cmp): New function.
15451 (grub_net_route_address): Find best route.
15452 (grub_net_addr_to_str): Handle IPv6.
15453 (grub_net_addr_cmp): New function.
15454 (grub_net_add_addr): Register local route.
15455 (print_net_address): Handle net address.
15456 (grub_net_poll_cards): Retransmit TCP.
15457 (grub_net_poll_cards_idle_real): Likewise.
15458 (have_ahead): New function.
15459 (grub_net_seek_real): Use underlying seek.
15460 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15461 * grub-core/net/tcp.c: New file.
15462 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15463 (cmp): New function.
15464 (ack): Likewise.
15465 (tftp_receive): Handle unordered input.
15466 (destroy_pq): New function.
15467 (tftp_close): Close pq.
15468 * grub-core/net/udp.c: Put missing license header.
15469 (grub_net_udp_socket): New function.
15470 (udp_socket_register): Likewise.
15471 (grub_net_udp_close): Likewise.
15472 (grub_net_recv_udp_packet): Check checksum.
15473 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15474 * include/grub/misc.h (grub_memchr): New function.
15475 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15476 (grub_net_card_driver): Return buf in recv.
15477 (grub_net_slaac_mac_list): New struct.
15478 (grub_network_level_protocol_id): Add ipv6.
15479 (grub_net_network_level_addr): Likewise.
15480 (grub_net_network_level_net_addr): Likewise.
15481 (grub_net_app_protocol): Add seek.
15482 (grub_net_socket): Removed.
15483 (grub_net_sockets): Likewise.
15484 (grub_net_socket_register): Likewise.
15485 (grub_net_socket_unregister): Likewise.
15486 (FOR_NET_SOCKETS): Likewise.
15487 (grub_net_add_addr): Add const.
15488 (GRUB_NET_BOOTP_*): New enum.
15489 (grub_net_addr_cmp): New proto.
15490 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15491 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15492 (grub_net_hwaddr_to_str): NEw proto.
15493 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15494 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15495 (grub_dns_init): New proto.
15496 (grub_dns_fini): Likewise.
15497 (grub_net_tcp_retransmit): Likewise.
15498 (grub_net_link_layer_add_address): Likewise.
15499 (grub_net_link_layer_resolve_check): Likewise.
15500 (grub_net_link_layer_resolve): Likewise.
15501 (grub_net_dns_lookup): Likewise.
15502 (grub_net_add_dns_server): Likewise.
15503 (grub_net_remove_dns_server): Likewise.
15504 (GRUB_NET_TRIES): New const.
15505 (GRUB_NET_INTERVAL): Likewise.
15506 * include/grub/net/arp.h: Mostly rewritten.
15507 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15508 * include/grub/net/ip.h: Mostly rewritten.
15509 * include/grub/net/netbuff.h: Indent.
15510 * include/grub/net/tcp.h: New file.
15511 * include/grub/net/udp.h: Mostly rewritten.
15512 * include/grub/priority_queue.h: New file.
15513 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15514 (grub_swap_bytes64_compile_time): Likewise.
15515 (grub_cpu_to_be16_compile_time): Likewise.
15516 (grub_cpu_to_be32_compile_time): Likewise.
15517 (grub_cpu_to_be64_compile_time): Likewise.
15518 (grub_be_to_cpu64_compile_time): Likewise.
15519
15520 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15523 UINT_TO_PTR with cast.
15524
15525 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15526
15527 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15528 don't use them.
15529
15530 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15533 already there.
15534
15535 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15536
15537 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15538 confusing ipxe.
15539
15540 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15543 Add missing const attribute.
15544 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15545 Likewise.
15546 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15547 Likewise.
15548
15549 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15552 misaligned access.
15553 (serpent_setkey): Likewise.
15554 (serpent_encrypt_internal): Likewise.
15555 (serpent_decrypt_internal): Likewise.
15556 (serpent_encrypt): Don't put an alignment-increasing cast.
15557 (serpent_decrypt): Likewise.
15558 (serpent_test): Likewise.
15559
15560 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15561
15562 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15563
15564 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15567
15568 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15569 grub_addr_t casts.
15570 (PTR_TO_UINT64): Likewise.
15571 (PTR_TO_UINT32): Likewise.
15572
15573 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15576 because of stack.
15577 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15578 limit.
15579
15580 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15583 text_width > available width a bit more gracefully.
15584
15585 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15588 current address calculation.
15589
15590 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15593 stack.
15594 (encode_block): Likewise.
15595
15596 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15599 certainety.
15600
15601 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15604 non-RS part to avoid RS messing with GDT.
15605 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15606 Increase to suit in realmode routines.
15607
15608 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15609
15610 * grub-core/kern/i386/realmode.S: Increase alignment.
15611 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15612
15613 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15616 be deterministic.
15617 (syndroms): Compute 0 syndrom.
15618 (rs_recover): Use 0 syndrom.
15619
15620 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15623
15624 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15627 brackets.
15628
15629 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15632 account.
15633 (get_top_pad): Likewise.
15634 (get_right_pad): Likewise.
15635 (get_bottom_pad): Likewise.
15636
15637 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
15640
15641 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15644 attribute as the structure isn't guaranteed to be properly aligned.
15645 (grub_efi_pci_device_path): Likewise.
15646 (grub_efi_pccard_device_path): Likewise.
15647 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15648 specify the size of `memory_type'.
15649 (grub_efi_vendor_device_path): Likewise.
15650 (grub_efi_controller_device_path): Likewise.
15651 (grub_efi_acpi_device_path): Likewise.
15652 (grub_efi_expanded_acpi_device_path): Likewise.
15653 (grub_efi_atapi_device_path): Likewise.
15654 (grub_efi_scsi_device_path): Likewise.
15655 (grub_efi_fibre_channel_device_path): Likewise.
15656 (grub_efi_1394_device_path): Likewise.
15657 (grub_efi_usb_device_path): Likewise.
15658 (grub_efi_usb_class_device_path): Likewise.
15659 (grub_efi_i2o_device_path): Likewise.
15660 (grub_efi_mac_address_device_path): Likewise.
15661 (grub_efi_ipv4_device_path): Likewise.
15662 (grub_efi_ipv6_device_path): Likewise.
15663 (grub_efi_infiniband_device_path): Likewise.
15664 (grub_efi_uart_device_path): Likewise.
15665 (grub_efi_vendor_messaging_device_path): Likewise.
15666 (grub_efi_hard_drive_device_path): Likewise.
15667 (grub_efi_cdrom_device_path): Likewise.
15668 (grub_efi_vendor_media_device_path): Likewise.
15669 (grub_efi_file_path_device_path): Likewise.
15670 (grub_efi_protocol_device_path): Likewise.
15671 (grub_efi_piwg_device_path): Likewise.
15672 (grub_efi_bios_device_path): Likewise.
15673
15674 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15675
15676 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15677 (grub_ucs4_to_utf8_alloc): Likewise.
15678 (grub_ucs4_to_utf8): Likewise.
15679 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15680 (grub_ucs4_to_utf8_alloc): Likewise.
15681
15682 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15683
15684 AFFS never uses unicode.
15685
15686 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15687 (grub_latin1_to_utf8): New inline function.
15688 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15689
15690 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15693 overflow.
15694
15695 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15696
15697 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15698 (grub_squash_dirent_header): Likewise.
15699 (read_chunk): Don't double swap.
15700 (grub_squash_iterate_dir): Fix swap sizes.
15701
15702 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15705
15706 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15709 (grub_hfs_iterate_dir): Likewise.
15710
15711 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 Fix video on platforms where unaligned access is forbidden.
15714 Make several optimisations while on it.
15715
15716 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15717 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15718 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15719 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15720 Disable.
15721 (grub_video_fbblit_replace_16bit_1bit):
15722 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15723 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15724 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15725 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15726 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15727 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15728 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15729 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15730 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15731 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15732 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15733 (grub_video_fbblit_replace_index_RGB888): Likewise.
15734 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15735 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15736 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15737 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15738 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15739 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15740 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15741 Disable.
15742 (grub_video_fbblit_blend_XXX565_1bit):
15743 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15744 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15745 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15746 void *.
15747 * grub-core/video/fb/video_fb.c (common_blitter)
15748 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15749 (grub_video_fb_create_render_target_from_pointer)
15750 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15751 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15752 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15753 definition.
15754 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15755
15756 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15759 HH22 and HM10 relocations.
15760
15761 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15764
15765 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15768 allocation succeeded.
15769
15770 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15771
15772 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15773 argument a u8 pointer. All users updated.
15774 Handle unaligned buffers.
15775
15776 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15779 add_part to workaround compiler bug.
15780
15781 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15784
15785 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15788 Reserve alignment invariants.
15789 (grub_multiboot_load): Likewise.
15790 (retrieve_video_parameters): Likewise.
15791 (grub_multiboot_make_mbi): Likewise.
15792
15793 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15796 incorrect pointer.
15797
15798 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15801 (grub_pata_pio_write): Likewise.
15802
15803 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 Add noreturn attributes and remove unreachable code.
15806
15807 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15808 code.
15809 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15810 code. Mark as noreturn.
15811 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15812 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15813 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15814 unreachable code.
15815 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15816 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15817 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15818 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15819 * include/grub/kernel.h (grub_main): Mark as noreturn.
15820 * include/grub/reader.h (grub_rescue_run): Likewise.
15821
15822 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15825 redundant declaration.
15826
15827 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15830 redundant declaration.
15831 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15832
15833 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15836 to ensure alignment.
15837 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15838 alignment. Ensure tmp alignment.
15839 (grub_cmd_hdparm): Ensure buf alignment.
15840 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15841 to ensure alignment.
15842 (grub_ata_dumpinfo): Ensure text alignment.
15843 (grub_atapi_identify): Preserve alignment invariant.
15844 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15845
15846 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15849 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15850 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15851 * include/grub/misc.h (grub_reboot)
15852 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15853 (grub_halt) [__mips__]: Likewise.
15854
15855 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15858 Remove redundant declaration.
15859 (grub_mmap_get_post64): Likewise.
15860 (grub_mmap_get_upper): Likewise.
15861 (grub_mmap_get_lower): Likewise.
15862
15863 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15866 uint32_t * to ensure alignment.
15867 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15868
15869 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15872 uint16_t * to ensure alignment.
15873 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15874 alignment.
15875
15876 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
15879 to ensure alignment.
15880 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15881
15882 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15885 Handle unaligned pointers.
15886 (u32at): Likewise.
15887 (u64at): Likewise.
15888 (fixup): Use byte access instead of v16at.
15889 (find_attr): Fix imporper usage of v32at.
15890 (read_data): Likewise.
15891 (list_file): Handle byte-swapping and unaligned strings.
15892 (grub_ntfs_label): Likewise.
15893
15894 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15897 as it's not necessarily aligned.
15898
15899 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15902 redundant declaration.
15903 (grub_serial_init): Likewise.
15904 (grub_terminfo_init): Likewise.
15905
15906 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15909 function.
15910 (ZAP_HASH_IDX): Likewise.
15911 (ZAP_LEAF_HASH_SHIFT): Likewise.
15912 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15913 (LEAF_HASH): Likewise.
15914 (ZAP_LEAF_NUMCHUNKS): Likewise.
15915 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15916 alignment invariants. Return pointer. All users updated.
15917 (ZAP_LEAF_ENTRY): Make into inline function.
15918 (NBBY): Removed.
15919 (xor): LIkewise.
15920 (xor_out): Use grub_crypto_xor.
15921 (dnode_get_path): Use grub_get_unaligned.
15922 (nvlist_find_value): Likewise.
15923 (grub_zfs_nvlist_lookup_uint64): Likewise.
15924 (grub_zfs_nvlist_lookup_string): Likewise.
15925 (get_nvlist_size): Likewise.
15926 (grub_zfs_open): Likewise.
15927 (fill_fs_info): Likewise.
15928 (grub_zfs_dir): Likewise.
15929 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15930 alignment invariants.
15931 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15932 necessarily aligned.
15933
15934 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15937
15938 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15941 arithmetic to conserve alignment invariants.
15942
15943 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15946 redundant declaration.
15947 (grub_efiemu_mm_obtain_request): Likewise.
15948 (grub_efiemu_prepare): Likewise.
15949
15950 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15953 to match types.
15954
15955 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15958 case of aunaligned recptr.
15959 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15960 alignment.
15961 (grub_hfsplus_btree_search): Handle unaligned index.
15962
15963 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15966 to get freetag and skip.
15967
15968 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15969
15970 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15971 array.
15972 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15973 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15974
15975 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15978 name for checksum and fix allocation algorithm.
15979
15980 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15981
15982 * include/grub/types.h (grub_properly_aligned_t): New type.
15983 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15984 (grub_get_unaligned16): Add explicit casts.
15985 (grub_get_unaligned32): Likewise.
15986 (grub_get_unaligned64): Likewise.
15987 (grub_set_unaligned16): New function.
15988 (grub_set_unaligned32): Likewise.
15989
15990 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15993
15994 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15997 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15998 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15999
16000 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
16003 conditionals.
16004
16005 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
16008 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
16009
16010 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 Unify and improve RAID and crypto xor.
16013
16014 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
16015 changed to grub_crypto_xor
16016 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
16017 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
16018 Use bigger types when possible.
16019
16020 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 * grub-core/disk/raid.c (scan_devices): Fix condition.
16023
16024 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16025
16026 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
16027 Make name a const ptr.
16028
16029 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
16032 first argument a const pointer.
16033 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
16034 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
16035 proto.
16036 (grub_children_iterate): Likewise.
16037 (grub_machine_mmap_iterate): Remove redundant declaration.
16038
16039 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
16042 (grub_cmd_acpi) [!x86]: Disable EBDA.
16043
16044 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 Enable UTF8 in gnulib regexp.
16047
16048 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
16049 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
16050 (isupper): Use grub_isupper.
16051 (isascii): New inline function.
16052 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
16053 * grub-core/lib/posix_wrap/wctype.h: Likewise.
16054 * grub-core/normal/charset.c (grub_utf8_process): New function.
16055 (grub_utf8_to_utf16): Use grub_utf8_process.
16056 (grub_encode_utf8_character): New function.
16057 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
16058 * include/grub/charset.h (grub_utf8_process): New declaration.
16059 (grub_encode_utf8_character): Likewise.
16060 * include/grub/misc.h (grub_islower): New inline function.
16061 (grub_isupper): Likewise.
16062 (grub_strchrsub): Moved down to fix the definitions.
16063
16064 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
16067 specification.
16068
16069 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * include/grub/loader.h (grub_loader_register_preboot_hook):
16072 Use struct preboot * and not void * for handle. All users updated.
16073 (grub_loader_unregister_preboot_hook): Likewise.
16074
16075 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
16078 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
16079 UTF-16-BE. All users updated.
16080 (grub_hfsplus_cmp_catkey): Fix unicode handling.
16081 (grub_hfsplus_iterate_dir): Likewise.
16082 (grub_hfsplus_label): Likewise.
16083
16084 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
16087
16088 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 Add missing const qualifiers.
16091
16092 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
16093 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
16094 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
16095 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
16096 (grub_lvm_check_flag): Likewise.
16097 * grub-core/efiemu/i386/coredetect.c
16098 (grub_efiemu_get_default_core_name): Likewise
16099 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
16100 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
16101 * grub-core/fs/ntfs.c (fixup): Likewise.
16102 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
16103 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
16104 (fzap_lookup): Likewise.
16105 (zap_lookup): Likewise.
16106 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
16107 * grub-core/lib/legacy_parse.c (check_option): Likewise.
16108 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
16109 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
16110 (grub_freebsd_add_meta_module): Likewise.
16111 (grub_cmd_freebsd_module): Likewise.
16112 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
16113 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
16114 (grub_xnu_writetree_get_size): Likewise.
16115 (grub_xnu_writetree_toheap_real): Likewise.
16116 (grub_xnu_find_key): Likewise.
16117 (grub_xnu_create_key): Likewise.
16118 (grub_xnu_create_value): Likewise.
16119 (grub_xnu_register_memory): Likewise.
16120 (grub_xnu_check_os_bundle_required): Likewise.
16121 (grub_xnu_scan_dir_for_kexts): Likewise.
16122 (grub_xnu_load_kext_from_dir): Likewise.
16123 * grub-core/normal/color.c (color_list): Likewise.
16124 * grub-core/normal/completion.c (current_word): Likewise.
16125 * grub-core/normal/menu_entry.c (insert_string): Likewise.
16126 * grub-core/term/serial.c (grub_serial_find): Likewise.
16127 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
16128 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
16129 Likewise.
16130 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
16131 (grub_freebsd_add_meta_module): Likewise.
16132 * include/grub/lib/arg.h (grub_arg_option): Likewise.
16133 * include/grub/net.h (grub_net_card_driver): Likewise.
16134 (grub_net_card): Likewise.
16135 (grub_net_app_protocol): Likewise.
16136 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
16137 * include/grub/serial.h (grub_serial_find): Likewise.
16138 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
16139 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
16140 (grub_xnu_create_value): Likewise.
16141 (grub_xnu_find_key): Likewise.
16142 (grub_xnu_scan_dir_for_kexts): Likewise.
16143 (grub_xnu_load_kext_from_dir): Likewise.
16144
16145 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
16146 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
16147 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
16148 Moved from here ...
16149 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
16150
16151 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
16152
16153 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
16154
16155 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
16158 (read_device): Fix size calculation.
16159
16160 2011-11-25 Robert Millan <rmh@gnu.org>
16161
16162 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
16163 (find_root_device_from_libzfs): Add zpool output parser to be used
16164 as fallback when libzfs isn't available.
16165
16166 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
16167
16168 * po/Makefile.in.in: Add missing escape-continuation.
16169
16170 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
16173
16174 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
16177
16178 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
16181
16182 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
16185
16186 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16187
16188 * grub-core/lib/adler32.c: Add missing license specification.
16189 * grub-core/lib/crc64.c: Likewise.
16190 * grub-core/loader/i386/pc/plan9.c: Likewise.
16191 * grub-core/partmap/plan.c: Likewise.
16192
16193 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
16194
16195 Add facility to debug GRUB with gdb under qemu.
16196
16197 * grub-core/gdb_grub.in: New file.
16198 * grub-core/gmodule.pl.in: Likewise.
16199 * grub-core/Makefile.core.def (gmodule.pl): New script.
16200 (gdb_grub): Likewise.
16201
16202 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 * util/grub-mount.c (argp_parser): Accept relative pathes.
16205 * util/grub-fstest.c (argp_parser): Likewise.
16206
16207 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 Plan9 support.
16210
16211 * Makefile.util.def (libgrubmods): Add
16212 grub-core/partmap/plan.c.
16213 * docs/grub.texi: Notice Plan9 support.
16214 * grub-core/Makefile.core.def (plan9): New module.
16215 (part_plan): Likewise.
16216 * grub-core/loader/i386/pc/plan9.c: New file.
16217 * grub-core/partmap/plan.c: Likewise.
16218 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
16219 define.
16220 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
16221 * include/grub/mm.h (grub_extend_alloc): New inline function.
16222
16223 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16224
16225 Make Reed-Solomon faster by using power of generator representation of
16226 GF(256)*.
16227
16228 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
16229 (gf_double_t): Likewise.
16230 (gf_invert): Removed.
16231 (gf_powx): New array.
16232 (gf_powx_inv): Likewise.
16233 (scratch): Move higher.
16234 (gf_reduce): Removed.
16235 (gf_mul): Use powx.
16236 (gf_invert): Likewise.
16237 (init_inverts): Replaced with ...
16238 (init_powx): ...this. All users updated.
16239 (pol_evaluate): Replace multiplications with additions.
16240 (rs_encode): Likewise.
16241 (gauss_eliminate): Call gf_invert.
16242 (grub_reed_solomon_add_redundancy): Call init_powx.
16243 (grub_reed_solomon_recover): Call init_powx unconditionally.
16244
16245 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16246
16247 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16248
16249 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16250
16251 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16252 disk->partiton for safety.
16253
16254 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16255
16256 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16257 Fix a memory leak.
16258 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16259
16260 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16263
16264 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16265
16266 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16267
16268 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16269
16270 Fix spaces handling in proc/self/mountinfo.
16271
16272 * util/getroot.c (unescape): New function.
16273 (grub_find_root_device_from_mountinfo): Use unescape.
16274
16275 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16276
16277 Support ZFS embedding.
16278
16279 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16280 (grub_zfs_fs): Register grub_zfs_embed.
16281
16282 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 Fix MIPS compilation.
16285
16286 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16287 * include/grub/offsets.h: Rename decompressor fields from
16288 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16289 * util/grub-mkimage.c (image_targets): Use new names.
16290
16291 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 Defer multiboot device parsing until we're in compressed part.
16294
16295 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16296 bsd_part. setdevice has fallen into disuse.
16297 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16298 (bsd_part): Likewise.
16299 (boot_dev): New variable.
16300 (multiboot_trampoline): Don't parse multiboot device.
16301 Pass multiboot device in %edx.
16302 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16303 grub_boot_device.
16304 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16305 Likewise.
16306 * grub-core/kern/i386/pc/startup.S: Save edx.
16307 (grub_boot_drive): Removed.
16308 (grub_install_dos_part): Likewise.
16309 (grub_install_bsd_part): Likewise.
16310 (grub_boot_device): New variable.
16311 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16312 (grub_install_bsd_part): Likewise.
16313 (grub_boot_drive): Likewise.
16314 (grub_boot_device): New variable.
16315 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16316 Removed.
16317 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16318 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16319 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16320 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16321 * util/grub-install.in: Remove redundant condition.
16322
16323 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 Fix bug introduced by previous commit.
16326
16327 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16328
16329 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 Use decompressors framework on i386-pc. It increases core size
16332 by 46 bytes but improves compatibility and maintainability.
16333
16334 * grub-core/Makefile.core.def (lzma_decompress): New image.
16335 (kernel): Add i386_pc_ldflags.
16336 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16337 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16338 to real_to_prot, prot_to_real and device info.
16339 * include/grub/offsets.h: Renamed decompressor offsets.
16340 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16341 (image_target_desc): Remove raw_size and rename decompressor fields.
16342 (compress_kernel): Handle lzma.
16343 (generate_image): Handle decompressors on i386-pc.
16344
16345 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16346
16347 * configure.ac: Add -fno-asynchronous-unwind-tables.
16348
16349 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 Move assembly code to C by using intwrap. It increases core size
16352 by 88 bytes but improves compatibility and maintainability.
16353
16354 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16355 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16356 ... here. Translated to C.
16357 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16358 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16359 ... here. Translated to C.
16360 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16361 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16362 ... here. Translated to C.
16363 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16364 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16365 ... here. Translated to C.
16366 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16367 * grub-core/term/i386/pc/console.c (grub_console_cls):
16368 ... here. Translated to C.
16369 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16370 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16371 ... here. Translated to C.
16372 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16373 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16374 Translated to C.
16375 * grub-core/term/i386/pc/console.c (int10_9): New function.
16376 (grub_console_putchar): Likewise.
16377 * include/grub/i386/pc/console.h: Removed the not anymore shared
16378 functions.
16379
16380 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16381
16382 Move grub_chainloader_real_boot out of the kernel.
16383
16384 * grub-core/Makefile.am: Remove machine/loader.h.
16385 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16386 Removed.
16387 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16388 variable.
16389 (grub_relocator16_keep_a20_enabled): Likewise.
16390 (grub_relocator16_boot): Fill new variables.
16391 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16392 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16393 relocator.
16394 (grub_chainloader_unload): Likewise.
16395 (grub_chainloader_cmd): Likewise.
16396 * include/grub/i386/pc/loader.h: Removed.
16397 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16398 and esi. All initialisers updated.
16399
16400 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16401 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
16402
16403 * Makefile.util.def (grub-mount): New util.
16404 * .bzrignore: Add grub-mount.
16405 * configure.ac: Check for fuse and enable grub-mount if available.
16406 * docs/man/grub-mount.h2m: New file.
16407 * util/grub-mount.c: Likewise.
16408
16409 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16410
16411 * grub-core/commands/efi/fixvideo.c: Gettextize.
16412 * grub-core/commands/hashsum.c: Likewise.
16413 * grub-core/commands/i386/cmostest.c: Likewise.
16414 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16415 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16416 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16417 * grub-core/commands/lsmmap.c: Likewise.
16418 * grub-core/commands/menuentry.c: Likewise.
16419 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16420 * grub-core/commands/setpci.c: Likewise.
16421 * grub-core/loader/i386/bsd.c: Likewise.
16422 * grub-core/loader/i386/linux.c: Likewise.
16423 * util/getroot.c: Likewise.
16424 * util/grub-editenv.c: Likewise.
16425 * util/grub-fstest.c: Likewise.
16426 * util/grub-mkfont.c: Likewise.
16427 * util/grub-mkimage.c: Likewise.
16428 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16429 * util/grub-pe2elf.c: Likewise.
16430 * util/grub-probe.c: Likewise.
16431 * util/grub-setup.c: Likewise.
16432 * util/ieee1275/ofpath.c: Likewise.
16433 * util/misc.c: Likewise.
16434 * util/raid.c: Likewise.
16435
16436 2011-11-11 Robert Millan <rmh@gnu.org>
16437
16438 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16439 __attribute__((unused)) from `os_dev', which *is* being used.
16440
16441 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16444 forgotten define.
16445 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16446 GRUB_IA64_DL_GOT_ALIGN.
16447 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16448 GRUB_IA64_DL_TRAMP_ALIGN.
16449
16450 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16451
16452 Replace grub_fatal with normal errors in i386 linux loader.
16453
16454 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16455 (allocate_pages): Check find_efi_mmap_size return value.
16456 (grub_e820_add_region): Return error.
16457 (grub_linux_boot): Check mmap return value.
16458
16459 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 * grub-core/commands/acpihalt.c: Gettextized.
16462 * grub-core/commands/cacheinfo.c: Likewise.
16463 * grub-core/commands/cmp.c: Likewise.
16464 * grub-core/commands/efi/loadbios.c: Likewise.
16465 * grub-core/commands/gptsync.c: Likewise.
16466 * grub-core/commands/ieee1275/suspend.c: Likewise.
16467 * grub-core/commands/legacycfg.c: Likewise.
16468 * grub-core/commands/memrw.c: Likewise.
16469 * grub-core/commands/minicmd.c: Likewise.
16470 * grub-core/commands/parttool.c: Likewise.
16471 * grub-core/commands/time.c: Likewise.
16472 * grub-core/commands/videoinfo.c: Likewise.
16473 * grub-core/disk/geli.c: Likewise.
16474 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16475 * grub-core/disk/luks.c: Likewise.
16476 * grub-core/disk/lvm.c: Likewise.
16477 * grub-core/font/font_cmd.c: Likewise.
16478 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16479 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16480 * grub-core/gfxmenu/view.c: Likewise.
16481 * grub-core/kern/emu/hostdisk.c: Likewise.
16482 * grub-core/kern/emu/main.c: Likewise.
16483 * grub-core/kern/emu/misc.c: Likewise.
16484 * grub-core/kern/emu/mm.c: Likewise.
16485 * grub-core/kern/mips/arc/init.c: Likewise.
16486 * grub-core/kern/mips/loongson/init.c: Likewise.
16487 * grub-core/kern/partition.c: Likewise.
16488 * grub-core/lib/i386/halt.c: Likewise.
16489 * grub-core/lib/mips/arc/reboot.c: Likewise.
16490 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16491 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16492 * grub-core/loader/i386/xnu.c: Likewise.
16493 * grub-core/loader/multiboot.c: Likewise.
16494 * grub-core/net/bootp.c: Likewise.
16495 * grub-core/net/net.c: Likewise.
16496 * grub-core/normal/term.c: Likewise.
16497 * grub-core/partmap/bsdlabel.c: Likewise.
16498 * grub-core/parttool/msdospart.c: Likewise.
16499 * grub-core/term/gfxterm.c: Likewise.
16500 * grub-core/term/terminfo.c: Likewise.
16501 * grub-core/video/i386/pc/vbe.c: Likewise.
16502 * util/grub-menulst2cfg.c: Likewise.
16503 * util/grub-mkdevicemap.c: Likewise.
16504 * util/grub-mklayout.c: Likewise.
16505 * util/grub-mkrelpath.c: Likewise.
16506 * util/grub-script-check.c: Likewise.
16507 * util/ieee1275/grub-ofpathname.c: Likewise.
16508 * util/resolve.c: Likewise.
16509
16510 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 Support %1$d syntax.
16513
16514 * tests/printf_unit_test.c: New file.
16515 * Makefile.util.def (printf_test): New test.
16516 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16517
16518 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16521 fix.
16522
16523 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16526 dprintf.
16527 * grub-core/font/font.c (grub_font_load): Likewise.
16528
16529 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 * util/grub-macho2img.c: Add comment concerning gettext.
16532 * grub-core/lib/legacy_parse.c: Likewise.
16533
16534 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16535
16536 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16537 (grub_xvasprintf): Likewise.
16538
16539 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 Add const keyword to grub_env_get and gettextize week days.
16542
16543 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16544 (grub_read_hook_datetime): Return const char *.
16545 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16546 updated.
16547 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16548 Mark for gettext.
16549 (grub_get_weekday_name): Return const char *. Call gettext.
16550 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16551 char * and len as the argument. All users updated.
16552 (grub_script_argv_split_append): Receive const char *.
16553 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16554 * include/grub/env.h (grub_env_get): Likewise.
16555 (grub_env_read_hook_t): Return const char *.
16556 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16557 (grub_script_argv_split_append): Likewise.
16558
16559 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16560
16561 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16562
16563 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16566 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16567
16568 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16571 Fix prototype.
16572
16573 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 Fix mips compilation.
16576
16577 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16578 normal decoder.
16579 (hashes): Use in embed decoder as well (for sizes).
16580 (dec_stream_header): Fix embed decompressor logic.
16581 (dec_stream_footer): Likewise.
16582
16583 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16586 an error and not a fatal on unrecognised relocation types.
16587
16588 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16591 Issue error rather than printf on unknown arguments.
16592
16593 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16596 Make buf a const.
16597
16598 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16599
16600 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16601 Fix module name.
16602
16603 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16604
16605 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16606 leftover debug printf.
16607
16608 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16609
16610 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16611
16612 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16615 A stylistic fix.
16616
16617 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16620
16621 2011-11-10 Shea Levy <slevy@tieronedesign.com>
16622
16623 Allow all modules to perform serial IO
16624
16625 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16626 * include/grub/serial.h (grub_serial_port_configure): New inline
16627 function.
16628 (grub_serial_port_fetch): Likewise.
16629 (grub_serial_port_put): Likewise.
16630 (grub_serial_port_fini): Likewise.
16631 (grub_serial_find): New proto.
16632
16633 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 Put symlink at the end of the node and fix a potential
16636 memory corruption.
16637
16638 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16639 Make symlink into an array.
16640 (set_rockridge): Set have_symlink and alloc_dirents.
16641 (grub_iso9660_read_symlink): Use new layout.
16642 (grub_iso9660_iterate_dir): Fix memory corruption.
16643 Use new layout.
16644 (grub_iso9660_dir): Set have_symlink.
16645 (grub_iso9660_open): Likewise.
16646
16647 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 Remove local keyword.
16650
16651 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16652 (version_test_gt): Likewise.
16653 (version_find_latest): Likewise.
16654 (gettext_printf): Likewise.
16655 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16656
16657 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16658
16659 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16660
16661 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16662
16663 Fix ZFS memory and resource leaks.
16664
16665 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16666 All users updated.
16667 Free type on exit.
16668 (fill_vdev_info): New parameter inserted. All users updated.
16669 (check_pool_label): Likewise.
16670 (scan_disk): Likewise.
16671 (scan_devices): Close non-inserted disks.
16672 (fzap_iterate): Free l.
16673 (unmount_device): Free children descripto memory.
16674
16675 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16678 argument (access out of bounds).
16679
16680 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16681
16682 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16683 >= 6 drives.
16684
16685 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16686
16687 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16688 Fix declaration.
16689
16690 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16691
16692 Fix several memory leaks.
16693
16694 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16695 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16696 (grub_cpio_dir): Likewise.
16697 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16698 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16699 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16700 (grub_romfs_label): Likewise.
16701 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16702 (squash_unmount): New function.
16703 (grub_squash_dir): Fix memory leak.
16704 (grub_squash_open): Likewise.
16705 (grub_squash_read): Likewise.
16706 (grub_squash_mtime): Likewise.
16707 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16708 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16709 * util/grub-fstest.c (fstest): Likewise.
16710
16711 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16712
16713 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16714 avoid accessing beyond the array.
16715
16716 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16719
16720 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 Several AFFS fixes.
16723
16724 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16725 (GRUB_AFFS_FLAG_FFS): Removed.
16726 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16727 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16728 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16729 (grub_fshelp_node): Make block 32-bit.
16730 Add block_cache and last_block_cache.
16731 (grub_affs_read_block): Fill and use block cache.
16732 (grub_affs_read_file): Removed.
16733 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16734 boot block.
16735 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16736 safety.
16737 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16738 space.
16739 (grub_affs_close): Free block cache.
16740 (grub_affs_read): Use grub_fshelp_read_file directly.
16741
16742 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16745 with no error set.
16746
16747 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16748
16749 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16750 used variable.
16751 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16752 Likewise.
16753
16754 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16757
16758 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16759 byteswap when needed.
16760
16761 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 Fix FreeBSD compilation.
16764
16765 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16766 to avoid circular dependency.
16767 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16768 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16769 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16770
16771 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 Fix ZFS crypto error types.
16774
16775 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16776 (grub_gcm_decrypt): Likewise.
16777 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16778 from PBKDF2.
16779
16780 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 Illumos support.
16783
16784 * Makefile.util.def (10_illumos): New script.
16785 * configure.ac: Set COND_HOST_ILLUMOS.
16786 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16787 Support Illumos calls.
16788 (find_partition_start) [__sun__]: Likewise.
16789 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16790 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16791 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16792 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16793 device.
16794 * util/grub-probe.c (probe) [__sun__]: Do character check.
16795 * util/grub.d/10_illumos.in: New file.
16796
16797 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 Support escaped commas in hostdisk.
16800
16801 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16802 (find_grub_drive): Use unescape_cmp.
16803 (make_device_name): Escape commas.
16804
16805 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16806
16807 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16808
16809 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16812 variable.
16813
16814 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16815
16816 Support trampoline jumps on powerpc.
16817
16818 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16819 __ia64__ path.
16820 (grub_dl_load_segments): Set mod->sz.
16821 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16822 segments.
16823 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16824 (jump): Likewise.
16825 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16826 function.
16827 (trampoline): New struct.
16828 (trampoline_template): New const.
16829 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16830 * include/grub/dl.h (grub_dl): Add sz element.
16831 [__powerpc__]: Follow __ia64__.
16832 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16833 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16834 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16835 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16836
16837 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 ZFS crypto support.
16840
16841 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16842 * grub-core/Makefile.core.def (zfscrypt): New module.
16843 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16844 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16845 it. All users updated.
16846 (grub_zfs_decrypt): New var.
16847 (grub_zfs_load_key): Likewise.
16848 (zio_checksum_functions): Add SHA256+MAC.
16849 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16850 (zio_read): Handle encrypted blocks.
16851 (zap_verify): Remove incorrect check.
16852 (fzap_iterate): Handle non-standard fzap.
16853 (zap_iterate): Likewise.
16854 (zap_iterate_u64): New function.
16855 (dnode_get_fullpath): Load keys.
16856 * grub-core/fs/zfs/zfscrypt.c: New file.
16857 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16858 (grub_crypto_ecb_encrypt): Make input const.
16859 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16860 (grub_crypto_ecb_encrypt): Make input const.
16861 (GRUB_CIPHER_AES): New macro.
16862 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16863 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16864 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16865 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16866 prefix. All users updated.
16867 (grub_zfs_add_key): New proto.
16868 (grub_zfs_decrypt): Likewise.
16869 (grub_zfs_load_key): Likewise.
16870 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16871 * util/grub-fstest.c (options): Add -K option.
16872 (argp_parser): Likewise.
16873
16874 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 Support zle compression on ZFS.
16877
16878 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16879 (decomp_table): Add zle.
16880 * include/grub/zfs/zio.h (zio_compress): Add zle.
16881
16882 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16883
16884 Support BtrFS embedding.
16885
16886 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16887 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16888 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16889 * util/grub-setup.c (setup): Use fs embedding if available.
16890 Add additional sanity check.
16891
16892 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16893
16894 * util/grub-install.in: Fix condition for config_opt.
16895
16896 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 Support third redundancy strip on raidz3.
16899
16900 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16901 Return error on singularity. All users updated.
16902 (read_device): Don't stop on 3rd failure on raidz3.
16903
16904 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16905
16906 Support case-insensitive ZFS subvolumes.
16907
16908 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16909 All users updated.
16910 (zap_hash): Likewise.
16911 (name_cmp): New function.
16912 (zap_leaf_array_equal): New parameter case_insensitive.
16913 All users updated.
16914 (zap_leaf_lookup): Likewise.
16915 (fzap_lookup): Likewise.
16916 (zap_lookup): Likewise.
16917 (dnode_get_path): New parameter case_insensitive. Retrieve case
16918 sensitiviness of a volume. All users updated.
16919 (dnode_get_fullpath): New parameter case_insensitive.
16920 All users updated.
16921 (grub_zfs_dir): Set info.case_insensitiveness.
16922
16923 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 Support second redundancy strip on raidz(2,3).
16926
16927 * grub-core/fs/zfs/zfs.c (powx): New array.
16928 (powx_inv): Likewise.
16929 (poly): New const.
16930 (xor_out): New function.
16931 (gf_mul): Likewise.
16932 (recovery): Likewise.
16933 (read_device): Use second redundancy strip.
16934
16935 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 Use a power of generator representation of GF(256) multiplication group
16938 to save space time and complexity.
16939
16940 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16941 (raid6_table2): Likewise.
16942 (powx): New array.
16943 (powx_inv): Likewise.
16944 (poly): New const.
16945 (grub_raid_block_mul): Replace with ...
16946 (grub_raid_block_mulx): ...this.
16947 (grub_raid6_init_table): Rewritten.
16948 (grub_raid6_recover): Use power of generator representation.
16949
16950 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16953 for the right device.
16954
16955 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16956
16957 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16958 expected by grub-mkimage and it's more clear since there is no implicit
16959 padding.
16960
16961 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16964 disk.
16965 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16966
16967 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16968
16969 * util/grub-mkrescue.in: Fix handling xorriso option.
16970
16971 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16972
16973 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16974 NULL.
16975
16976 2011-11-03 crocket <crockabiscuit@gmail.com>
16977
16978 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16979
16980 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16981
16982 XZ CRC64 and SHA256 support.
16983
16984 * Makefile.util.def (libgrubmods): Add crc64.c.
16985 * grub-core/Makefile.core.def (crc64): New module.
16986 * grub-core/lib/crc64.c: New file.
16987 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16988 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16989 Fix the type.
16990 (MAX_HASH_SIZE): New define.
16991 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16992 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16993 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16994 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16995 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16996 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16997 Handle non-crc32 hashes.
16998 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16999 (dec_stream_header): Handle non-crc32 hashes.
17000 (dec_stream_footer): Likewise.
17001 (dec_block_header): Likewise.
17002 (dec_main): Likewise.
17003 (xz_dec_init): Likewise.
17004 (xz_dec_reset): Likewise.
17005 (xz_dec_end): Likewise.
17006 * util/import_gcry.py: Add CRC64 line.
17007
17008 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17009
17010 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
17011 as well.
17012
17013 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17014
17015 Make reiserfs label retrieval similar to other *_label functions.
17016
17017 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
17018 (REISERFS_MAX_LABEL_LENGTH): Removed.
17019 (REISERFS_LABEL_OFFSET): Likewise.
17020 (grub_reiserfs_label): Rewritten.
17021
17022 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
17025 field.
17026
17027 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17028
17029 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
17030
17031 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
17032
17033 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
17034 drive failure on both raidz and raidz2.
17035
17036 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 Fix RAIDZ(2) for >= 5 devices.
17039
17040 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
17041 asize argument. All users updated.
17042
17043 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17044
17045 Fix RAIDZ(2).
17046
17047 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
17048 (fill_vdev_info_real): Set ashift.
17049 (read_device): Rewrite RAIDZ part based on reverse engineering.
17050
17051 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
17054 don't report potentially unavialiable fields in debug output.
17055 (find_path): Fix double-free and memory leak.
17056
17057 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 Read label on UFS1.
17060
17061 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
17062 (grub_ufs_fs): Always set .label.
17063
17064 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 Use shifts in UFS.
17067
17068 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
17069 (grub_ufs_data): New field log2_blksz.
17070 (grub_ufs_read_file): Use shifts.
17071 (grub_ufs_mount): Check block size and logarithm it.
17072
17073 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
17076 long symlinks.
17077
17078 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17079
17080 Handle symlinks and long names on tar and cpio.
17081
17082 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
17083 (ATTR_FILE): Likewise.
17084 (ATTR_DIR): Likewise.
17085 (ATTR_LNK): Likewise.
17086 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
17087 (grub_cpio_find_file): Fill mode, handle linkname field as well as
17088 L and K entries.
17089 (grub_cpio_mount): Zero-fill data.
17090 (handle_symlink): New function.
17091 (grub_cpio_dir): Handle symlinks.
17092 (grub_cpio_open): Likewise.
17093 (grub_cpio_close) [MODE_USTAR]: Free linkname.
17094
17095 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17096
17097 Fix iso9660 filename limitations and fix memory leaks.
17098
17099 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
17100 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
17101
17102 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17103
17104 Fix JFS file name length limitations.
17105
17106 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
17107 (grub_jfs_diropen): Fix maximum filename length.
17108 (grub_jfs_getent): Fix filename length.
17109 (grub_jfs_lookup_symlink): Fix size checks.
17110
17111 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
17114 string.
17115
17116 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17117
17118 Leverage BFS implementation to read AFS.
17119
17120 * Makefile.util.def (libgrubmods): Add afs.c.
17121 * grub-core/Makefile.core.def (afs): New module
17122 * grub-core/fs/afs.c: New file.
17123 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
17124
17125 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
17128
17129 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 * grub-core/fs/bfs.c: Run indent.
17132
17133 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 BFS implementation based on the specification.
17136
17137 * grub-core/fs/bfs.c: New file.
17138 * Makefile.util.def (libgrubmods): Add bfs.c.
17139 * grub-core/Makefile.core.def (bfs): New module.
17140
17141 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * util/grub-fstest.c (cmd_cp): Clarify error message.
17144 (cmd_cmp): Likewise.
17145
17146 2011-10-30 Yves Blusseau <blusseau@zetam.org>
17147
17148 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
17149 and befs_be.
17150
17151 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 Remove afs and befs because of copyright problem.
17154
17155 * grub-core/fs/afs.c: Removed.
17156 * grub-core/fs/afs_be.c: Removed.
17157 * grub-core/fs/befs.c: Removed.
17158 * grub-core/fs/befs_be.c: Removed.
17159 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
17160 * grub-core/Makefile.core.def (afs): Removed.
17161 (afs_be): Likewise.
17162 (befs): Likewise.
17163 (befs_be): Likewise.
17164
17165 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 Prefer rockridge over Joliet.
17168
17169 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
17170 to ...
17171 (set_rockridge): ... here.
17172 (grub_iso9660_mount): Check rockridge on the primary label when
17173 discovering. Ignore Joliet if Rockridge is present.
17174
17175 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 Use shifts in nilfs2.
17178
17179 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
17180 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
17181 (grub_nilfs2_palloc_entries_per_group): Replace with ...
17182 (grub_nilfs2_log_palloc_entries_per_group): ... this.
17183 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
17184 (grub_nilfs2_entries_per_block): Replaced with ...
17185 (grub_nilfs2_log_entries_per_block_log): ... this.
17186 (grub_nilfs2_blocks_per_group): Replaced with ...
17187 (grub_nilfs2_blocks_per_group_log): ... this.
17188 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
17189 (grub_nilfs2_blocks_per_desc_block_log): ... this.
17190 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
17191 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
17192 (grub_nilfs2_palloc_entry_offset): Replaced ...
17193 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
17194 (grub_nilfs2_dat_translate): Use shifts.
17195 (grub_nilfs2_read_inode): Likewise.
17196 (GRUB_MOD_INIT): Ensure that logs are correct.
17197
17198 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 Use shifts in minix filesystem.
17201
17202 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
17203 (GRUB_MINIX_ZONE2SECT): Likewise.
17204 (grub_minix_data): Replace block_size with log_block_size.
17205 (grub_minix_read_file): Use shifts.
17206 (grub_minix_mount): Check block size and take a logarithm.
17207
17208 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17209
17210 Use shifts in squash4.
17211
17212 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
17213 (squash_mount): Check block size and take logarithm.
17214 (direct_read): Use shifts.
17215
17216 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17217
17218 Correct befs block counting logic.
17219
17220 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
17221 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
17222 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
17223 (grub_afs_read_inode): Use block_shift.
17224 (RANGE_SHIFT): New definition.
17225 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
17226 unexpected conditions, use shifts and appropriate types.
17227 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
17228
17229 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 * grub-core/disk/raid.c (scan_devices): Check partition.
17232 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17233
17234 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 Support BFS (befs) UUID.
17237
17238 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
17239 (grub_afs_small_data_element_header): New struct.
17240 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
17241 (grub_afs_read_attribute) [MODE_BFS]: New function.
17242 (grub_afs_iterate_dir): Allocate for complete inode.
17243 (grub_afs_mount): Likewise.
17244 (grub_afs_uuid) [MODE_BFS]: New function.
17245 (grub_afs_fs) [MODE_BFS]: Add .uuid.
17246
17247 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17250 (zfs_unmount): Fix memory leak.
17251
17252 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17253
17254 Support NTFS reparse points.
17255
17256 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17257 (symlink_descriptor): New struct.
17258 (grub_ntfs_read_symlink): New function.
17259 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17260 (grub_ntfs_open): Likewise.
17261
17262 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17265
17266 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 fstest xnu_uuid subcommand.
17269
17270 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17271 grub-core/commands/xnu_uuid.c.
17272 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17273 (fstest): Handle xnu_uuid.
17274 (options): Document xnu_uuid.
17275 (argp_parser): Parse xnu_uuid.
17276
17277 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17280 -l argument. Add newline at the end if printing.
17281 (GRUB_MOD_INIT): Document -l.
17282
17283 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17286
17287 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 ZFS multi-device and version 33 support.
17290
17291 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17292 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17293 (grub_zfs_data): Add multidev-ice-related fields.
17294 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17295 (dva_get_offset): Make dva const.
17296 (zfs_fetch_nvlist): New function.
17297 (fill_vdev_info_real): Likewise.
17298 (fill_vdev_info): Likewise.
17299 (check_pool_label): Likewise.
17300 (scan_disk): Likewise.
17301 (scan_devices): Likewise.
17302 (read_device): Likewise.
17303 (read_dva): Likewise.
17304 (zio_read_gang): Use read_dva.
17305 (zio_read_data): Likewise.
17306 (zap_leaf_lookup): Add missing endian conversion.
17307 (zap_verify): Add missing endian conversion. All users updated.
17308 (fzap_lookup): Likewise.
17309 (fzap_iterate): Likewise.
17310 (dnode_get_path): Handle SA bonus.
17311 (nvlist_find_value): Make input const. All users updated.
17312 (unmount_device): New function.
17313 (zfs_unmount): Use unmount_device.
17314 (zfs_mount): Use scan_disk.
17315 (zfs_mtime): New function.
17316 (grub_zfs_open): Handle system attributes.
17317 (fill_fs_info): Likewise.
17318 (grub_zfs_dir): Likewise.
17319 (grub_zfs_fs): Add mtime.
17320 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17321 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17322 (SA_MTIME_OFFSET): Likewise.
17323 (SA_SYMLINK_OFFSET): Likewise.
17324 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17325 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17326 (fstest): Support zfsinfo.
17327 (argp_parser): Likewise.
17328
17329 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17330
17331 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17332 error.
17333
17334 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 ZFS fixes.
17337
17338 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17339 sharing the same block. Iterate over correct number of indices.
17340 (dnode_get_path): Handle symlinks correctly.
17341
17342 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17345
17346 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 Read label on HFS+.
17349
17350 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17351 (grub_hfsplus_btree_search): Fix types.
17352 (grub_hfsplus_label): Implement.
17353
17354 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17355
17356 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17357
17358 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17361
17362 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17363
17364 Fix symlink handling on iso9660.
17365
17366 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17367 All users updated.
17368 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17369 (grub_iso9660_read_symlink): Moved most of code ...
17370 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17371
17372 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17375 Use union to avoid breaking strict-aliasing rules.
17376
17377 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 Support multi-extent iso files.
17380
17381 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17382 Add node.
17383 (grub_fshelp_node): Revamp. All users updated.
17384 (FLAG_*): New enum.
17385 (read_node): New function.
17386 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17387 All users updated.
17388 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17389 (get_node_size): New function.
17390 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17391 entries.
17392 Fix memory leak on . and ..
17393 (grub_iso9660_read): Use read_node.
17394 (grub_iso9660_close): Free node.
17395
17396 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17397
17398 Fix tar 4G limit and handle paths containing dot.
17399
17400 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17401 (canonicalize): New function.
17402 (grub_cpio_find_file): Use canonicalize. Store offs in
17403 grub_disk_addr_t.
17404 (grub_cpio_dir): Use grub_disk_addr_t.
17405 (grub_cpio_open): Likewise.
17406
17407 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17410
17411 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17412 unused flags.
17413 (grub_squash_inode): Add long_file and block_size.
17414 (grub_squash_cache_inode): New struct.
17415 (grub_squash_dirent): Make types into enum.
17416 (SQUASH_TYPE_LONG_REGULAR): New type.
17417 (grub_squash_frag_desc): Add field size.
17418 (SQUASH_BLOCK_FLAGS): New enum.
17419 (grub_squash_data): Use grub_squash_cache_inode.
17420 (grub_fshelp_node): Make ino_chunk 64-bit.
17421 (read_chunk): Minor argument change. All users updated.
17422 (squash_mount): Use correct le_to_cpu.
17423 (grub_squash_open): Handle LONG_REGULAR.
17424 (direct_read): New function.
17425 (grub_squash_read_data): Handle blocks correctly.
17426
17427 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17428
17429 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17430
17431 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17434
17435 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 Fix 2G limit on ZFS.
17438
17439 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17440 types.
17441 (uberblock_verify): Likewise.
17442 (dmu_read): Likewise.
17443 (grub_zfs_read): Likewise. Remove invalid cast.
17444
17445 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17448 (grub_jfs_blkno): Fix incorrect shift.
17449 (grub_jfs_read_file): Use more appropriate types.
17450
17451 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 Support triple indirect on minix2 and minix3.
17454
17455 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17456 Declare triple_indir_zone.
17457 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17458 indirect.
17459
17460 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17461
17462 Minix FS fixes.
17463
17464 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17465 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17466 Rename ctime to mtime. All users updated.
17467 (grub_minix_get_file_block): Fix types and double indirect computations.
17468
17469 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17470
17471 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17472 if no label is found.
17473 (grub_fat_iterate_dir): Fix file size type.
17474 (grub_fat_iterate_dir): Likewise.
17475
17476 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17479 save some space.
17480 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17481 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17482
17483 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17486
17487 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 * util/import_gcry.py: Accept space between # and include.
17490
17491 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17494
17495 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17498
17499 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17500 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17501 yylex_strncpy.
17502 * grub-core/script/yylex.l: Add fine-grained #pragma.
17503
17504 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17507 New inline function.
17508 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17509 Likewise.
17510 (memset) [GRUB_UTIL]: Likewise.
17511 (memcmp) [GRUB_UTIL]: Likewise.
17512
17513 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17514
17515 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17516 inline function rather than a define.
17517
17518 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * util/grub-setup.c: Add missing include.
17521
17522 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17523
17524 * util/ieee1275/grub-ofpathname.c: Add missing include.
17525
17526 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17527
17528 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17529 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17530 Likewise.
17531
17532 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17535 grub_memcmp usage.
17536
17537 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17538
17539 * util/grub-install.in: Add datarootdir as per automake manual
17540 suggestion.
17541 * util/grub-mknetdir.in: Likewise.
17542
17543 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17544
17545 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17546 suggestion.
17547 * util/grub.d/10_kfreebsd.in: Likewise.
17548 * util/grub.d/10_linux.in: Likewise.
17549 * util/grub.d/10_netbsd.in: Likewise.
17550 * util/grub.d/10_windows.in: Likewise.
17551 * util/grub.d/20_linux_xen.in: Likewise.
17552
17553 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17554
17555 Remove redundant grub_kernel_image_size.
17556
17557 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17558 _edata and _start.
17559 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17560 the small code. It moves it only by few bytes but simplifies the code.
17561 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17562 _start.
17563 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17564 (grub_kernel_image_size): Removed.
17565 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17566 (grub_kernel_image_size): Removed.
17567 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17568 compiled with Apple toolchain.
17569 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17570 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17571 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17572 (grub_total_module_size): Likewise.
17573 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17574 Removed.
17575 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17576 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17577 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17578 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17579 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17580 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17581 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17582 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17583 Removed.
17584 (grub_total_module_size): Removed.
17585 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17586 (image_targets): Likewise.
17587 Set .compressed_size to no field on sparc.
17588 (generate_image): Remove kernel_image_size handling.
17589
17590 2011-10-19 Szymon Janc <szymon@janc.net.pl>
17591
17592 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17593 NULL pointer dereference.
17594
17595 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17596
17597 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17598 done with a dedicated section.
17599
17600 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17601 Ensure the correct position of boot_path.
17602 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17603 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17604 other fields.
17605 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17606 * include/grub/boot.h: Removed. All references removed.
17607 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17608 Removed.
17609 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17610
17611 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17612
17613 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17614 name.
17615
17616 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17617
17618 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17619
17620 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17623 Don't add the bogus brackets.
17624
17625 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 ExFAT support.
17628
17629 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17630 * grub-core/Makefile.core.def (exfat): New module.
17631 * grub-core/fs/exfat.c: New file.
17632 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17633 (GRUB_FAT_ATTR_*): Make into an enum.
17634 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17635 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17636 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17637 (GRUB_FAT_MAXFILE): Removed.
17638 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17639 (grub_current_fat_bpb_t): New type.
17640 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17641 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17642 (grub_fat_dir_node_t): New type.
17643 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17644 (fat_log2) [MODE_EXFAT]: Removed.
17645 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17646 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17647 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17648 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17649 (grub_fat_label) [MODE_EXFAT]: New function.
17650 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17651 reserved_first_sector to 0.
17652
17653 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17654
17655 Move grub_reboot out of the kernel.
17656
17657 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17658 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17659 * grub-core/lib/efi/reboot.c: ... here.
17660 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17661 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17662 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17663 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17664 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17665 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17666 * grub-core/lib/ieee1275/reboot.c: ... here.
17667 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17668 * grub-core/lib/mips/arc/reboot.c: ... here.
17669 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17670 * grub-core/lib/mips/loongson/reboot.c: ...here.
17671 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17672 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17673 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17674 * include/grub/i386/reboot.h: New file.
17675 * include/grub/mips/loongson/ec.h: Fix includes.
17676 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17677 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17678 * grub-core/lib/i386/reboot.c: New file.
17679
17680 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 Make grub_prefix into module to fix the arbitrary limit and save
17683 some space.
17684
17685 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17686 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17687 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17688 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17689 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17690 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17691 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17692 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17693 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17694 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17695 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17696 * include/grub/ia64/efi/kernel.h: Removed.
17697 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17698 (grub_prefix): Removed.
17699 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17700 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17701 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17702 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17703 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17704 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17705 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17706 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17707 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17708 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17709 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17710 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17711 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17712 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17713 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17714 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17715 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17716 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17717 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17718 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17719 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17720 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17721 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17722 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17723 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17724 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17725 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17726 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17727 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17728 from module.
17729 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17730 prefix_end.
17731 (image_targets): Likewise.
17732 (generate_image): Put prefix as a module.
17733
17734 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 Replace grub_module_iterate with FOR_MODULES.
17737
17738 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17739 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17740 (grub_efi_modules_addr): ...this.
17741 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17742 (grub_efi_init): Set grub_modbase.
17743 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17744 (grub_modbase): New variable.
17745 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17746 (grub_modbase): New variable.
17747 (grub_machine_init): Set grub_modbase.
17748 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17749 (grub_modbase): New variable.
17750 (grub_machine_init): Set grub_modbase.
17751 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17752 (grub_modbase): New variable.
17753 (grub_machine_init): Set grub_modbase.
17754 * grub-core/kern/main.c (grub_module_iterate): Remove.
17755 (grub_modules_get_end): Use grub_modbase.
17756 (grub_load_modules): Use FOR_MODULES.
17757 (grub_load_config): Likewise.
17758 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17759 (grub_modbase): New variable.
17760 (grub_machine_init): Set grub_modbase.
17761 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17762 (grub_modbase): New variable.
17763 (grub_machine_init): Set grub_modbase.
17764 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17765 Removed.
17766 (grub_modbase): New variable.
17767 (grub_machine_init): Set grub_modbase.
17768 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17769 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17770 (grub_module_iterate): Likewise.
17771 (grub_modbase): New variable declaration.
17772 (FOR_MODULES): New macro.
17773
17774 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17775
17776 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17777 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17778
17779 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 Fix few obvious type discrepancies.
17782
17783 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17784 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17785 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17786 variable.
17787 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17788 and connected types.
17789 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17790 offset.
17791 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17792 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17793 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17794 and connected types.
17795
17796 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 Fix python 3.x incompatibilities.
17799
17800 * gentpl.py: Put brackets around print strings.
17801 * util/import_gcry.py: Open explicitly as utf-8.
17802 Use in instead of has_key.
17803
17804 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17807 (GRUB_XFS_INO_AGBITS): Make into inline function.
17808 (GRUB_XFS_INO_INOINAG): Likewise.
17809 (GRUB_XFS_INO_AG): Likewise.
17810 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17811 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17812 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17813 (GRUB_XFS_EXTENT_SIZE): Likewise.
17814 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17815 (GRUB_XFS_NEXT_DIRENT): Likewise.
17816 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17817 (grub_xfs_read_file): Fix offset type.
17818
17819 2011-10-15 Robert Millan <rmh@gnu.org>
17820
17821 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17822
17823 2011-10-15 Robert Millan <rmh@gnu.org>
17824
17825 Fix build problem on FreeBSD and GNU/kFreeBSD.
17826
17827 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17828
17829 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17832
17833 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17834 types.
17835 (grub_hfsplus_btree_recoffset): Likewise.
17836 (grub_hfsplus_btree_recptr): Likewise.
17837 (grub_hfsplus_find_block): Likewise.
17838 (grub_hfsplus_btree_search): Likewise.
17839 (grub_hfsplus_read_block): Likewise.
17840 (grub_hfsplus_read_file): Likewise.
17841 (grub_hfsplus_mount): Likewise.
17842 (grub_hfsplus_btree_iterate_node): Likewise.
17843 (grub_hfsplus_btree_search): Likewise.
17844 (grub_hfsplus_iterate_dir): Likewise.
17845 (grub_hfsplus_read): A small code simplification.
17846
17847 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17848
17849 * grub-core/kern/emu/hostdisk.c
17850 (convert_system_partition_to_system_disk): Don't assume that children
17851 of mapper nodes are mapper nodes.
17852
17853 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17854
17855 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17856 * include/grub/misc.h (grub_isxdigit): New function.
17857 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17858 switched to grub_isxdigit.
17859 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17860 number starting with a letter.
17861
17862 2011-10-09 Robert Millan <rmh@gnu.org>
17863
17864 LVM support for FreeBSD and GNU/kFreeBSD.
17865
17866 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17867 GNU/kFreeBSD.
17868 (LVM_DEV_MAPPER_STRING): Move from here ...
17869 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17870 * util/getroot.c: Include `<grub/util/lvm.h>'.
17871 (grub_util_get_dev_abstraction): Enable
17872 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17873 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17874 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17875 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17876 support it.
17877 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17878 GNU/kFreeBSD.
17879 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17880 when LVM abstraction is required for ${GRUB_DEVICE}.
17881
17882 2011-10-06 Szymon Janc <szymon@janc.net.pl>
17883
17884 Add support for LZO compression in GRUB:
17885 - import of minilzo library,
17886 - LZO decompression for btrfs,
17887 - lzop files decompression.
17888
17889 * grub-core/io/lzopio.c: New file.
17890 * grub-core/lib/adler32.c: Likewise.
17891 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17892 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17893 * grub-core/lib/minilzo/minilzo.c: Likewise.
17894 * grub-core/lib/minilzo/minilzo.h: Likewise.
17895 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17896 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17897 grub-core/lib/minilzo/minilzo.c to common.
17898 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17899 cflags in cppflags.
17900 * grub-core/Makefile.core.def (btrfs): Likewise.
17901 * grub-core/Makefile.core.def (lzopio): New module.
17902 (adler32): Likewise.
17903 * grub-core/fs/btrfs.c: Include minilzo.h.
17904 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17905 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17906 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17907 (grub_btrfs_lzo_decompress): New function.
17908 (grub_btrfs_extent_read): Add support for LZO compression type.
17909 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17910 (GRUB_USHRT_MAX): Likewise.
17911 (GRUB_UINT_MAX): Likewise.
17912 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17913 (UINT_MAX): Likewise.
17914 (CHAR_BIT): Likewise.
17915 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17916 grub-core/lib/posix_wrap/limits.h
17917 (UCHAR_MAX): Likewise.
17918 * include/grub/file.h (grub_file_filter_id): New compression filter
17919 GRUB_FILE_FILTER_LZOPIO.
17920 * include/grub/file.h (grub_file_filter_id): Set
17921 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17922 * include/grub/types.h (grub_get_unaligned16): New function.
17923 (grub_get_unaligned32): Likewise.
17924 (grub_get_unaligned64): Likewise.
17925 * util/import_gcry.py (cryptolist): Add adler32.
17926
17927 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17930 in perspective decreases the complexity of build system and fixes
17931 compilation right now.
17932
17933 2011-10-01 Ales Nesrsta <starous@volny.cz>
17934
17935 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17936 (fixed problem related to using UHCI with coreboot).
17937
17938 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17939
17940 * gentpl.py: Use Autogen macros so that the output template file
17941 (Makefile.tpl) size is reduced.
17942
17943 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
17944
17945 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17946 extra_dist.
17947
17948 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17949
17950 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17951 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17952
17953 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17954
17955 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17956 _fullpath.
17957
17958 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17959
17960 Remove extra declaration of sleep for mingw32.
17961
17962 * util/misc.c (sleep) [__MINGW32__]: Removed.
17963 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17964
17965 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17966
17967 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17968 type and packname.
17969 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17970 Resurrected.
17971 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17972 (grub_netbsd_btinfo_bootwedge): New struct.
17973 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17974 New function.
17975 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17976
17977 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17978
17979 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17980 loader.
17981
17982 2011-09-28 Andreas Born <futur.andy@googlemail.com>
17983
17984 Fix incorrect identifiers in bash-completion.
17985
17986 * util/bash-completion.d/grub-completion.bash.in
17987 (_grub_mkpasswd-pbkdf2): Rename to ...
17988 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17989 (_grub_script-check): Rename to ...
17990 (_grub_script_check): ... this. All users updated.
17991
17992 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17993
17994 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17995 Return 0 if disk isn't biosdisk.
17996
17997 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17998
17999 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
18000 on NetBSD.
18001 * Makefile.util.def (grub-fstest): Likewise.
18002
18003 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
18004
18005 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
18006 Get sector size from disk label.
18007
18008 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
18009
18010 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
18011 */README* as well as README*.
18012 Reported by: Axel Beckert.
18013
18014 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
18017 case of less than 256 MiB of RAM.
18018
18019 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 * grub-core/commands/wildcard.c (make_regex): Handle @.
18022
18023 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 * util/grub-install.in: Move cryptodisk logic to appropriate place.
18026
18027 2011-08-21 Szymon Janc <szymon@janc.net.pl>
18028
18029 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
18030 AC_LANG_CONFTEST macros.
18031
18032 2011-08-20 Szymon Janc <szymon@janc.net.pl>
18033
18034 Add grub-fstest option to uncompress data for commands.
18035
18036 * util/grub-fstest.c (uncompress): New var.
18037 (options): New option -u.
18038
18039 2011-08-20 Szymon Janc <szymon@janc.net.pl>
18040
18041 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
18042 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
18043
18044 2011-08-20 Szymon Janc <szymon@janc.net.pl>
18045
18046 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
18047 file type was not recognized correctly (not gzip or corrupted).
18048
18049 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
18052 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
18053
18054 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18055
18056 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
18057 loongson.
18058 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18059 video_radeon_fuloong2e.
18060 * grub-core/video/radeon_fuloong2e.c: New file.
18061 * include/grub/video.h (grub_video_id_t): Add new ID
18062 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
18063
18064 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
18067 define.
18068 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
18069 that PRID matches the detected subplatform and reset the subplatform
18070 if it doesn't.
18071
18072 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18073
18074 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
18075
18076 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18077
18078 Fix PCI iterating on functions >= 4.
18079
18080 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
18081 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
18082 Removed.
18083 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
18084 (grub_pci_read): Fix bitmask.
18085 (grub_pci_read_word): Likewise.
18086 (grub_pci_read_byte): Likewise.
18087 (grub_pci_write): Likewise.
18088 (grub_pci_write_word): Likewise.
18089 (grub_pci_write_byte): Likewise.
18090
18091 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
18094 can still be specified in TARGET_CFLAGS)
18095
18096 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
18099
18100 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
18101 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
18102 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
18103 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
18104 (FULOONG): Rename to ...
18105 (FULOONG2F): ... this. All users updated.
18106 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
18107 (machtype_fuloong2f_str): ... this.
18108 (machtype_fuloong2e_str): New string.
18109 Check for machtype_fuloong2e_str.
18110 * grub-core/loader/mips/linux.c (loongson_machtypes)
18111 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
18112 * grub-core/term/serial.c (loongson_defserial)
18113 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
18114 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
18115 loongson_defserial.
18116 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
18117 Rename to ...
18118 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
18119 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
18120 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
18121 to IMAGE_FULOONG2F_FLASH. All users updated.
18122 (image_targets): Rename images.
18123 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
18124
18125 2011-08-19 Szymon Janc <szymon@janc.net.pl>
18126
18127 Make enable of disk cache statistics code configurable.
18128
18129 * configure.ac: --enable-cache-stats added.
18130 * config.h.in (DISK_CACHE_STATS): New define.
18131 * grub-core/Makefile.core.def (cacheinfo): New command.
18132 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
18133 * grub-core/commands/cacheinfo.c: New file.
18134 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
18135 moved to cacheinfo.c.
18136 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
18137 debug code.
18138 * include/grub/disk.h: Likewise.
18139
18140 2011-08-19 Szymon Janc <szymon@janc.net.pl>
18141
18142 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
18143 * grub-core/Makefile.am: Likewise.
18144
18145 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18146
18147 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
18148 non-zero pull.
18149
18150 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18151
18152 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
18153 All users updated.
18154 (grub_jfs_lookup_symlink): Use correct starting inode.
18155
18156 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * util/grub-setup.c (main): Add missing gcry initialisation.
18159
18160 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 Don't accept text modes on EFI when booting Linux.
18163
18164 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
18165 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
18166
18167 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
18168 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
18169
18170 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
18171 use of "/path/.." as in grub-install for EFI as well as handling
18172 symlinks correctly.
18173 Fixes Debian bug #637768.
18174
18175 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
18176
18177 * util/grub-probe.c: Remove duplicate #include.
18178
18179 2011-08-10 Robert Millan <rmh@gnu.org>
18180
18181 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
18182
18183 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
18184 function.
18185 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
18186 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
18187
18188 2011-08-03 Robert Millan <rmh@gnu.org>
18189
18190 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
18191 la_array as packed.
18192 Reported by: Zachary Bedell
18193
18194 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18195
18196 * configure.ac: The Loongson port requires grub-mkfont due to its
18197 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
18198 be built.
18199
18200 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18201
18202 * util/grub-install.in: Don't source grub-mkconfig_lib until after
18203 processing arguments (otherwise help2man fails when GRUB has not yet
18204 been installed).
18205
18206 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 New script grub-mkstandalone.
18209
18210 * Makefile.util.def (grub-mkstandalone): New script.
18211 * docs/man/grub-mkstandalone.h2m: New file.
18212 * util/grub-mkstandalone.in: Likewise.
18213
18214 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 Support ATA disks with 4K sectors.
18217
18218 * include/grub/ata.h (grub_ata): New member log_sector_size.
18219 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
18220 (grub_ata_identify): Read sector size.
18221 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
18222
18223 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 * util/grub-install.in: Don't use uhci outside of x86.
18226
18227 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 * util/grub-mkrescue.in: Add missing quotes.
18230
18231 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
18234 dereference.
18235
18236 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
18239
18240 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 * include/grub/video.h: add missing EXPORT_FUND on
18243 grub_video_edid_checksum and grub_video_edid_preferred_mode.
18244
18245 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18246
18247 * include/grub/mips/kernel.h: Fix define conflict.
18248
18249 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18252 all four ways.
18253
18254 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
18255
18256 Preferred resolution detection for VBE.
18257
18258 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18259 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18260 the Flat Panel extension, in line with the X.org VESA driver.
18261 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18262 New function.
18263 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18264 (grub_vbe_bios_read_edid): Likewise.
18265 (grub_vbe_get_preferred_mode): Likewise.
18266 (grub_video_vbe_setup): When the mode is "auto", try to get the
18267 preferred mode from VBE, and use the largest mode that is no larger
18268 than the preferred mode (some BIOSes expose a preferred mode that is
18269 not in their mode list!). If this fails, fall back to 640x480 as a
18270 safe conservative choice.
18271 (grub_video_vbe_get_edid): New function.
18272 (grub_video_vbe_adapter): Add get_edid.
18273 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18274 (struct grub_video_adapter): Add get_edid.
18275 (grub_video_edid_checksum): Add prototype.
18276 (grub_video_edid_preferred_mode): Likewise.
18277 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18278 structure.
18279
18280 * grub-core/commands/videoinfo.c (print_edid): New function.
18281 (grub_cmd_videoinfo): Print EDID if available.
18282
18283 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18284 is more appropriate on a wider range of platforms than 640x480.
18285 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18286 documentation.
18287
18288 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18291
18292 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 * po/POTFILES.in: Regenerate.
18295
18296 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18297
18298 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18299 incorrect memory usage.
18300
18301 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18302
18303 * util/grub-install.in: Source grub-mkconfig_lib.
18304
18305 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18306
18307 Remove getroot.c from core on emu platform.
18308
18309 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18310 kern/emu/raid.c.
18311 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18312 useless.
18313 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18314 * util/getroot.c (get_win32_path): ... here.
18315 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18316 * util/getroot.c (fini_libzfs): ... here.
18317 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18318 * util/getroot.c (grub_get_libzfs_handle): ... here.
18319 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18320 Moved from here...
18321 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18322 * grub-core/kern/emu/misc.c
18323 (grub_make_system_path_relative_to_its_root): Moved from here...
18324 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18325 * grub-core/kern/emu/getroot.c: Moved from here ...
18326 * util/getroot.c: ... here. All users updated.
18327 * grub-core/kern/emu/raid.c: Moved from here ...
18328 * util/raid.c: ... here. All users updated.
18329
18330 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 * po/POTFILES.in: Regenerate.
18333
18334 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 Fix compilation on GNU/Linux.
18337
18338 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18339 Disable geli.
18340 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18341 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18342 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18343
18344 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18345 2011-07-07 Michael Gorven <michael@gorven.za.net>
18346 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18347
18348 LUKS and GELI support.
18349
18350 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18351 grub-core/disk/luks.c, grub-core/disk/geli.c,
18352 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18353 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18354 grub-core/lib/arg.c.
18355 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18356 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18357 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18358 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18359 (grub-bin2h): Add libgcry.a.
18360 (grub-mkimage): Likewise.
18361 (grub-mkrelpath): Likewise.
18362 (grub-script-check): Likewise.
18363 (grub-editenv): Likewise.
18364 (grub-mkpasswd-pbkdf2): Likewise.
18365 (grub-pe2elf): Likewise.
18366 (grub-fstest): Likewise.
18367 (grub-mkfont): Likewise.
18368 (grub-mkdevicemap): Likewise.
18369 (grub-probe): Likewise.
18370 (grub-ofpath): Likewise.
18371 (grub-mklayout): Likewise.
18372 (example_unit_test): Likewise.
18373 (grub-menulst2cfg): Likewise.
18374 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18375 * grub-core/Makefile.core.def (cryptodisk): New module.
18376 (luks): Likewise.
18377 (geli): Likewise.
18378 * grub-core/disk/AFSplitter.c: New file.
18379 * grub-core/disk/cryptodisk.c: Likewise.
18380 * grub-core/disk/geli.c: Likewise.
18381 * grub-core/disk/luks.c: Likewise.
18382 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18383 grub_util_is_lvm.
18384 (grub_util_get_dm_abstraction): New function.
18385 (grub_util_follow_gpart_up): Likewise.
18386 (grub_util_get_geom_abstraction): Likewise.
18387 (grub_util_get_dev_abstraction): Use new functions.
18388 (grub_util_pull_device): Pull GELI and LUKS.
18389 (grub_util_get_grub_dev): Handle LUKS and GELI.
18390 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18391 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18392 (follow_geom_up): Removed.
18393 (grub_util_fd_seek): New function.
18394 (open_device): Use grub_util_fd_seek.
18395 (nread): Rename to ..
18396 (grub_util_fd_read): ... this. All users updated.
18397 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18398 (grub_crypto_cbc_decrypt): Likewise.
18399 (grub_crypto_hmac_write): Likewise.
18400 (grub_crypto_hmac_buffer): Likewise.
18401 (grub_password_get): Extend to util.
18402 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18403 New member modname.
18404 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18405 * include/grub/cryptodisk.h: New file.
18406 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18407 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18408 LUKS and GELI.
18409 (grub_util_follow_gpart_up): New proto.
18410 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18411 (grub_util_fd_read): Likewise.
18412 (grub_cryptodisk_cheat_mount): Likewise.
18413 (grub_util_cryptodisk_print_uuid): Likewise.
18414 (grub_util_get_fd_sectors): Likewise.
18415 * util/grub-fstest.c (mount_crypt): New var.
18416 (fstest): Mount crypto if requested.
18417 (options): New option -C.
18418 (argp_parser): Parse -C.
18419 (main): Init and fini gcry.
18420 * util/grub-install.in: Support cryptodisk install.
18421 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18422 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18423 cryptodisk.
18424 (prepare_grub_to_access_device): Likewise.
18425 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18426 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18427 (probe_cryptodisk_uuid): New function.
18428 (probe_abstraction): Likewise.
18429 (probe): Use new functions.
18430 * util/import_gcry.py: Create Makefile.utilgcry.def.
18431 Add modname member.
18432
18433 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18434
18435 Lazy device scanning.
18436
18437 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18438 (grub-setup): Remove util/raid.c.
18439 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18440 * grub-core/disk/lvm.c (scan_depth): New variable.
18441 (grub_lvm_iterate): Rescan if necessary.
18442 (find_lv): New function based on grub_lvm_open.
18443 (grub_lvm_open): Use find_lv. Rescan on error.
18444 (is_node_readable): New function.
18445 (is_lv_readable): Likewise.
18446 (grub_lvm_scan_device): Skip already found disks.
18447 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18448 Stop if searched device is found and readable.
18449 * grub-core/disk/raid.c (inscnt): New variable.
18450 (scan_depth): Likewise.
18451 (scan_devices): New function based on grub_raid_register. Abort if
18452 looked for device is found.
18453 (grub_raid_iterate): Rescan if needed.
18454 (find_array): NEw function based on -grub_raid_open.
18455 (grub_raid_open): Use find_array and rescan.
18456 (insert_array): Set became_readable_at.
18457 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18458 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18459 New function.
18460 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18461 (grub_util_pull_device): New function.
18462 (grub_util_get_grub_dev): Call grub_util_pull_device.
18463 * util/raid.c: Moved to ..
18464 * grub-core/kern/emu/raid.c: ... here.
18465 (grub_util_raid_getmembers): New parameter "bootable".
18466 All users updated. Support 1.x.
18467 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18468 All users updated.
18469 * include/grub/disk.h (grub_disk_pull_t): New enum.
18470 (grub_disk_dev): Change iterate prototype.
18471 All users updated.
18472 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18473 New proto.
18474 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18475 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18476 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18477 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18478 All users updated.
18479 * include/grub/util/raid.h: Removed.
18480
18481 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18482
18483 * po/POTFILES.in: Regenerate.
18484
18485 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18486
18487 Unify sparc init with other ieee1275.
18488
18489 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18490 instead of kern/sparc64/ieee1275/init.c.
18491 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18492 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18493 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18494 grub/machine/kernel.h.
18495 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18496 (grub_claim_heap) [__sparc__]: Use sparc version.
18497 (grub_machine_init): Moved args parsing to
18498 (grub_parse_cmdline): ...this.
18499 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18500 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18501 New definition.
18502 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18503
18504 Move BOOTP to separate file.
18505
18506 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18507 * grub-core/net/net.c: Move all BOOTP functions to
18508 * grub-core/net/bootp.c: ... here.
18509
18510 Use frame interface on PXE.
18511
18512 * grub-core/Makefile.core.def (pxecmd): Removed.
18513 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18514 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18515 * grub-core/i386/pc/pxe.c: Moved from here ...
18516 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18517 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18518 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18519
18520 EFI network support.
18521
18522 * grub-core/Makefile.core.def (efinet): New module.
18523 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18524 here...
18525 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18526 All users updated.
18527 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18528 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18529 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18530 * grub-core/net/drivers/efi/efinet.c: New file.
18531 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18532 (grub_efi_net_config): New extern var.
18533
18534 Various cleanups and bugfixes.
18535
18536 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18537 error.
18538 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18539 disk declared as partition.
18540 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18541 leak on failure.
18542 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18543 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18544 (grub_debug_zalloc): Likewise.
18545 (grub_debug_realloc): Likewise.
18546 (grub_debug_memalign): Likewise.
18547 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18548 Check that target is IPv4.
18549 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18550 local-mac-address as fallback.
18551 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18552 memory leak.
18553 * grub-core/net/ip.c (ipchksum): Rename to ...
18554 (grub_net_ip_chksum): ... this. All users updated.
18555 (grub_net_recv_ip_packets): Special handling for DHCP.
18556 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18557
18558 Unify prefix handling
18559
18560 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18561 (grub_machine_get_bootlocation): ... this.
18562 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18563 (grub_machine_get_bootlocation): ... this.
18564 (grub_prefix): New variable.
18565 (prefix): Removed.
18566 (root_dev): New variable.
18567 (dir): Likewise.
18568 (main): Use new variables.
18569 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18570 Revamped into ...
18571 (grub_machine_get_bootlocation): ... this.
18572 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18573 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18574 (grub_machine_get_bootlocation): ... this.
18575 (grub_machine_set_prefix): Removed.
18576 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18577 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18578 Revamped into ...
18579 (grub_machine_get_bootlocation): ... this.
18580 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18581 (grub_set_prefix_and_root): ... this. All users updated.
18582 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18583 Revamped into ...
18584 (grub_machine_get_bootlocation): ... this.
18585 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18586 (grub_machine_get_bootlocation): New proto.
18587 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18588
18589 Less intrusive and more reliable seek on network implementation.
18590
18591 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18592 (grub_file_seek): Don't call grub_file_net_seek.
18593 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18594 (grub_net_fs_read_real): .. this.
18595 (grub_net_seek_real): Use net->offset.
18596 (grub_net_fs_read): Seek if necessary.
18597
18598 Unify IEEE1275 netwotk config with the other platforms.
18599
18600 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18601 New variable.
18602 (grub_machine_get_bootlocation): Support network.
18603 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18604 Support type and device parsing.
18605 (grub_ieee1275_get_device_type): New function.
18606 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18607 into ...
18608 (grub_ieee1275_net_config_real): ... this.
18609 (grub_ofnet_probecards): Removed.
18610 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18611 * include/grub/ieee1275/ofnet.h: Removed.
18612 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18613 extern var.
18614 (grub_ieee1275_get_device_type): New function.
18615
18616 Unify network device closing across platforms and make more robust.
18617
18618 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18619 grub_grubnet_fini.
18620 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18621 already.
18622 * grub-core/net/net.c (grub_net_network_level_interface_register):
18623 Update num_ifaces.
18624 (grub_net_card_unregister): Close all interfaces.
18625 (receive_packets): Don't poll if no iterfaces are registered.
18626 Open if necessary.
18627 (grub_net_fini_hw): New function.
18628 (grub_net_restore_hw): Likewise.
18629 (fini_hnd): New variable.
18630 (GRUB_MOD_INIT): Register preboot hook.
18631 (GRUB_MOD_FINI): Run and unregister preboot hook.
18632
18633 Poll network cards when idle.
18634
18635 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18636 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18637 * grub-core/net/net.c (receive_packets): Save last poll time.
18638 (grub_net_poll_cards_idle_real): New function.
18639 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18640 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18641 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18642
18643 Rename ofnet interfaces.
18644
18645 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18646 (grub_ofnet_findcards): Use ofnet_%s names.
18647
18648 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18649
18650 Cleanup socket opening.
18651
18652 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18653 (grub_net_fs_close): Likewise.
18654 (grub_net_fs_read_real): Use eof member.
18655 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18656 (+grub_net_udp_close): New inline function.
18657
18658 * include/grub/net/tftp.h: Moved to the top of ...
18659 * grub-core/net/tftp.c: ... here.
18660 * include/grub/net/ip.h: Moved mostly to the top of ...
18661 * grub-core/net/ip.c: ... here.
18662 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18663 * grub-core/net/ethernet.c: ... here.
18664
18665 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18666
18667 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18668 FS name.
18669
18670 * include/grub/net/ip.h (ipv4_ini): Removed.
18671 (ipv4_fini): Likewise.
18672
18673 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18674 (grub_net_send_ip_packets): Likewise.
18675
18676 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18679 grub_read_cmos prototype.
18680
18681 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 VGA text support in qemu-mips
18684
18685 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18686 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18687 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18688 text.
18689 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18690 * grub-core/kern/vga_init.c: ... this.
18691 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18692 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18693 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18694 Adjust.
18695 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18696 GRUB_MACHINE_PCI_IO_BASE.
18697
18698 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 MIPS qemu flash support.
18701
18702 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18703 magic.
18704 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18705 (grub_machine_init): Probe memory if its size isn't known.
18706 * util/grub-mkimage.c (image_targets): Add flash targets.
18707 (generate_image): Handle flash targets.
18708
18709 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18710
18711 MIPS qemu at_keyboard support.
18712
18713 * gentpl.py (videoinkernel): Add qemu-mips.
18714 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18715 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18716 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18717 modules.
18718 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18719 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18720 * grub-core/term/serial.c (grub_serial_register)
18721 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18722
18723 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18724
18725 CMOS support on sparc.
18726
18727 * gentpl.py (cmos): Add powerpc and sparc.
18728 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18729 powerpc and sparc.
18730 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18731 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18732 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18733 grub_set_datetime_cmos.
18734 * grub-core/lib/ieee1275/cmos.c: New file.
18735 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18736 (find_rtc): Set no_ieee1275_rtc on error.
18737 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18738 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18739 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18740 fail. Move value to argument. All users updated
18741 (grub_cmos_write): Likewise.
18742 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18743 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18744 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18745 grub_get_datetime_cmos and grub_set_datetime_cmos.
18746
18747 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18748
18749 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18750 sourcing grub-mkconfig_lib.
18751 * util/update-grub_lib.in: Likewise.
18752 * util/grub.d/00_header.in: Likewise.
18753 * util/grub.d/10_hurd.in: Likewise.
18754 * util/grub.d/10_kfreebsd.in: Likewise.
18755 * util/grub.d/10_linux.in: Likewise.
18756 * util/grub.d/10_netbsd.in: Likewise.
18757 * util/grub.d/10_windows.in: Likewise.
18758 * util/grub.d/20_linux_xen.in: Likewise.
18759 * util/grub.d/30_os-prober.in: Likewise.
18760
18761 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
18762
18763 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18764 default_bg_color rather than black.
18765 (grub_gfxterm_fullscreen): Likewise.
18766 (grub_gfxterm_background_color_cmd): Save new background color in
18767 default_bg_color.
18768
18769 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18772
18773 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18774
18775 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18776 mismerge.
18777
18778 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 Chainloading on coreboot support.
18781
18782 * grub-core/Makefile.core.def (chain): Add coreboot.
18783 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18784
18785 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18788 if it happens.
18789
18790 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 Implement time command.
18793
18794 * grub-core/Makefile.core.def (time): New module.
18795 * grub-core/commands/time.c: New file.
18796 * grub-core/script/parser.y: Remove "time" keyword.
18797 * grub-core/script/yylex.l: Likewise.
18798
18799 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18802
18803 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18804
18805 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18806 when handling leftovers.
18807
18808 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18809
18810 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18811 so that help2man doesn't fail.
18812
18813 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18816 type in pointers on sparc64.
18817 (get_card_packet): Likewise.
18818
18819 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
18820
18821 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18822 with `*'.
18823 (grub_cmd_videoinfo): Fetch current video mode.
18824
18825 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18828 because of underlying system restrictions.
18829
18830 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18831
18832 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18833 necessary.
18834
18835 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18836
18837 Coreboot video support.
18838
18839 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18840 (vbe): Likewise.
18841 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18842 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18843 here ...
18844 * grub-core/kern/i386/int.S: ... here.
18845 * grub-core/video/i386/pc/vbe.c: Updated includes.
18846 * grub-core/video/i386/pc/vga.c: Likewise.
18847 * include/grub/i386/coreboot/memory.h
18848 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18849 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18850 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18851 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18852 Disable interrupts.
18853 * include/grub/i386/pc/vga.h: Removed. All users updated.
18854
18855 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18858 definitions for dprintf.
18859 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18860
18861 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18864 prototype.
18865 (get_card_packet): Likewise.
18866
18867 2011-06-26 Yves Blusseau <blusseau@zetam.org>
18868
18869 Display the path of the file when file is not found
18870
18871 * grub-core/fs/fat.c: Display the filename when file is not found.
18872 * grub-core/fs/fshelp.c: Likewise.
18873 * grub-core/fs/hfs.c: Likewise.
18874 * grub-core/fs/jfs.c: Likewise.
18875 * grub-core/fs/minix.c: Likewise.
18876 * grub-core/fs/ufs.c: Likewise.
18877 * grub-core/fs/btrfs.c: Likewise.
18878 * grub-core/commands/i386/pc/play.c: Likewise.
18879
18880 2011-06-26 Szymon Janc <szymon@janc.net.pl>
18881
18882 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18883 pointer checks before calling grub_free().
18884 * grub-core/commands/wildcard.c (match_devices): Likewise.
18885 * grub-core/commands/wildcard.c (match_files): Likewise.
18886 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18887 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18888 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18889 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18890 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18891 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18892 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18893 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18894 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18895
18896 2011-06-25 Patrick <p55@mailinator.com>
18897
18898 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18899
18900 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18901
18902 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18903 (grub_pxe_send): Likewise.
18904 (GRUB_MOD_INIT): Fix types.
18905
18906 2011-06-24 Szymon Janc <szymon@janc.net.pl>
18907
18908 * grub-core/io/xzio.c: Fix code style issues
18909
18910 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18911 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
18912
18913 Network infrastructure.
18914 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18915
18916 * include/grub/net/arp.h: New file.
18917 * include/grub/net/device.h: Likewise.
18918 * include/grub/net/ethernet.h: Likewise.
18919 * include/grub/net/ip.h: Likewise.
18920 * include/grub/net/netbuff.h: Likewise.
18921 * include/grub/net/tftp.h: Likewise.
18922 * include/grub/net/udp.h: Likewise.
18923 * include/grub/ieee1275/ofnet.h: Likewise.
18924 * include/grub/emu/export.h: Likewise.
18925 * include/grub/net.h: Likewise.
18926 * grub-core/net/arp.c: Likewise.
18927 * grub-core/net/ethernet.c: Likewise.
18928 * grub-core/net/ip.c: Likewise.
18929 * grub-core/net/udp.c: Likewise.
18930 * grub-core/net/tftp.c: Likewise.
18931 * grub-core/net/netbuff.c: Likewise.
18932 * grub-core/net/net.c: Likewise.
18933 * grub-core/net/drivers/emu/emunet.c: Likewise.
18934 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18935 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18936 export.h.
18937 * grub-core/Makefile.core.def (net): New module.
18938 (tftp): Likewise.
18939 (ofnet): Likewise.
18940 (emunet): Likewise.
18941 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18942 network protocols.
18943 * grub-core/kern/device.c (grub_net_open) : New variable.
18944 (grub_device_open): Handle network device.
18945 (grub_device_close): Likewise.
18946 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18947 (grub_grubnet_fini): Likewise.
18948 (grub_file_seek): Seek in network device.
18949 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18950 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18951 network root.
18952 (grub_machine_fini): Call grub_grubnet_fini.
18953 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18954 network.
18955 (grub_ieee1275_get_aliasdevname): New function.
18956 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18957 Add unofficial Solaris network info.
18958 (grub_multiboot_make_mbi): Likewise.
18959 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18960 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18961 * include/grub/device.h (grub_fs): Removed.
18962 * include/grub/err.h (grub_err_t): Add network-related values.
18963 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18964 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18965 (grub_ieee1275_get_aliasdevname): New proto.
18966 * include/grub/net.h: Rewritten.
18967
18968 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18971 names.
18972
18973 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18974
18975 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18976 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18977 it truncates the output.
18978 Reported by: Ximin Luo.
18979
18980 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18983
18984 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18985
18986 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18987 partmap before abstraction.
18988
18989 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18990
18991 * util/grub-mkconfig_lib.in: Add missing quotes.
18992
18993 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18994
18995 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18996 old method if mountinfo would return /dev/root and /dev/root doesn't
18997 exist.
18998
18999 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19000
19001 ZFS zlib support
19002
19003 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
19004 (decomp_table): Add zlib entries.
19005 (zio_read): USe 8 bits for compression function rather than 3.
19006 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
19007
19008 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19009
19010 * grub-core/disk/ahci.c: Add missing license statements.
19011 * grub-core/fs/romfs.c: Likewise.
19012 * grub-core/lib/ia64/setjmp.S: Likewise.
19013 * grub-core/loader/i386/pc/freedos.c: Likewise.
19014 * grub-core/loader/ia64/efi/linux.c: Likewise.
19015 * grub-core/video/colors.c: Likewise.
19016 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
19017
19018 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 AHCI support.
19021
19022 * grub-core/Makefile.core.def (ata_pthru): Removed.
19023 (ahci): New module.
19024 (pata): Likewise.
19025 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
19026 on unload.
19027 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
19028 readwrite.
19029 (grub_hdparm_do_check_powermode_cmd): Likewise.
19030 (grub_hdparm_do_smart_cmd): Likewise.
19031 (grub_hdparm_set_val_cmd): Likewise.
19032 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
19033 * grub-core/disk/ahci.c: New file.
19034 * grub-core/disk/ata.c: Factor out the low-level part into ...
19035 * grub-core/disk/pata.c: ... here.
19036 * grub-core/disk/ata_pthru.c: Contents moved to ...
19037 * grub-core/disk/pata.c: ... here.
19038 * grub-core/disk/scsi.c (grub_scsi_names): New array.
19039 (grub_scsi_iterate): Use grub_scsi_names.
19040 (grub_scsi_open): Likewise.
19041 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
19042 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
19043 (grub_ata_regs_t): New struct.
19044 (grub_disk_ata_pass_through_parms): Likewise.
19045 (grub_ata_device): Renamed to ...
19046 (grub_ata): ... this.
19047 (grub_ata_dev): New struct.
19048 Removed all low-level inline functions.
19049 * include/grub/scsi.h: Add PATA and AHCI subsystems.
19050 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
19051 iterate hooks and open. All users updated.
19052 * util/grub-install.in: Handle AHCI disk module.
19053
19054 2011-06-23 Szymon Janc <szymon@janc.net.pl>
19055
19056 Add support for DRI and RSTn markers in JPEG files.
19057
19058 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
19059 (JPEG_MARKER_RST0): Likewise.
19060 (JPEG_MARKER_RST1): Likewise.
19061 (JPEG_MARKER_RST2): Likewise.
19062 (JPEG_MARKER_RST3): Likewise.
19063 (JPEG_MARKER_RST4): Likewise.
19064 (JPEG_MARKER_RST5): Likewise.
19065 (JPEG_MARKER_RST6): Likewise.
19066 (JPEG_MARKER_RST7): Likewise.
19067 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
19068 (grub_jpeg_decode_dri): New function.
19069 (grub_jpeg_decode_sos): Move image data related part into
19070 grub_jpeg_decode_data function.
19071 (grub_jpeg_decode_data): New function.
19072 (grub_jpeg_reset): New function.
19073 (grub_jpeg_decode_jpeg): Handle new markers.
19074
19075 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19076
19077 * util/ieee1275/ofpath.c (check_sas): Close fd.
19078 (main): Free of_path.
19079 Reported by: David Volgyes <dvolgyes>.
19080
19081 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
19084 Reported by: David Volgyes <dvolgyes>.
19085
19086 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
19089 file after stat.
19090 Reported by: David Volgyes <dvolgyes>.
19091
19092 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19093
19094 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
19095
19096 Reported by: David Volgyes <dvolgyes>.
19097
19098 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
19101 Prevent memory leak.
19102
19103 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
19106 (main): Close file.
19107 Reported by: David Volgyes <dvolgyes>.
19108
19109 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
19112 to continue if allocation is failed.
19113
19114 Reported by: David Volgyes <dvolgyes>.
19115
19116 2011-06-23 David Volgyes <dvolgyes>
19117
19118 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
19119 dereference.
19120
19121 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19122
19123 Fix spurious warning.
19124
19125 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
19126 (acorn_partition_map_find): Use .bin member.
19127
19128 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19129
19130 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
19131 /dev/root as a valid device.
19132
19133 2011-06-23 Jim Meyering <meyering@redhat.com>
19134
19135 Avoid NULL deref in grub_device_open.
19136
19137 * grub-core/kern/device.c (grub_device_open): Don't dereference
19138 a NULL pointer upon failed grub_env_get.
19139
19140 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19141
19142 Support non-512B sectors and agglomerate reads.
19143
19144 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
19145 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
19146 (disk_io_guid): Removed.
19147 (make_devices): Locate solely by BlockIO.
19148 (grub_efidisk_open): Fill log_sector_size and total_sectors.
19149 (grub_efidisk_read): Use read_blocks.
19150 (grub_efidisk_write): Use write_blocks.
19151 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
19152 log_sector_size.
19153 (get_safe_sectors): Handle non-512B sectors.
19154 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
19155 sectors.
19156 (grub_biosdisk_write): Handle non-512B sectors.
19157 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
19158 (grub_scsi_read): Remove special non-512B block handling (now handled
19159 one level up).
19160 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
19161 and do sanity checks.
19162 (grub_disk_adjust_range): Handle non-512B sectors.
19163 (transform_sector): New function.
19164 (grub_disk_read_small): Likewise.
19165 (grub_disk_read): Rewritten.
19166 (grub_disk_write): Handle non-512B sectors.
19167 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
19168 log_sector_size.
19169 (open_device): Use log_sector_size.
19170 (grub_util_biosdisk_read): Likewise.
19171 (grub_util_biosdisk_write): Likewise.
19172 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
19173 non-512B sectors.
19174 (pc_partition_map_embed): Likewise.
19175 * include/grub/disk.h (grub_disk): New field log_sector_size.
19176 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
19177 (GRUB_DISK_CACHE_BITS): Increased to 6.
19178 * util/grub-fstest.c (fstest): New command testload.
19179 (argp_parser): Likewise.
19180
19181 2011-06-16 Robert Millan <rmh@gnu.org>
19182
19183 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
19184 `ata' driver on kernel of FreeBSD 9.
19185
19186 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
19187 (get_ataraid_disk_name): New functions.
19188 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
19189 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
19190 get_ataraid_disk_name() and get_ada_disk_name().
19191
19192 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
19193
19194 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
19195 input format.
19196
19197 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
19198
19199 * docs/grub.texi (Obtaining and Building GRUB): Substitute
19200 `ftp.gnu.org' for `alpha.gnu.org'.
19201
19202 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19203
19204 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
19205 partitions under /dev/disk/by-id/.
19206
19207 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19208
19209 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
19210 after ten consecutive open failures. Scanning all the way up to
19211 10000 is excessive and can cause serious performance problems in
19212 some configurations.
19213 Fixes Ubuntu bug #787461.
19214
19215 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19216
19217 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
19218 opening new one.
19219
19220 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
19221 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19222
19223 Don't stat devices unless we have to.
19224
19225 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
19226 dir == /dev/mapper.
19227 (grub_guess_root_device): Use already known os_dev if possible.
19228 * grub-core/kern/emu/hostdisk.c
19229 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
19230 if device is known to be a dm one.
19231
19232 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
19233
19234 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
19235 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
19236 Reported by: Pawel Tecza.
19237
19238 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
19241 (lsefisystab): Likewise.
19242 (lssal): Likewise.
19243 (lsefimmap): Likewise.
19244 (hdparm): Enable on qemu-mips.
19245 (setjmp): Add ia64 nodist.
19246 (serial): Simplify tags.
19247
19248 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19249
19250 * Makefile.util.def (grub-ofpathname): Install manual page.
19251
19252 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19253
19254 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19255
19256 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19257
19258 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19259
19260 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19263 into dprintf.
19264
19265 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19266
19267 Use full 64-bit division.
19268
19269 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19270 (grub_divmod64): ... this.
19271 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19272 version.
19273
19274 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19275
19276 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19277 `source'.
19278
19279 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19280
19281 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19282 to avoid accidents when debugging with 'sh -x'.
19283 * grub-core/gensyminfo.sh.in: Likewise.
19284 * tests/example_scripted_test.in: Likewise.
19285 * tests/grub_cmd_regexp.in: Likewise.
19286 * tests/grub_script_blanklines.in: Likewise.
19287 * tests/grub_script_dollar.in: Likewise.
19288 * tests/grub_script_expansion.in: Likewise.
19289 * tests/grub_script_final_semicolon.in: Likewise.
19290 * tests/partmap_test.in: Likewise.
19291 * tests/util/grub-shell-tester.in: Likewise.
19292 * tests/util/grub-shell.in: Likewise.
19293
19294 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19295
19296 Move gfxmenu color handling to video, so that gfxterm can use it
19297 too.
19298
19299 * grub-core/gfxmenu/named_colors.c: Move to ...
19300 * grub-core/video/colors.c: ... here. Rename
19301 grub_gui_get_named_color to grub_video_get_named_color.
19302 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19303 * grub-core/video/colors.c (my_isxdigit): ... here.
19304 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19305 Move to ...
19306 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19307 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19308 to ...
19309 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19310
19311 * include/grub/gui.h (grub_gui_color_t): Move to ...
19312 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19313 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19314 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19315 * include/grub/gui.h (grub_gui_map_color): Move to ...
19316 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19317 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19318 to ...
19319 * include/grub/video.h (grub_video_get_named_color): ... here.
19320 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19321 * include/grub/video.h (grub_video_parse_color): ... here.
19322
19323 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19324 video/colors.c.
19325 (gfxmenu): Remove gfxmenu/named_colors.c.
19326 (video) [videomodules]: Add video/colors.c.
19327
19328 Add a background_color command.
19329
19330 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19331 function.
19332 (GRUB_MOD_INIT): Register background_color command.
19333 (GRUB_MOD_FINI): Unregister background_color command.
19334 (redraw_screen_rect): Allow blend/replace of text layer to be
19335 controlled independently from whether there is a background bitmap.
19336 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19337 changing bitmap.
19338
19339 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19340
19341 Patch BPB in ntldr and chainloader --bpb.
19342
19343 * grub-core/fs/fat.c: Include grub/fat.h.
19344 (grub_fat_bpb): Moved to ...
19345 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19346 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19347 grub/ntfs.h.
19348 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19349 Moved from here...
19350 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19351 here.
19352 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19353 New function.
19354 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19355 (GRUB_MOD_INIT): Show --bpb.
19356 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19357 * grub-core/normal/main.c (features): New variable.
19358 (GRUB_MOD_INIT): Set feature_* variables.
19359 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19360 proto.
19361 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19362
19363 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19366 for cleanness.
19367
19368 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 FreeDOS direct loading support.
19371
19372 * docs/grub.texi (Supported OS): Add FreeDOS.
19373 * grub-core/Makefile.core.def (freedos): New module.
19374 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19375 variable.
19376 (grub_relocator16_boot): Handle %ebx.
19377 * grub-core/lib/i386/relocator16.S: Likewise.
19378 * grub-core/loader/i386/pc/freedos.c: New file.
19379
19380 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 Long Linux command line support.
19383
19384 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19385 (maximal_cmdline_size): New variable.
19386 (allocate_pages): Use maximal_cmdline_size.
19387 (grub_cmd_linux): Set and use maximal_cmdline_size.
19388 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19389 (allocate_pages): Use maximal_cmdline_size.
19390 (grub_cmd_linux): Set and use maximal_cmdline_size.
19391 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19392 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19393 and cmdline_size.
19394
19395 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19396 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19397
19398 Improve devmapper support
19399
19400 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19401 (grub_util_is_lvm): New function.
19402 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19403 than lvm if not dmraid.
19404 Handle mapped md nodes.
19405 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19406 (grub_util_device_is_mapped): ... this. Make always available. All users
19407 updated.
19408 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19409 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19410 dmraid nodes.
19411 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19412
19413 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19414
19415 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19416
19417 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19418 * grub-core/modinfo.sh.in: New file.
19419 * grub-core/Makefile.core.def (modinfo.sh): New script.
19420 * util/grub-mknetdir.in: Use modinfo.sh.
19421 * util/grub-mkrescue.in: Likewise.
19422
19423 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19424
19425 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19426 Fix potential usage of Elf32 instead of Elf64 when compiling on
19427 32-bit architecture. Add endianness macros while on it.
19428
19429 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19430
19431 Use mipsel- rather than mips- in directories involving mipsel ports to
19432 allow both endiannesses coexist.
19433
19434 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19435 mips. All conditions adjusted.
19436 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19437 variable.
19438 * util/grub-install.in: Adjust conditions to take renaming into account.
19439 * util/grub-mkimage.c (image_targets): Likewise. New target
19440 mips-qemu_mips-elf for bigendian mips.
19441
19442 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 Avoid unnecessary copying on MIPS.
19445
19446 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19447 early if src == dest.
19448 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19449 compression is none.
19450
19451 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19452
19453 Reduce memory footprint on SGI by putting modules before the kernel
19454 as opposed to after.
19455
19456 * grub-core/Makefile.core.def (kernel): Increase linking address.
19457 (none_decompress): Likewise.
19458 (xz_decompress): Likewise.
19459 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19460 address.
19461 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19462 layout change.
19463 (grub_arch_modules_addr): New function.
19464 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19465 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19466 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19467 here.
19468 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19469 (grub_total_modules_size): ... this. Make global.
19470 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19471 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19472 New definition.
19473 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19474 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19475 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19476 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19477 * util/grub-mkimage.c (image_target_desc): New flag
19478 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19479 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19480 (generate_image): Handle images with modules before kernel.
19481
19482 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19483
19484 Prevent potential loss of memory map by overwrite on qemu-mips.
19485
19486 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19487 Save ram size in $s4.
19488 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19489 All users changed to grub_arch_memsize.
19490 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19491 Loongson.
19492 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19493 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19494 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19495 external variable.
19496
19497 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19498
19499 * .bzrignore: Remove grub-dumpbios.
19500
19501 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19502
19503 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19504 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19505 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19506 existing options which append).
19507 * docs/grub.texi (Simple configuration): Document new options.
19508 Reported by: Ian Jackson. Fixes Debian bug #617538.
19509
19510 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19511
19512 * util/grub-fstest.c (cmd_cat): New function.
19513 (fstest): Handle CMD_CAT.
19514 (options): Add cat.
19515 (argp_parser): Handle cat.
19516
19517 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19518
19519 * Makefile.util.def (grub-bin2h): Don't install.
19520 * docs/man/grub-bin2h.h2m: Remove.
19521
19522 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19523
19524 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19525 place.
19526
19527 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19528
19529 Reenable qemu-mips port.
19530
19531 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19532 Fix small arc bug while on it.
19533 * gentpl.py: Handle qemu_mips.
19534 * grub-core/Makefile.am: Likewise.
19535 * grub-core/Makefile.core.def: Likewise.
19536 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19537 inappropriate includes.
19538 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19539 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19540 * grub-core/kern/main.c (grub_modules_get_end)
19541 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19542 * grub-core/kern/mips/qemu-mips: Moved to ..
19543 * grub-core/kern/mips/qemu_mips: ... this.
19544 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19545 (grub_machine_init): Call terminfo_init and serial_init.
19546 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19547 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19548 New variable.
19549 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19550 parameter passing.
19551 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19552 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19553 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19554 * include/grub/mips/qemu_mips/cmos.h: New file.
19555 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19556 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19557 Removed.
19558 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19559 Use correct mips-style address.
19560 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19561 (GRUB_TICKS_PER_SECOND): Removed.
19562 (grub_get_rtc): Likewise.
19563 (grub_cpu_idle): Likewise.
19564 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19565 New definition.
19566 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19567 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19568 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19569 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19570 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19571 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19572 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19573 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19574
19575 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19576
19577 SGI ARCS port.
19578
19579 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19580 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19581 platforms.
19582 * configure.ac: New target mips-arc.
19583 * gentpl.py: Likewise.
19584 * grub-core/Makefile.am: Likewise.
19585 * grub-core/Makefile.core.def: Likewise.
19586 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19587 (none_decompress): Likewise.
19588 (lsdev): New module.
19589 (datetime): Use lib/arc/datetime.c on ARC.
19590 (part_dvh): New module.
19591 * grub-core/commands/arc/lsdev.c: New file.
19592 * grub-core/disk/arc/arcdisk.c: Likewise.
19593 * grub-core/kern/mips/arc/init.c: Likewise.
19594 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19595 aligned addresses.
19596 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19597 support.
19598 (grub_arch_dl_relocate_symbols): Likewise.
19599 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19600 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19601 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19602 platforms.
19603 * grub-core/lib/arc/datetime.c: New file.
19604 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19605 pci.h on non-loongson.
19606 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19607 (grub_linux_boot): Set unused registers to 0.
19608 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19609 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19610 * grub-core/mmap/mips/uppermem.c: ...here.
19611 * grub-core/partmap/dvh.c: New file.
19612 * grub-core/term/arc/console.c: Likewise.
19613 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19614 (grub_terminfo_set_current): Add terminal "arc".
19615 (grub_terminfo_readkey): Support ARC sequences.
19616 * include/grub/arc/arc.h: New file.
19617 * include/grub/arc/console.h: Likewise.
19618 * include/grub/disk.h (grub_disk_dev_id): Add
19619 GRUB_DISK_DEVICE_ARCDISK_ID.
19620 * include/grub/mips/arc/kernel.h: New file.
19621 * include/grub/mips/arc/memory.h: Likewise.
19622 * include/grub/mips/arc/time.h: Likewise.
19623 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19624 * include/grub/mips/kernel.h (grub_halt): ... here.
19625 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19626 here...
19627 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19628 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19629 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19630 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19631 proto.
19632 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19633 from here ...
19634 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19635 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19636 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19637 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19638 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19639 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19640 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19641 (grub_phys_addr_t): Moved from here ...
19642 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19643 (grub_vtop): Moved from here ...
19644 * include/grub/mips/memory.h (grub_vtop): ... here.
19645 (grub_map_memory): Moved from here ...
19646 * include/grub/mips/memory.h (grub_map_memory): ... here.
19647 (grub_unmap_memory): Moved from here ...
19648 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19649 (grub_machine_mmap_iterate): Moved from here ...
19650 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19651 (grub_mmap_get_lower): Moved from here ...
19652 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19653 (grub_mmap_get_upper): Moved from here ...
19654 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19655 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19656 here ...
19657 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19658 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19659 here ...
19660 * include/grub/mips/time.h (grub_get_rtc): ... here.
19661 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19662 here ...
19663 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19664 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19665 here ...
19666 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19667 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19668 definition.
19669 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19670 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19671 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19672 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19673 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19674 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19675 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19676 (GRUB_MACHINE_LINK_ADDR): Likewise.
19677 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19678 to 6.
19679 * util/grub-install.in: Run dvhtool on ARC.
19680 * util/grub-mkimage.c (image_targets): Add mips-arc.
19681 (generate_image): Handle ECOFF output for mips-arc.
19682
19683 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19686 blocks.
19687
19688 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19691 after enabling port.
19692
19693 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19694
19695 Skip incorrect USB devices.
19696
19697 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19698 configcnt == 0.
19699 * include/grub/usb.h (grub_usb_err_t): New enum value
19700 GRUB_USB_ERR_BADDEVICE.
19701
19702 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19703
19704 Fuloong video init support.
19705
19706 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19707 well.
19708 (grub_vga_read_arx): New function.
19709 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19710 definition.
19711 (framebuffer): New members io, mmioptr and mmiobase.
19712 (read_sis_cmd): New function.
19713 (write_sis_cmd): Likewise.
19714 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19715 rather than 640x400.
19716 * grub-core/video/sis315_init.c: New file.
19717
19718 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19719
19720 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19721 non-loongson.
19722 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19723 to grub_dl_register_symbol.
19724
19725 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 Fix compilation errors.
19728
19729 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19730 potentially unused.
19731 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19732 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19733 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19734 to loongson machines.
19735
19736 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19737
19738 Several FS mtime support.
19739
19740 * grub-core/fs/affs.c (grub_affs_time): New struct.
19741 (grub_affs_file): New field mtime.
19742 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19743 type. Removed 'size'. New field 'di'. All users updated.
19744 (grub_affs_mount): Simplify checsum checking.
19745 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19746 (grub_affs_dir): Handle mtime.
19747 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19748 (grub_cpio_dir): Likewise.
19749 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19750 (grub_hfs_filerec): New field mtime.
19751 (grub_hfs_dir): Handle mtime.
19752 (grub_hfs_mtime): New function.
19753 (grub_hfs_fs): Register grub_hfs_mtime.
19754 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19755 (grub_iso9660_dir): New field mtime.
19756 (grub_fshelp_node): New field dirent.
19757 (iso9660_to_unixtime): New function.
19758 (iso9660_to_unixtime2): Likewise.
19759 (grub_iso9660_read_symlink): Use node->dirent.
19760 (grub_iso9660_iterate_dir): Likewise.
19761 (grub_iso9660_dir): Set mtime.
19762 (grub_iso9660_mtime): New function.
19763 (grub_iso9660_fs): Register grub_iso9660_mtime.
19764 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19765 (grub_jfs_inode): New fields atime, ctime and mtime.
19766 (grub_jfs_dir): Set mtime.
19767 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19768 * grub-core/fs/ntfs.c (list_file): Set mtime.
19769 (grub_ntfs_dir): Likewise.
19770 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19771 (grub_reiserfs_iterate_dir): Set mtime.
19772 (grub_reiserfs_dir): Likewise.
19773 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19774 (grub_fshelp_node): Likewise.
19775 (grub_sfs_iterate_dir): Set mtime.
19776 (grub_sfs_dir): Likewise.
19777 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19778 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19779 (grub_xfs_inode): New fields atime, mtime, ctime.
19780 (grub_xfs_dir): Set mtime.
19781 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19782 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19783 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19784
19785 Support UDF symlinks.
19786
19787 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19788 (grub_ufs_read_symlink): New function. All users updated.
19789
19790 Check amiga partmap checksum.
19791
19792 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19793 (grub_amiga_partition): Likewise.
19794 (amiga_partition_map_checksum): New function.
19795 (amiga_partition_map_iterate): Check checksum.
19796
19797 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19798
19799 ROMFS support.
19800
19801 * Makefile.util.def (libgrubmods.a): Add romfs.
19802 * grub-core/Makefile.core.def (romfs): New module.
19803 * grub-core/fs/romfs.c: New file.
19804
19805 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19806
19807 Squashfs v4 support.
19808
19809 * Makefile.util.def (libgrubmods.a): Add squash4.
19810 * grub-core/Makefile.core.def (squash4): New module.
19811 * grub-core/fs/squash4.c: New file.
19812 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19813 disk_input_start, disk_input.
19814 (get_byte): Handle disk_input.
19815 (grub_zlib_disk_read): New function.
19816 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19817
19818 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19819 2011-05-15 Feiran Zheng <famcool@gmail.com>
19820
19821 * Makefile.util.def (libgrubmods.a): Add minix3.
19822 * grub-core/Makefile.core.def (minix3): New module.
19823 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19824 (GRUB_MINIX_BSIZE): Removed.
19825 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19826 (grub_minix_ino_t): New type.
19827 (grub_minix_le_to_cpu_ino): New macro.
19828 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19829 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19830 (grub_minix_data): New field block_size.
19831 (grub_minix_read_file): Handle 64-bit correctly.
19832 * grub-core/fs/minix3.c: New file.
19833
19834 2011-05-15 Tristan Gingold <gingold@free.fr>
19835 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
19836 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19837
19838 IA64 support.
19839
19840 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19841 * configure.ac: Add ia64-efi target.
19842 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19843 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19844 * gentpl.py: Add ia64_efi platform.
19845 Rename x86_efi to efi and Add ia64-efi. All users updated.
19846 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19847 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19848 Remove kern/generic/rtc_get_time_ms.c on EFI.
19849 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19850 kern/ia64/dl_helper.c on ia64-efi.
19851 Add kern/emu/cache.c on emu.
19852 (linux): Use on loader/ia64/efi/linux.c on ia64.
19853 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19854 whether symbol is a function.
19855 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19856 (grub_symbol): New field 'isfunc'.
19857 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19858 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19859 (grub_dl_load_segments): Place all sections into the same region.
19860 [__ia64__]: Create trampolines and got.
19861 [GRUB_MACHINE_EMU]: Call mprotect.
19862 (grub_dl_resolve_symbols): Resolve symbol type as well.
19863 [__ia64__]: Create function descriptors.
19864 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19865 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19866 (grub_get_rtc): New function.
19867 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19868 * grub-core/kern/emu/cache.S: Renamed to ...
19869 * grub-core/kern/emu/cache_s.S: ... this.
19870 [__ia64__]: Add a nop.
19871 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19872 [__ia64__]: New function.
19873 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19874 * grub-core/kern/ia64/dl.c: New file.
19875 * grub-core/kern/ia64/dl_helper.c: Likewise.
19876 * grub-core/kern/ia64/efi/init.c: New file.
19877 * grub-core/kern/ia64/efi/startup.S: Likewise.
19878 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19879 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19880 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19881 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19882 * grub-core/loader/ia64/efi/linux.c: New file.
19883 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19884 (GRUB_MOD_DEP): Likewise.
19885 (grub_dl) [__ia64__]: New fields got and tramp.
19886 (grub_dl): New field 'base'.
19887 (grub_dl_register_symbol): New argument isfunc. All users updated.
19888 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19889 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19890 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19891 (grub_ia64_dl_get_tramp_got_size): New proto.
19892 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19893 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19894 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19895 * include/grub/efi/api.h: Skip call wrappers on ia64.
19896 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19897 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19898 * include/grub/elf.h (ELF_ST_INFO): New definition.
19899 * include/grub/ia64/efi/kernel.h: New file.
19900 * include/grub/ia64/efi/memory.h: Likewise.
19901 * include/grub/ia64/efi/time.h: Likewise.
19902 * include/grub/ia64/kernel.h: Likewise.
19903 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19904 * include/grub/ia64/time.h: New file.
19905 * include/grub/ia64/types.h: Likewise.
19906 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19907 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19908 New protos.
19909 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19910 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19911 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19912 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19913 All users updated.
19914 (EFI64_HEADER_SIZE): New definition. All users updated.
19915 (image_targets): Add ia64-efi.
19916 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19917 jumpers_addr. All users updated.
19918 Create function descriptors.
19919 (count_funcs): New function.
19920 (unaligned_uint32): New struct.
19921 (MASK20): New definition.
19922 (MASK19): Likewise.
19923 (MASKF21): Likewise.
19924 (add_value_to_slot_20b): New function.
19925 (add_value_to_slot_21_real): Likewise.
19926 (add_value_to_slot_21): Likewise.
19927 (ia64_kernel_trampoline): New struct.
19928 (nopm): New variable.
19929 (jump): Likewise.
19930 (make_trampoline): New function.
19931 (relocate_addresses): Handle ia64.
19932 (make_reloc_section): Likewise.
19933 (load_image): Likewise.
19934
19935 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19938 warning. Move variables before code while on it.
19939
19940 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 Fuloong support.
19943
19944 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19945 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19946 * grub-core/boot/mips/loongson/fuloong.S: New file.
19947 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19948 Explicitly init CS5536.
19949 [FULOONG]: Don't use serial until CS5536 is available.
19950 Set GPIO based on dumps.
19951 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19952 [FULOONG]: Handle GPIO and memory controller differences.
19953 Parse machine type in $a2.
19954 * grub-core/boot/mips/startup_raw.S: Determine and save the
19955 architecture.
19956 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19957 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19958 init on architecture type.
19959 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19960 SIS315E. Don't init at_keyboard on fuloong.
19961 (grub_halt): Support Fuloong.
19962 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19963 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19964 (loongson_machtypes): New array.
19965 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19966 type.
19967 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19968 config. All users updated. Handle CS5536 serial.
19969 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19970 default port on machine type. Register serial as inactive.
19971 * grub-core/video/sis315pro.c: New file.
19972 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19973 definition.
19974 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19975 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19976 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19977 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19978 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19979 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19980 to ...
19981 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19982 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19983 definition.
19984 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19985 (grub_arch_machine): New extern var.
19986 * include/grub/mips/loongson/serial.h
19987 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19988 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19989 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19990 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19991 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19992 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19993 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19994 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19995 * include/grub/term.h (grub_term_register_input_inactive): New inline
19996 function.
19997 (grub_term_register_output_inactive): Likewise.
19998 * include/grub/video.h (grub_video_driver_id): New value
19999 GRUB_VIDEO_DRIVER_SIS315PRO.
20000 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
20001 New field "names". All users updated.
20002 New field value IMAGE_FULOONG_FLASH.
20003 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
20004
20005 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
20006
20007 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
20008 and add some clarification.
20009
20010 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
20013 platforms if kernel is compressed.
20014
20015 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
20018 unused modules since currently referrence counter isn't reliable and
20019 there isn't much memory to recover there anyway.
20020
20021 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20022
20023 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
20024 rather than resetting it to allow modules to reference themselves
20025 in init.
20026
20027 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
20030 counter on dependencies since grub_dl_unref already handles this.
20031
20032 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
20035 on error if not already done.
20036
20037 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20038
20039 Fix few potential memory misusage.
20040
20041 * grub-core/font/font.c (load_font_index): Don't free char_index to
20042 avoid double free.
20043 (grub_font_load): Zero-fill font at alloc for safety.
20044 Close file on error.
20045 (free_font): Free bmp_idx.
20046
20047 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20048
20049 * docs/grub.texi (Installation): Fix several outdated claims.
20050
20051 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 Handle module_license on windows.
20054
20055 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
20056 sections shifted.
20057 (insert_string): Make argument const char * instead of char *.
20058 (write_section_data): Handle long section names.
20059 Handle module_license.
20060
20061 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20062
20063 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
20064 handle class-free menuentries.
20065 (grub_normal_add_menu_entry): Add a check to be sure.
20066
20067 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
20070 PgUp and PgDown.
20071
20072 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 * configure.ac: Bump version to 1.99.
20075
20076 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 Give ATA device a bit more time on first try in order to allow disks
20079 to spin up.
20080
20081 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
20082 if dev->present is 1. Reset dev->present on failure.
20083 (grub_ata_device_initialize): Set dev->present to 1.
20084 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
20085 (grub_ata_device): New member 'present'.
20086
20087 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20088
20089 * util/grub-mkimage.c (generate_image): Update hash.
20090
20091 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20092
20093 Flush caches on DMA memory.
20094
20095 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
20096 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
20097 (grub_dma_free): Likewise.
20098 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
20099
20100 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20101
20102 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
20103 to avoid asm treating ld and sd as macros.
20104
20105 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
20108 decompressor.
20109
20110 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20111
20112 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
20113 grub_decompress_core since later would fail if grub_decompress_core
20114 is too far.
20115
20116 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
20119 R_MIPS_JALR since it's used by newer compiler.
20120
20121 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
20122
20123 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
20124
20125 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
20128 file_path to 0 for surety.
20129 (grub_chainloader_boot): Set exit_data to NULL.
20130 Unset the loader once done.
20131 (grub_cmd_chainloader): Fix confusing error message if file is empty.
20132
20133 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
20136 unknown key into a dprintf.
20137
20138 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20139
20140 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
20141 on first non-existant partition.
20142
20143 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
20146 openning fails.
20147 Reported by: Mark Korenberg.
20148
20149 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20150
20151 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
20152 overflow.
20153
20154 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20155
20156 * util/grub-mkimage.c (main): Explicitely flush and sync the output
20157 before closing to ensure that it will be readable by grub-setup.
20158
20159 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20160
20161 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
20162 (devpath_1): Use MAKE_PIWG_PATH.
20163 (devpath_2): Likewise.
20164 (devpath_3): Likewise.
20165 (devpath_4): Likewise.
20166 (devpath_5): Likewise.
20167 (devpath_6): Likewise.
20168
20169 The appleldr.mod was checked that to be binary identical to previous
20170 version.
20171
20172 2011-05-05 Zach <mikezackles>
20173
20174 Support 2010 Macbooks.
20175
20176 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
20177 (devs): Add devpath_6.
20178
20179 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
20182 /dev/random. /dev/urandom is good enough for our purposes (salting).
20183
20184 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
20187
20188 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20189
20190 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
20191 hexadecimal.
20192
20193 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
20196 and not 0 on failure.
20197
20198 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20199
20200 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
20201 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
20202 disk; otherwise grub_fs_probe will not fall back to the next
20203 filesystem.
20204 (grub_pxefs_open): Likewise, for consistency.
20205 Reported and tested by: Ezekiel Grave.
20206
20207 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20208
20209 * tests/partmap_test.in: Don't hardcode path to parted.
20210 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
20211
20212 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
20213
20214 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
20215 of `ls' to find out which devices are available.
20216
20217 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20218
20219 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
20220 than source address for efi mmap buffer.
20221
20222 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20223
20224 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
20225 wrong action on non-detecting the magic.
20226
20227 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
20230 already supplied by another part of the module (fixes compilation on
20231 FreeBSD).
20232
20233 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
20236 match the one used by mdadm.
20237
20238 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20239
20240 * po/README: Add instructions for creating po/LINGUAS.
20241
20242 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20243
20244 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
20245 #551428.
20246
20247 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20248 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20249 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20250 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20251 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20252 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20253 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20254 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20255 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20256 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20257 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20258 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20259 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20260 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20261 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20262 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20263 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20264 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20265 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20266 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20267 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20268 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20269
20270 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20271
20272 * grub-core/kern/emu/getroot.c
20273 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20274 test that was incorrectly reintroduced in r3214.
20275 Reported by: Ian Dall. Fixes Savannah bug #33133.
20276
20277 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20278
20279 Fix stack pointer handling in 16-bit relocator.
20280
20281 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20282 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20283 Fixes Ubuntu bug #683904.
20284
20285 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20286
20287 * configure.ac: Bump version to 1.99~rc2.
20288
20289 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20292 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20293 * grub-core/lib/x86_64/setjmp.S: Likewise.
20294 * grub-core/lib/mips/setjmp.S: Likewise.
20295 * grub-core/lib/powerpc/setjmp.S: Likewise.
20296 * grub-core/lib/sparc64/setjmp.S: Likewise.
20297
20298 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20299
20300 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20301 * grub-core/lib/efi/datetime.c: Likewise.
20302
20303 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20304
20305 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20306 New function.
20307 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20308 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20309 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20310
20311 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20314 bitmap.
20315 (grub_gfxterm_term_init): Likewise.
20316
20317 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 Take into account the decorations the computing menu entry width.
20320
20321 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20322 (grub_gfxmenu_create_box): Register get_border_width.
20323 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20324 if available.
20325 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20326 get_border_width.
20327
20328 2011-04-18 Endres Puschner <code@e7p.de>
20329
20330 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20331 Don't skip first class.
20332
20333 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20336 chunks.
20337 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20338
20339 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20340
20341 Complete 64-bit division support.
20342
20343 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20344 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20345 * include/grub/misc.h (grub_divmod64): Rename to ...
20346 (grub_divmod64_full): ... this.
20347 (grub_divmod64): New inline function.
20348
20349 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20350
20351 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20352
20353 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20354
20355 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20356 performing the necessary test.
20357
20358 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20359
20360 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20361 (kfreebsd.elf): Likewise.
20362 (pc-chainloader.elf): Likewise.
20363 (ntldr.elf): Likewise.
20364
20365 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20366
20367 Identify RAID by its UUID rather than (guessed) name.
20368
20369 * grub-core/disk/raid.c (ascii2hex): New function.
20370 (grub_raid_open): Accept mduuid/%s specification.
20371 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20372 (get_mdadm_uuid): ... this.
20373 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20374
20375 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20376
20377 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20378 to negative size.
20379
20380 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20381
20382 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20383 btrfs subvolume.
20384 * util/grub.d/20_linux_xen.in: Likewise.
20385
20386 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20387
20388 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20389 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20390
20391 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20392 Build a list of relevant visible mounts using the mnt_id and
20393 parent_mnt_id fields, and then scan that list at the end.
20394
20395 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20396
20397 * docs/grub.texi (normal): New section.
20398 (normal_exit): New section.
20399 (Embedded configuration): Add reference to normal.
20400 (GRUB only offers a rescue shell): Likewise.
20401 * docs/grub-dev.texi (Error Handling): Fix typo.
20402
20403 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20404
20405 * NEWS: Drop obsolete entry about probe-only btrfs support.
20406
20407 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20408
20409 * util/import_gcry.py: Fix typo.
20410
20411 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20412
20413 * NEWS: Add btrfs support.
20414
20415 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20416 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20417
20418 BtrFS support. Written by me (Vladimir) with important bugfixes and
20419 even more important testing by Colin.
20420
20421 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20422 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20423 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20424 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20425 mem_input_off and mem_input. All users updated to accept in-RAM input.
20426 (gzio_seek): New function.
20427 (test_zlib_header): Likewise.
20428 (grub_gzio_read): Likewise.
20429 (grub_zlib_decompress): Likewise.
20430 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20431 Accept partial and non-virtual mounts.
20432 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20433 avoid receiving /dev/dm-X as device.
20434 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20435 Handle bind and partial mounts.
20436 * grub-core/lib/crc.c: New file.
20437 * include/grub/deflate.h: Likewise.
20438 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20439 proto.
20440 * include/grub/lib/crc.h: New file.
20441
20442 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20443
20444 Implement automatic module license checking according to new GNU
20445 guidelines.
20446
20447 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20448 (grub_dl_load_core): Use grub_dl_check_license.
20449 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20450 (GRUB_MOD_LICENSE): Likewise.
20451 (GRUB_MOD_DUAL_LICENSE): Likewise.
20452 All modules updated.
20453
20454 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20455
20456 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20457 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20458 loaders.
20459 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20460
20461 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20464
20465 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20468 failed.
20469
20470 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20473 parenthesis in the middle of the filename.
20474
20475 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20478 rather than trying to put initrd way too high.
20479 Reported by: Ryan Lortie <desrt@desrt.ca>
20480
20481 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20482
20483 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20484 improperly removed string.
20485
20486 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20489 is_disk.
20490 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20491 (open_device) Likewise.
20492 (grub_util_biosdisk_close): Likewise.
20493 Reported by: Mark Korenberg.
20494
20495 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20496
20497 * util/grub-mkconfig_lib.in: Add missing quotes.
20498
20499 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
20500
20501 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20502 is NULL.
20503
20504 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 Dynamically count the number of lines for the lower banner.
20507
20508 * grub-core/normal/menu_entry.c (per_term_screen): New member
20509 num_entries.
20510 (print_down): Use num_entries.
20511 (update_screen): Likewise.
20512 (grub_menu_entry_run): Set num_entries.
20513 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20514 num_entries.
20515 (grub_print_message_indented): Move real part to ...
20516 (grub_print_message_indented_real): ... here. Additional argument
20517 dry_run.
20518 (draw_border): Additional argument num_entries.
20519 (print_message): Additional argument dry_run.
20520 (print_entries): Receive menu viewer data.
20521 (grub_menu_init_page): New argment num_entries.
20522 (menu_text_set_chosen_entry): Use num_entries.
20523 (grub_menu_try_text): Likewise.
20524 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20525 All users updated.
20526 (grub_ucs4_count_lines): New function.
20527 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20528 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20529 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20530 (grub_term_border_height): Likewise.
20531 (grub_term_num_entries): Likewise.
20532
20533 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20536 Remove now unused string.
20537
20538 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20539
20540 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20541 build system.
20542 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20543
20544 (Comment): Fix typo.
20545 (Getting started): General copy-editing.
20546 (Typical Development Experience): Likewise.
20547 (Error Handling): Likewise.
20548 (Video API): Likewise.
20549
20550 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20551
20552 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20553 throughout.
20554
20555 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20556
20557 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20558 directory.
20559
20560 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20561
20562 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20563 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20564 "development".
20565
20566 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20569 grub_strcpy since the lines aren't necessarily 0-terminated.
20570
20571 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20572
20573 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20574 root on legacy.
20575
20576 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20577
20578 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20579 (GRUB_MOD_INIT): DEVICE isn't optional.
20580
20581 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20584 word on new line if it's too long anyway. Fixes a hang.
20585
20586 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20587
20588 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20589 const.
20590 * util/grub-setup.c (main): Reuse md device name if available.
20591 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20592 not GRUB name as argument.
20593 Based on patch by: Florian Wagner <fwagner>.
20594
20595 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20596
20597 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20598 Place mbi on low memory for better compatibility.
20599
20600 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20603
20604 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20605 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20606
20607 * autogen.sh: Ensure that collate and ctype locale is C.
20608 * conf/Makefile.common: Likewise.
20609
20610 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20611
20612 * grub-core/normal/menu.c: Add missing include.
20613
20614 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
20617
20618 2011-04-08 Martin Zuther <mzuther@mzuther.de>
20619
20620 * util/grub-mkconfig.in: Ignore emacsen backup.
20621
20622 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20625 on open.
20626 (grub_util_biosdisk_close): Likewise.
20627
20628 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20629
20630 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20631 const attribute and use grub_isdigit.
20632
20633 2011-04-06 Andrey <dev_null@ukr.net>
20634
20635 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20636 gcc warning.
20637
20638 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20639
20640 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20641 useful grub_dprintf's.
20642
20643 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20644
20645 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20646
20647 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20648
20649 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20650
20651 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20652
20653 Output errors if theme loading failed.
20654
20655 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20656 grub_gfxterm_fullscreen on error paths to ...
20657 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20658 theme loading error.
20659
20660 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20661
20662 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20663 space for older compilers.
20664 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20665
20666 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20667
20668 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20669 and report them as not RAID members since they are useless for GRUB.
20670 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20671
20672 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20673
20674 Increase LVM implementation robustness in order not to crash on
20675 configurations like pvmove. Previously code assumed that in some places
20676 only lvs or only pvs are used whereas it seems that they are used
20677 interchangeably.
20678
20679 * grub-core/disk/lvm.c (read_node): New function.
20680 (read_lv): Use read_node.
20681 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20682 Match volumes only at the end when all lvs are found. Take both
20683 pvs (first) and lvs (second) into account.
20684 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20685 mirror_* into node_*. All users updated.
20686 (grub_lvm_stripe): Merge this ...
20687 (grub_lvm_mirror): ... and this ...
20688 (grub_lvm_node): ... into this. All users updated.
20689
20690 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20691
20692 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20693 of function to allow further scanning for LVMs.
20694
20695 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20696
20697 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20698 on failed seek as it breaks open fd reusage.
20699
20700 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20701
20702 * util/grub-install.in: Add a recommendation to use --recheck before
20703 reporting bugs.
20704
20705 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20706
20707 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20708 are obtained.
20709
20710 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 GRUB developper manual based on existing Internals section and
20713 contributions by the various authors with active copyright assignment.
20714
20715 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20716 * docs/font_char_metrics.png: New file.
20717 * docs/font_char_metrics.txt: Likewise.
20718 * docs/grub-dev.texi: Likewise.
20719 * docs/grub.texi (Internals): Move from here ...
20720 * docs/grub-dev.texi: ... here.
20721
20722 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20723
20724 Store the loopback device as data on loopback grub_disk structures,
20725 rather than the file it points to. This fixes use of freed memory
20726 if an existing loopback device is replaced.
20727
20728 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20729 disk->data, not dev->file.
20730 (grub_loopback_read): Adjust file assignment to match.
20731 Fixes Ubuntu bug #742967.
20732
20733 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20734
20735 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20736 when replacing an existing device.
20737
20738 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20739
20740 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20741 memory corruptions.
20742
20743 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20744 unsigned.
20745 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20746 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20747 (grub_jfs_read_inode): Likewise.
20748 (grub_jfs_opendir): Likewise. Remove now useless casts.
20749 (grub_jfs_getent): Likewise.
20750 Make ino a grub_uint32_t rather than int.
20751 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20752 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20753 division and module with bit operations.
20754 (grub_jfs_find_file): Make ino a grub_uint32_t.
20755 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20756
20757 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20758
20759 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20760 warning. (This was in fact always initialised before use, but GCC
20761 wasn't smart enough to prove that.)
20762 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20763
20764 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20765
20766 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20767 stack alignment.
20768 (efi_wrap_1): Likewise.
20769 (efi_wrap_2): Likewise.
20770 (efi_wrap_3): Likewise.
20771 (efi_wrap_4): Likewise.
20772 (efi_wrap_5): Likewise.
20773 (efi_wrap_6): Likewise.
20774 (efi_wrap_10): Likewise.
20775 Based on information by: Red Hat/Peter Jones.
20776
20777 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20778
20779 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20780 set-but-not-used variable.
20781
20782 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20783
20784 * docs/grub.texi (Simple configuration): Be more explicit about
20785 GRUB_DEFAULT, and add an example.
20786 Reported by: Leslie Rhorer.
20787
20788 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20789
20790 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20791 shell".
20792
20793 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20794
20795 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20796 * util/grub.d/20_linux_xen.in: Likewise.
20797
20798 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20799
20800 * util/grub.d/10_linux.in: Try alternative config filenames where
20801 we parse config file.
20802 * util/grub.d/20_linux_xen.in: Likewise.
20803
20804 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20805
20806 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20807 * util/grub.d/20_linux_xen.in: Likewise.
20808
20809 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20810
20811 * grub-core/disk/raid.c (insert_array): Add few potentially
20812 useful grub_util_info.
20813 (grub_raid_register): Likewise.
20814
20815 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20816
20817 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20818 Preserve partition number in mdadm code path.
20819
20820 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20821
20822 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20823 few potentially useful grub_util_info.
20824
20825 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20826
20827 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20828
20829 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20830
20831 * docs/grub.texi (default): Use @example rather than nested
20832 itemized lists to avoid breaking gendocs.
20833
20834 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20835
20836 * docs/grub.texi (Future): Update.
20837
20838 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20839
20840 * docs/grub.texi (Environment): New chapter.
20841 (Changes from GRUB Legacy): Link to "Environment block" section for
20842 details of limitations.
20843 (Simple configuration): Likewise. Link to documentation of gfxmode
20844 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20845 respectively.
20846 (Shell-like scripting): Note that normal variables are stored in the
20847 environment.
20848 (gettext): Link to documentation of lang and locale_dir.
20849 (list_env): New section.
20850 (load_env): New section.
20851 (save_env): New section.
20852
20853 (Reporting bugs): Fix typo.
20854
20855 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20856
20857 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20858 the example.
20859
20860 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20861
20862 * grub-core/term/at_keyboard.c (set_scancodes)
20863 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20864
20865 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20866
20867 * docs/grub.texi (Menu-specific commands): Remove some semantics
20868 that were true in GRUB Legacy but not in GRUB 2.
20869 (submenu): New section.
20870 (false): New section.
20871 (read): New section.
20872 (true): New section.
20873
20874 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20875
20876 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20877
20878 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20879
20880 * docs/grub.texi (Simple configuration): Explain some of the
20881 current limitations of grub-mkconfig.
20882 Reported by: Leslie Rhorer.
20883
20884 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20885
20886 Old macs search for boot.efi rather than for bootia32.efi.
20887
20888 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20889 * util/grub-mkrescue.in: Likewise.
20890 Suggested by: Peter Jones.
20891
20892 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20893
20894 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20895
20896 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20897
20898 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20899 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20900 (grub_lvm_mirror): New struct.
20901 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20902 (grub_lvm_iterate): Iterate only visible volumes.
20903 (grub_lvm_read): Factor out to ..
20904 (read_lv): ... this. Support mirrors.
20905 (grub_lvm_read): New wrapper function.
20906 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20907 stripped or mirrored.
20908
20909 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20910
20911 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20912
20913 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20914
20915 * docs/grub.texi (loopback): New section.
20916
20917 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20918
20919 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20920 removed -p option.
20921
20922 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20923
20924 * docs/grub.texi (BIOS installation): New section, partly based on
20925 previous text in other sections.
20926 (Installing GRUB using grub-install): Replace BIOS discussion with a
20927 cross-reference.
20928 (Images): Likewise.
20929
20930 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20931
20932 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20933 [HAVE_DIOCGDINFO]: Add safety checks.
20934
20935 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20938 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20939
20940 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20941
20942 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20943 real_sb->size is zero (e.g. RAID-0), get the disk size from
20944 real_sb->data_size instead.
20945 Fixes Ubuntu bug #743136.
20946
20947 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20950 printf clauses for printing size and start.
20951
20952 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20953
20954 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20955 Reported and tested by: Timothy Nikkel.
20956
20957 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20960 (dirty_region_add_real): ... this.
20961 (dirty_region_add): Don't discard margin refresh when performing
20962 scheduled repaint.
20963
20964 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20965
20966 * grub-core/lib/relocator.c (allocate_regstart)
20967 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20968 terminals are capabple of malloc-free operation.
20969 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20970 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20971
20972 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20973
20974 * util/grub-setup.c: Copy the partition table zone if floppy support
20975 is disabled, even if no partition table is found.
20976
20977 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20978 during POST if an invalid partition table is contained in the PBR
20979 of the active partition when GRUB is installed to a partition.
20980
20981 2011-03-28 Colin Watson <cjwatson@debian.org>
20982
20983 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20984 comment.
20985
20986 2011-03-28 Colin Watson <cjwatson@debian.org>
20987
20988 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20989 to be specific about what kind of RAID device we're scanning for.
20990
20991 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20992
20993 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20994 return freed string.
20995
20996 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20997
20998 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20999
21000 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21001
21002 Use libgeom on FreeBSD to detect partitions.
21003
21004 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
21005 (grub-mkrelpath): Likewise.
21006 (grub-script-check): Likewise.
21007 (grub-editenv): Likewise.
21008 (grub-mkpasswd-pbkdf2): Likewise.
21009 (grub-fstest): Likewise.
21010 (grub-mkfont): Likewise.
21011 (grub-mkdevicemap): Likewise.
21012 (grub-probe): Likewise.
21013 (grub-setup): Likewise.
21014 (grub-ofpathname): Likewise.
21015 (grub-mklayout): Likewise.
21016 (example_unit_test): Likewise.
21017 (grub-menulst2cfg): Likewise.
21018 * grub-core/Makefile.core.def (grub-emu): Likewise.
21019 (grub-emu-lite): Likewise.
21020 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
21021 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
21022 define HAVE_DIOCGDINFO.
21023 (follow_geom_up) [FreeBSD]: New function.
21024 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
21025 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
21026 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
21027 unconditionally of HAVE_DIOCGDINFO.
21028
21029 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21030
21031 Fix FreeBSD compilation problem.
21032
21033 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
21034 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
21035
21036 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
21037
21038 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
21039 Switch back to page zero before loading a kernel, since some kernel
21040 drivers expect that.
21041 Thanks to: Felix Kuehling.
21042
21043 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21044
21045 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
21046 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
21047 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
21048
21049 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21050
21051 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
21052 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
21053
21054 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21055
21056 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
21057 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
21058 malloc is disabled.
21059
21060 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21061
21062 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
21063 for modules headers when counting the needed allocation size.
21064
21065 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21066
21067 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
21068 if no ASCII character is found to prevent crash.
21069
21070 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
21071
21072 * grub-core/video/bitmap.c (match_extension): Ignore case.
21073
21074 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21075
21076 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
21077
21078 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21079
21080 * grub-core/script/parser.y: Declare "time" as valid argument.
21081
21082 2011-03-23 Peter Jones <pjones@redhat.com>
21083
21084 Fix incorrect assert failure reporting.
21085
21086 * grub-core/tests/example_functional_test.c (example_test): Add
21087 a failure comment.
21088 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
21089 (failure_start): ...this. Check that malloc succeeded.
21090 Don't call xvasprintf. Return failure struct.
21091 (failure_append_vtext): New function.
21092 (failure_append_text): Likewise.
21093 (add_failure): Likewise.
21094 (grub_test_assert_helper): Likewise.
21095 * include/grub/test.h (grub_test_assert_helper): New declaration.
21096 (grub_test_assert): Macro rewritten.
21097
21098 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21099
21100 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
21101
21102 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21103
21104 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
21105
21106 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21107
21108 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
21109 into GRUB-style one.
21110
21111 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21112
21113 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
21114 error and not grub_errno.
21115 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
21116
21117 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21118
21119 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
21120 GRUB_USB_SPEED_NONE in case of failure and not the error code.
21121
21122 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * grub-core/efiemu/i386/pc/cfgtables.c
21125 (grub_machine_efiemu_init_tables): Make declaration a prototype.
21126 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
21127 (grub_xnu_unlock): Likewise.
21128 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
21129
21130 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
21133 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
21134 * grub-core/commands/hashsum.c (aliases): Likewise.
21135 * grub-core/commands/setpci.c (pci_registers): Likewise.
21136 * grub-core/disk/usbms.c (attach_hook): Likewise.
21137 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
21138 (zio_checksum_table): Likewise.
21139 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
21140 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
21141 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
21142 * grub-core/lib/relocator.c (leftovers): Likewise.
21143 (extra_blocks): Likewise.
21144 * grub-core/loader/i386/bsd.c (relocator): Likewise.
21145 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
21146 (modules_last): Likewise.
21147 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
21148 (devices): Likewise.
21149 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
21150 (modules_last): Likewise.
21151 * grub-core/normal/auth.c (users): Likewise.
21152 * grub-core/normal/context.c (initial_menu): Likewise.
21153 (current_menu): Likewise.
21154 * grub-core/normal/crypto.c (crypto_specs): Likewise.
21155 * grub-core/term/serial.c (grub_serial_ports): Likewise.
21156 (grub_serial_terminfo_input_template): Likewise.
21157 (grub_serial_terminfo_output_template): Likewise.
21158 (grub_serial_terminfo_input): Likewise.
21159 (grub_serial_terminfo_output): Likewise.
21160 (registered): Likewise.
21161 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
21162
21163 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21164
21165 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
21166 grub_video_mode_type_t.
21167 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
21168 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
21169 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
21170
21171 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21172
21173 * util/grub-install.in: Correct the x86-64 name as x86_64.
21174
21175 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
21176
21177 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
21178 initial chunk read from the kernel always includes GRUB's multiboot
21179 header, which is now outside the first sector.
21180
21181 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21182
21183 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
21184 cached mmap_size, so that this works correctly when called multiple
21185 times.
21186 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
21187
21188 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21189
21190 * docs/grub.texi (Simple configuration): Tidy up formatting.
21191
21192 2011-03-07 Szymon Janc <szymon@janc.net.pl>
21193
21194 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
21195 Set-but-not-used variable removed.
21196
21197 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 Workaround yet another IEEE1275 bug.
21200
21201 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
21202 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
21203 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
21204 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
21205 is set.
21206 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21207 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
21208
21209 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21210
21211 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
21212 error.
21213
21214 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
21215
21216 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
21217 empty, since in that case we can only generate either nothing or a
21218 syntactically invalid configuration file.
21219 Reported by: Michal Suchanek. Fixes Debian bug #612898.
21220
21221 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21222
21223 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
21224 (Making a GRUB bootable CD-ROM): Likewise.
21225 (Invoking grub-mkrescue): New section.
21226 Reported by: Yann Dirson. Fixes Debian bug #612585.
21227
21228 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21229
21230 * util/grub-install.in: Remove unnecessary brackets from tr
21231 arguments.
21232 * util/grub.d/10_hurd.in: Likewise.
21233 * util/grub.d/10_kfreebsd.in: Likewise.
21234 * util/grub.d/10_linux.in: Likewise.
21235 * util/grub.d/20_linux_xen.in: Likewise.
21236 Reported by: Jamie Heilman. Fixes Debian bug #612564.
21237
21238 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
21239
21240 * include/grub/file.h (not_easly_seekable): Rename to ...
21241 (not_easily_seekable): ... this. Update all users.
21242
21243 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
21244
21245 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
21246 grub-mkrescue.
21247
21248 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21249
21250 * util/grub-mkimage.c (generate_image): Refuse to create the images
21251 bigger than the actual flash (512K) in Loongson machines. 512K is also
21252 the biggest chip supported by them.
21253
21254 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21257
21258 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
21259
21260 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21261 super_offset field.
21262
21263 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21264
21265 * util/grub-install.in: Ignore install device on platforms
21266 where it doesn't make sense. Always use UUIDs except on pc, efi and
21267 sparc64.
21268 Reported by: Daniel Kahn Gillmor.
21269
21270 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21273
21274 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21275
21276 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21277 (iterate_real): Don't rely on partition being non-NULL.
21278
21279 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21280
21281 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21282 supported platforms. Put a compile time assert for this rather than
21283 generate a warning with 32-bit shift.
21284
21285 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21286
21287 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21288 logical expression more readable.
21289
21290 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21291
21292 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21293 even if some elements have a name.
21294 Reported by: Alexander GQ Gerasiov.
21295
21296 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21297
21298 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21299 path unreadable if `grub-probe -t abstraction' fails, for example if
21300 memberlist fails on an LVM volume group.
21301 Reported by: Darius Jahandarie.
21302
21303 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21304
21305 * docs/grub.texi (Simple configuration): Document
21306 GRUB_PRELOAD_MODULES.
21307
21308 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
21309
21310 * .bzrignore: Remove nonexistent grub-pbkdf2.
21311
21312 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21313
21314 * configure.ac: Bump version to 1.99~rc1.
21315
21316 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21317
21318 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21319 for safety.
21320
21321 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21324 module.
21325
21326 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21327
21328 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21329
21330 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21331
21332 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21333 diskdevid.
21334
21335 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21336
21337 Fix compilation on cygwin.
21338
21339 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21340 -R .drectve on cygwin.
21341 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21342 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21343 (COND_CYGWIN): New condition.
21344 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21345 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21346 not @TARGET_OBJ2ELF@.
21347 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21348 type to determine whether aux is to be used.
21349
21350 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21351
21352 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21353 realpath'ed device string.
21354 Handle floppy (somewhat).
21355 Issue error in unknown case rather than garbage.
21356 Reported by: Axel Beckert.
21357
21358 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21359
21360 * util/grub.d/00_header.in (load_video): Handle the case when no video
21361 drivers available.
21362 Thanks to: Axel Beckert.
21363
21364 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21367 variable. Fixes problem on big endian platforms.
21368
21369 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21370
21371 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21372 It doesn't work well there.
21373
21374 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21377 warning.
21378 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21379 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21380 counter.
21381
21382 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21383
21384 Use alias->path rather than buggy "canon".
21385
21386 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21387 (ofdisk_hash_add): New argument curcan. All users updated.
21388
21389 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21390
21391 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21392
21393 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21394
21395 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21396 loadmask before doing any calculations. Use correct type for offset.
21397 (grub_linux_load64): Likewise.
21398
21399 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21400
21401 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21402 with NULL.
21403 (console_grub_equivalences_unshift): Likewise.
21404 Reported by: Daniel Dehennin.
21405
21406 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21407
21408 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21409 (set_env_limn_ro): Likewise.
21410 (GRUB_MOD_INIT): Likewise.
21411 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21412 ARRAY_SIZE while on it.
21413 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21414 * grub-core/normal/context.c (grub_env_export): Move from here ...
21415 * grub-core/kern/env.c (grub_env_export): ... here.
21416 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21417 prefix.
21418 * grub-core/kern/main.c (grub_main): Export root and prefix.
21419 * include/grub/env.h (grub_env_export): Export.
21420 Reported by: Seth Goldberg.
21421
21422 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21425 Take into account space used by ELF sections and multiboot palette.
21426 Reported by: Grégoire Sutre.
21427
21428 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 * BUGS: New file.
21431
21432 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21433
21434 Pass more appropriate video id to Linux.
21435
21436 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21437 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21438 fill have_vga.
21439 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21440 shift params->lfb_size.
21441 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21442
21443 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21444
21445 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21446
21447 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21450 separator and pass bootpath/devid even if only one of them is available.
21451 Reported by: Seth Goldberg.
21452
21453 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21454
21455 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21456 implementations bug on them.
21457
21458 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21459 memory.
21460 (filter_memory_map): Likewise.
21461
21462 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21463
21464 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21465 Reported by: nebuchadnezzar.
21466
21467 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21468
21469 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21470 Reported by: nebuchadnezzar.
21471
21472 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21473
21474 Submenu default support.
21475
21476 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21477 auto_boot. All users updated.
21478 Declared static.
21479 Handle chosen and default with submenus.
21480 (grub_menu_execute_with_fallback): Declared static.
21481 Don't notify failure if autobooted. Upper level does it.
21482 (menuentry_eq): New function.
21483 (get_entry_number): Use menuentry_eq.
21484 (show_menu): New parameter "autobooted". All users updated.
21485 (grub_show_menu): Likewise.
21486 * include/grub/normal.h (grub_show_menu): Likewise.
21487 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21488 (grub_menu_execute_with_fallback): Likewise.
21489
21490 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 * util/grub-mklayout.c (usage): Update help text.
21493
21494 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21495
21496 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21497
21498 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21499
21500 * util/grub-menulst2cfg.c (main): Trim the line.
21501
21502 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21505 (grub_machine_init): Don't check amount of low memory as reportedly
21506 INT 12h can be broken and if low memory is too low we wouldn't have
21507 gotten into grub_machine_init anyway.
21508
21509 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21510
21511 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21512 (grub_machine_mmap_iterate): Take low memory into account
21513
21514 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21515
21516 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21517 badfs.
21518 Reported by: TiCPU.
21519
21520 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21521
21522 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21523 members errors.
21524
21525 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21526
21527 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21528 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21529
21530 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21531
21532 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21533 openbsd and netbsd types being in part_bsd module.
21534
21535 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21536
21537 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21538 (_FILE_OFFSET_BITS): Likewise.
21539 Reported by: Seth Goldberg.
21540
21541 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21542
21543 * configure.ac: Check for libdevmapper header.
21544
21545 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21546
21547 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21548 avoid aliasing.
21549 (fzap_lookup): Likewise.
21550 (dnode_get): Likewise.
21551 (make_mdn): Likewise.
21552 (zfs_mount): Likewise.
21553 (fzap_iterate): Use temporary pointer to avoid aliasing.
21554 (grub_zfs_read): Likewise.
21555 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21556 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21557 pointers to avoid aliasing.
21558 (grub_cmd_xnu_kernel64): Likewise.
21559 (grub_xnu_load_driver): Likewise.
21560
21561 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21564 aliasing warning.
21565 (grub_cmd_terminal_output): Likewise.
21566 Reported and tested by: Grégoire Sutre.
21567
21568 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21571 warning.
21572 Reported and tested by: Grégoire Sutre.
21573
21574 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21575
21576 * configure.ac: Do CPU substitution even if it's specified explicitly.
21577 Reported and tested by: Alain Greppin.
21578
21579 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21580
21581 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21582 Reported and tested by: Alain Greppin.
21583
21584 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21585
21586 Satisfy some bison versions need for inttypes.h.
21587
21588 * grub-core/lib/posix_wrap/inttypes.h: New file.
21589 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21590 (int16_t): Likewise.
21591 (int32_t): Likewise.
21592 (int64_t): Likewise.
21593 Reported and tested by: Alain Greppin.
21594
21595 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21596
21597 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21598 Silence spurious warning.
21599 Reported and tested by: Alain Greppin.
21600
21601 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21602
21603 * docs/grub.texi (Support automatic decompression): Update with xz
21604 decompression support.
21605
21606 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21607
21608 Improve loaders' kernel command line handling.
21609
21610 * grub-core/lib/cmdline.c: New file.
21611 * include/grub/lib/cmdline.h: Likewise.
21612 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21613 grub_create_loader_cmdline to create kernel command line.
21614 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21615 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21616 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21617 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21618 (linux): Add lib/cmdline.c on common.
21619
21620 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21621
21622 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21623 inopos might be unaligned.
21624
21625 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21626
21627 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21628 endian transformations.
21629 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21630 Based on report by: Doug Nazar.
21631
21632 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
21633
21634 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21635 array->members[i].start_sector.
21636 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21637
21638 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21639
21640 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21641 Reported and tested by: Grégoire Sutre.
21642
21643 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21644
21645 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21646 avoid causing test failures by clearing the screen.
21647
21648 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21649
21650 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21651 Fix prefix check to handle the case where dir ends with a slash
21652 (most significantly, "/" itself).
21653 Reported by: Michael Vogt.
21654
21655 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21656
21657 Run terminfo_cls on initing terminfo output to clear the screen and
21658 move the cursor to (0,0).
21659
21660 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21661 Call grub_terminfo_output_init.
21662 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21663 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21664 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21665
21666 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21667
21668 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21669 only when needed.
21670
21671 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21672
21673 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21674 CTRL.
21675
21676 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21677
21678 The E820 type 5 is BADRAM, not EXEC_CODE.
21679
21680 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21681 (GRUB_E820_BADRAM): New define.
21682 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21683 into reserved. Propagate BADRAM.
21684 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21685 (GRUB_E820_BADRAM): New define.
21686
21687 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21688
21689 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21690 Ignore the memory post-4G.
21691 (grub_relocator_firmware_alloc_region): Additional debug statement.
21692
21693 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21696 names.
21697 Reported by: David Pravec.
21698
21699 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21700
21701 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21702 BIOSes.
21703
21704 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21705
21706 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21707 Prevent overflow.
21708 (grub_reed_solomon_recover): Likewise.
21709
21710 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21711
21712 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21713
21714 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21717 variable.
21718
21719 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
21720
21721 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21722 descriptions of extract_legacy_entries_source and
21723 extract_legacy_entries_configfile.
21724 Reported by: Seung Soo, Ha.
21725
21726 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
21727
21728 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21729 on devices that do not implement function 0.
21730
21731 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21732
21733 * grub-core/fs/hfsplus.c: Make parent unsigned.
21734 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21735 overflows.
21736 (grub_hfsplus_cmp_extkey): Likewise
21737
21738 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21739
21740 * util/grub-install.in: Correctly use bootloader_id and not
21741 GRUB_DISTRIBUTOR on efibootmgr line.
21742
21743 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21746
21747 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
21748
21749 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21750 Xen and reorder menu item wording to make it clearer that this entry
21751 will launch Xen. Print separate messages when loading Xen and
21752 Linux.
21753
21754 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21757 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21758 loop in case of incorrect amiga partmap.
21759
21760 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21761
21762 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21763 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21764 Reported by:EHeM.
21765
21766 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21767
21768 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21769 spurious warning.
21770 Reported by: crocket
21771
21772 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21773
21774 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21775 Preload EFIemu.
21776 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21777
21778 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21779
21780 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21781 is loaded
21782 (grub_cmd_xnu_kextdir): Likewise.
21783 (grub_cmd_xnu_splash): Likewise.
21784
21785 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21786
21787 Avoid using Reed-Solomon with 0 redundancy.
21788
21789 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21790 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21791 or 0 redundancy.
21792 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21793 (grub_reed_solomon_recover): Likewise.
21794
21795 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 Don't use disk subsystem in freebsd_boot.
21798
21799 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21800 (freebsd_biosdev): Likewise.
21801 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21802 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21803
21804 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21805
21806 Handling of files of unknown size is currently limited. They can't be
21807 used e.g. for initrd or modules. Moreover gzip handling of not
21808 easily seekable files is buggy. Disable unknown file size for now. May
21809 be inefficient but works.
21810
21811 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21812 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21813
21814 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21815
21816 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21817 floppy probe.
21818
21819 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21820
21821 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21822
21823 2010-12-25 Shea Levy <shlevy>
21824
21825 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21826
21827 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21828
21829 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21830 Windows Server 2008.
21831 Reported by: Devin Giddings.
21832
21833 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21836 writing an error message because of async power management.
21837 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21838 (grub_reboot): Likewise.
21839
21840 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21841
21842 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21843 keep unit tests from failing when they shouldn't.
21844
21845 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21846
21847 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21848 previous patch increased the size of the RS code by 20 bytes (at
21849 least with gcc-4.4), so increase this by 20 bytes to match.
21850 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21851
21852 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21853
21854 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21855 scratch area. Make sure to initialise chosen in standalone mode as
21856 well as non-standalone.
21857 Reported by: Robert Hooker and Andy Whitcroft.
21858 Tested by: Andy Whitcroft.
21859
21860 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21861
21862 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21863 constructing a new unescaped string and passing it to grub_xputs in
21864 one go, rather than passing characters to grub_printf one at a time.
21865
21866 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21867
21868 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21869 initialising utf16.
21870
21871 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21872
21873 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21874 comment. Add an extra layer of quotation, requiring the output of
21875 this function to be used in a printf format string.
21876 (gettext_printf): New function.
21877 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21878 Extract translatable strings from here-documents and use a temporary
21879 variable instead, so that xgettext can find them.
21880 * util/grub.d/10_kfreebsd.in: Likewise.
21881 * util/grub.d/10_linux.in: Likewise.
21882 * util/grub.d/20_linux_xen.in: Likewise.
21883
21884 * po/grub.d.sed: New file.
21885 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21886 arguments. Set c-format flags on all strings extracted from
21887 util/grub.d/ (xgettext refuses to include these itself for strings
21888 it extracted from a shell file, but these really are c-format).
21889
21890 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21893 Avoid next pointing to nowhere.
21894
21895 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21896
21897 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21898 rather than assuming than rootblock is exactly in the middle.
21899 (grub_affs_label): Likewise.
21900
21901 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21902
21903 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21904 reserved_first_sector to 0.
21905 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21906 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21907 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21908
21909 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21910
21911 Fix handling of UTF-16 UDF labels.
21912
21913 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21914 (read_string): .. here.
21915 (grub_udf_label): Use read_string.
21916
21917 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21918
21919 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21920 editor under argument scope.
21921 Reported by: Jordan Uggla
21922
21923 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21926
21927 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
21928
21929 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21930 line, and other keys scroll an entire page (previous handling was
21931 for \r and \n to scroll a page and other keys to scroll two lines).
21932
21933 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21934
21935 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21936 Set ptrdest to correct get_physical_target_address rather than
21937 incorrect get_virtual_current_address.
21938
21939 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21940
21941 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21942 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21943
21944 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21945
21946 * .bzrignore: Ignore grub-core/rs_decoder.S.
21947
21948 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21949
21950 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21951 .mo/.mo.gz opening sequence to ...
21952 (grub_mofile_open_lang): ... here.
21953 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21954 * util/grub.d/00_header.in (grub_lang): Include country part of
21955 locale.
21956 Reported by: Mario Limonciello.
21957
21958 2010-12-09 Robert Millan <rmh@gnu.org>
21959
21960 * NEWS: Document addition of ZFS support.
21961
21962 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
21963
21964 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21965 rather than `/ 2', as the latter requires -Wa,--divide which would
21966 require bumping our minimum binutils version.
21967
21968 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21969
21970 * util/grub-script-check.c (main): Print script line number on
21971 error.
21972
21973 2010-12-01 Robert Millan <rmh@gnu.org>
21974
21975 * grub-core/fs/zfs/zfs.c: New file.
21976 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21977 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21978 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21979 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21980
21981 * include/grub/zfs/dmu.h: Likewise.
21982 * include/grub/zfs/dmu_objset.h: Likewise.
21983 * include/grub/zfs/dnode.h: Likewise.
21984 * include/grub/zfs/dsl_dataset.h: Likewise.
21985 * include/grub/zfs/dsl_dir.h: Likewise.
21986 * include/grub/zfs/sa_impl.h: Likewise.
21987 * include/grub/zfs/spa.h: Likewise.
21988 * include/grub/zfs/uberblock_impl.h: Likewise.
21989 * include/grub/zfs/vdev_impl.h: Likewise.
21990 * include/grub/zfs/zap_impl.h: Likewise.
21991 * include/grub/zfs/zap_leaf.h: Likewise.
21992 * include/grub/zfs/zfs.h: Likewise.
21993 * include/grub/zfs/zfs_acl.h: Likewise.
21994 * include/grub/zfs/zfs_znode.h: Likewise.
21995 * include/grub/zfs/zil.h: Likewise.
21996 * include/grub/zfs/zio.h: Likewise.
21997 * include/grub/zfs/zio_checksum.h: Likewise.
21998
21999 * Makefile.util.def: Build ZFS into libgrubmods.
22000 * grub-core/Makefile.core.def: Build zfs.mod.
22001
22002 2010-11-30 Szymon Janc <szymon@janc.net.pl>
22003
22004 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
22005 variable.
22006 * grub-core/commands/wildcard.c (match_files): Likewise.
22007
22008 2010-11-30 Robert Millan <rmh@gnu.org>
22009
22010 * grub-core/loader/i386/bsd.c
22011 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
22012 whether kernel is loaded using grub_loader_is_loaded(), rather
22013 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
22014 certain error conditions.
22015
22016 2010-11-30 Robert Millan <rmh@gnu.org>
22017
22018 * grub-core/commands/echo.c: Include `<grub/term.h>'.
22019 (grub_cmd_echo): Call grub_refresh() after printing a message.
22020
22021 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
22022
22023 Avoid using tricks for initialising endian variables.
22024
22025 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
22026 Make const.
22027 (GRUB_MOD_INIT): Don't byte-swap.
22028 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
22029 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
22030 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
22031 (grub_swap_bytes32_compile_time): Likewise.
22032 (grub_cpu_to_le32_compile_time): Likewise.
22033 (grub_cpu_to_le16_compile_time): Likewise.
22034
22035 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
22036
22037 * util/grub-setup.c (setup): Stop recommending --force. People who
22038 understand the dangers of blocklists are able to find this option
22039 anyway and the ones who don't shouldn't use it anyway.
22040
22041 2010-11-26 Robert Millan <rmh@gnu.org>
22042
22043 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
22044 Update all users.
22045
22046 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
22047
22048 Fix LVM-on-RAID probing.
22049
22050 * util/grub-probe.c (probe): Remember which disk was detected as
22051 RAID (perhaps an LVM physical volume). Use that disk's raidname
22052 rather than that of the top-level disk.
22053
22054 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
22055
22056 Fix cmdline argument quotes for setparams command of menuentry
22057 definitions.
22058
22059 * grub-core/commands/menuentry.c (setparams_prefix): Use single
22060 quotes for arguments.
22061 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
22062 grub_strchrsub function instead.
22063
22064 * include/grub/misc.h (grub_strchrsub): New function.
22065
22066 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
22067
22068 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
22069 effort by skipping "." and ".." entries up-front.
22070 Suggested by: Michael Lazarev.
22071
22072 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
22073
22074 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
22075 ldflags to ldadd, to fix link line ordering.
22076 (none_decompress): Likewise.
22077
22078 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
22079
22080 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
22081 platforms.
22082 (grub-emu-lite): Remove kern/emu/cache.S.
22083
22084 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22085
22086 * util/deviceiter.c (compare_devices): If the by-id link for a
22087 device couldn't be resolved, fall back to sorting by the by-id link
22088 rather than segfaulting.
22089 Reported and tested by: Daniel Mierswa.
22090
22091 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22092
22093 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
22094 ldflags, to fix link line ordering.
22095
22096 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22097
22098 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
22099 linkers are picky about this.
22100
22101 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22102
22103 * grub-core/Makefile.am (command.lst): Adjust sed expression
22104 ordering so that extended and priority commands aren't treated as
22105 ordinary commands.
22106
22107 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22108
22109 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
22110 Remove byte-swapping function calls, which are not valid in
22111 structure initialisers.
22112 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
22113 non-const.
22114 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
22115 grub_gpt_partition_type_bios_boot.
22116
22117 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22118
22119 Fix test program build on GNU/kFreeBSD.
22120
22121 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
22122 $(LIBNVPAIR)' library dependencies.
22123
22124 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22125
22126 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
22127
22128 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22129
22130 * util/grub-install.in: Remove excessive quoting that broke
22131 installations to RAID devices.
22132
22133 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
22136 bootloader version instead of 0.
22137
22138 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22139
22140 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
22141 warning.
22142
22143 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22144
22145 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
22146 retrieve the metadat sector if size isn't known.
22147 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22148
22149 2010-11-18 Robert Millan <rmh@gnu.org>
22150
22151 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
22152 with grub_memcmp().
22153
22154 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
22155
22156 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
22157 arrow.
22158 Reported by: Jordan Uggla.
22159
22160 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22161
22162 Make better UTF compliant.
22163
22164 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
22165 sequences as incorrect.
22166 (grub_is_valid_utf8): Likewise.
22167 (grub_utf8_to_ucs4): Likewise.
22168 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
22169 (grub_ucs4_to_utf8_alloc): Likewise.
22170 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
22171
22172 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22173
22174 Make legacy_source behave like source.
22175
22176 * grub-core/commands/legacycfg.c (legacy_file): Don't call
22177 grub_show_menu.
22178 (grub_cmd_legacy_source): Call grub_show_menu if needed.
22179
22180 2010-11-16 Colin Watson <cjwatson@debian.org>
22181
22182 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
22183 (-Wunused implies -Wunused-parameter, but not vice versa).
22184
22185 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
22186
22187 * configure.ac: Make error messages less confusing by testing for
22188 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
22189 accepted, but produces a diagnostic if something else is wrong).
22190
22191 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22192
22193 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
22194 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
22195 (now unused).
22196 (grub_keyboard_controller_init)
22197 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
22198 read the initial state since controller isn't inited yet.
22199
22200 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
22203 allocate_regbeg may need to create new chunk header.
22204
22205 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22206
22207 Fix quoting in legacy parser.
22208
22209 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
22210 single quotes.
22211 (grub_legacy_parse): Likewise.
22212 Reported by: Jordan Uggla.
22213 Tested by: Jordan Uggla.
22214
22215 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22216
22217 Don't add -lgcc on i386 and x86_64.
22218
22219 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
22220 * conf/Makefile.common (LDADD_KERNEL): Likewise.
22221 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
22222
22223 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22224
22225 * configure.ac: Add -Wno-trampolines when supported.
22226
22227 2010-11-14 Modestas Vainius <modax@debian.org>
22228
22229 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
22230 fakeraid.
22231
22232 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22233
22234 Add generic logical block size support for UDF.
22235
22236 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
22237 (GRUB_UDF_BLKSZ): Removed.
22238 (struct grub_udf_data): New field "lbshift" to hold the logical block
22239 size of the file system in log2 format. All users updated.
22240 (sblocklist): Change type to unsigned.
22241 (grub_udf_mount): Change type of "sblklist" to unsigned.
22242 Move AVDP search before VRS recognition, because the latter requires
22243 knowledge of the logical block size, which is detected during the
22244 former.
22245 Detect and validate logical block size during AVDP search, adding
22246 support for block sizes 512, 1024 and 4096.
22247 Make VRS recognition independent of block size.
22248
22249 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22250
22251 Properly handle deleted files on UDF.
22252
22253 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22254 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22255 set.
22256
22257 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22258
22259 Support reading files larger than 2 GiB.
22260
22261 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22262 "offset" to grub_off_t.
22263 (grub_udf_read_file): Likewise for parameter "pos".
22264
22265 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22268 unavailable.
22269 (Simple configuration): Refer to Changes from GRUB Legacy about
22270 save_env availability.
22271
22272 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22273
22274 * util/grub-install.in: Ignore empty partition table detection
22275 instead of trying to include part_ module.
22276
22277 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22278
22279 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22280 LVM on RAID support.
22281
22282 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22283
22284 Properly define WORDS_BIGENDIAN in wrapped environments.
22285
22286 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22287 definition.
22288 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22289
22290 Reported by: Manoel Rebelo Abranches.
22291 Tested by: Manoel Rebelo Abranches.
22292
22293 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * util/grub-mkconfig.in: Fix quoting.
22296
22297 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 Support big ext2 files.
22300
22301 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22302 (grub_ext2_read_block): Support triple indirect blocks.
22303 (grub_ext2_read_file): Use 64-bit types and read size_high.
22304 (grub_ext2_open): Read size_high.
22305 Reported by: Ximin Luo.
22306 Tested by: Manoel Rebelo Abranches.
22307
22308 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22309
22310 * util/grub-install.in: Handle filenames containing spaces.
22311 Reported by: Jordan Uggla.
22312 Tested by: Jordan Uggla.
22313
22314 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22315
22316 * util/grub-mkconfig.in (grub_script_check): New variable.
22317 Use grub_script_check instead of grub-script-check.
22318 Reported by: Barry Jackson.
22319
22320 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22321
22322 * docs/grub.texi (menu): Correct the order.
22323 Reported by: D. Hugh Redelmeier.
22324
22325 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22326
22327 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22328 jump.
22329
22330 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22331
22332 * include/grub/elfload.h (grub_elf32_size): New parameter.
22333 All users updated.
22334 Return maximum segments alignment.
22335 (grub_elf64_size): Likewise.
22336 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22337 Return maximum segments alignment.
22338 (grub_elf64_size): Likewise.
22339 * grub-core/loader/powerpc/ieee1275/linux.c:
22340 (grub_linux_claimmap_iterate): New function. Uses the
22341 "available" property in the "memory" node for memory allocation
22342 for kernel in the PowerPC loader.
22343 (grub_linux_load32): Correctly find linux entry point offset.
22344 (grub_linux_load64): Likewise.
22345
22346 2010-11-07 Robert Millan <rmh@gnu.org>
22347
22348 On mips-yeeloong, build with -march=loongson2f when this flag is
22349 available (GCC >= 4.4).
22350 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22351 `-march=mips3'.
22352 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22353 or otherwise add -march=mips3.
22354
22355 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22356
22357 Suppress shell expansion on echo '*' and echo "*" like cases.
22358 Reported by: Jordan Uggla.
22359
22360 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22361 string arguments before shell expansion.
22362 * tests/grub_cmd_echo.in: New testcases.
22363
22364 2010-11-07 Robert Millan <rmh@gnu.org>
22365
22366 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22367 transition.
22368
22369 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22370
22371 * grub-core/kern/emu/hostdisk.c
22372 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22373
22374 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22375
22376 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22377 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22378 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22379
22380 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22383
22384 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22385
22386 * util/grub-install.in: Replace useless recomendation to pass
22387 --modules with a recomendation to report a bug.
22388
22389 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 Properly register serial terminfo.
22392 Reported by: Jordan Uggla
22393
22394 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22395 const.
22396 (grub_serial_terminfo_output_template): Likewise.
22397 (grub_cmd_serial): Register "serial" with terminfo.
22398 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22399 grub_serial_terminfo_output.
22400
22401 2010-11-05 Robert Millan <rmh@gnu.org>
22402
22403 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22404 needed).
22405
22406 2010-11-05 Robert Millan <rmh@gnu.org>
22407
22408 On Yeeloong, pass machine type information to Linux.
22409
22410 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22411 (LOONGSON_MACHTYPE): New macro, set to
22412 "machtype=lemote-yeeloong-2f-8.9inches".
22413 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22414 additional argument to Linux.
22415
22416 2010-11-04 Robert Millan <rmh@gnu.org>
22417
22418 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22419 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22420 (its SATA disks are detected as slaveless IDE master drives on
22421 kFreeBSD).
22422 Reported by Carsten Aulbert.
22423
22424 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
22425
22426 * util/bin2h.c (main): Fix spelling error in generated output.
22427
22428 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22429
22430 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22431
22432 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22433
22434 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22435 vga= option is supplied.
22436
22437 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22438
22439 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22440 * util/grub.d/10_kfreebsd.in: Likewise.
22441 * util/grub.d/10_linux.in: Likewise.
22442 * util/grub.d/20_linux_xen.in: Likewise.
22443
22444 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22447 argument as an argument to no-argument option.
22448
22449 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 * util/grub.d/10_linux.in: Add missing load_video with explicit
22452 GRUB_GFXPAYLOAD_LINUX.
22453
22454 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22455
22456 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22457
22458 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22459
22460 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22461 elements with invlid index.
22462 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22463 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22464 members.
22465 * include/grub/raid.h (grub_raid_member): New struct.
22466 (grub_raid_array): Transform devices and start_sector into usage of
22467 grub_raid_member. All users updated
22468 (allocated_devs): New member.
22469
22470 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22471
22472 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22473 is modified
22474
22475 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22476
22477 NetBSD build fix for getline function conflict from gnulib.
22478
22479 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22480 components that depend on gnulib headers.
22481 (libgrubmods.a): Renamed from earlier libgrub.a.
22482 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22483
22484 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22485
22486 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22487 install rather than creating a broken install.
22488
22489 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22490
22491 * util/grub-setup.c (argp): Remove misleading example of installing to
22492 a partition.
22493
22494 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22495
22496 * util/grub-setup.c (setup): Clarify the error message.
22497
22498 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22499
22500 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22501
22502 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22503
22504 * grub-core/kern/emu/misc.c
22505 (grub_make_system_path_relative_to_its_root)
22506 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22507
22508 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22509
22510 * grub-core/kern/emu/misc.c
22511 (grub_make_system_path_relative_to_its_root): Revert r2882.
22512
22513 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22514
22515 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22516 useless field head. All users updated.
22517 (free_subchunk): Correct handling of IN_REGION subchunk.
22518
22519 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
22520
22521 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22522 (Supported kernels): Likewise.
22523
22524 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22525
22526 Make mktemp invocations portable.
22527
22528 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22529 exit if mktemp fails.
22530 * tests/grub_script_blockarg.in: Likewise.
22531 * tests/partmap_test.in: Likewise.
22532 * tests/util/grub-shell-tester.in: Likewise.
22533 * tests/util/grub-shell.in: Likewise.
22534 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22535 * Makefile.am: Likewise, and chain shell commands with `&&'
22536 instead of ';'.
22537 * util/grub-mkrescue.in: Use the same explicit template as above, and
22538 exit if mktemp fails.
22539
22540 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22541
22542 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22543 Linux kernel, reported by Dennis Schridde.
22544
22545 2010-10-17 Szymon Janc <szymon@janc.net.pl>
22546
22547 * grub-core/normal/auth.c (grub_auth_check_authentication):
22548 Set-but-not-used variable removed.
22549
22550 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22551
22552 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22553 32-bit linux protocol.
22554
22555 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22556
22557 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22558 cursor shape for sanity.
22559
22560 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 * docs/grub.texi (Installation): Document buggy BIOS install.
22563
22564 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * docs/grub.texi (Installation): Indent.
22567
22568 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22569
22570 * util/grub-setup.c (setup): New parameter allow_floppy.
22571 (arguments): New member allow_floppy.
22572 (argp_parser): Handle --allow-floppy.
22573 (main): Pass allow_floppy.
22574 * util/grub-install.in: New option --allow-floppy passed though to
22575 grub-setup.
22576
22577 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22578
22579 * util/grub-install.in: Handle partitionless disks.
22580
22581 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * util/grub-setup.c (setup): Don't clean blocklists before readability
22584 verfification.
22585
22586 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22587
22588 * docs/grub.texi (Installation): Document embedding zone. Remove
22589 obsolete grub-install example.
22590
22591 2010-10-16 Szymon Janc <szymon@janc.net.pl>
22592
22593 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22594 Set-but-not-used variable ifdef'ed.
22595 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22596 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22597 variable removed.
22598 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22599 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22600 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22601 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22602 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22603 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22604 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22605 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22606 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22607 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22608 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22609 Likewise.
22610
22611 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22612
22613 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22614 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22615 enum value.
22616
22617 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22620 synonym to _S5_. Needed for some DSDTs.
22621
22622 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22623
22624 Userspace ACPI parser debugging.
22625
22626 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22627 headers and add relevant defines. Don't include standard headers.
22628 (main) [GRUB_DSDT_TEST]: New function.
22629 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22630 Don't declare functions.
22631
22632 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22633
22634 Remove dead grub_efi_mm_fini.
22635
22636 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22637 (ALLOCATED_PAGES_SIZE): Likewise.
22638 (MAX_ALLOCATED_PAGES): Likewise.
22639 (allocated_pages): Likewise.
22640 (grub_efi_allocate_pages): Don't record allocated pages.
22641 (grub_efi_free_pages): Likewise.
22642 (grub_efi_mm_init): Likewise.
22643 (grub_efi_mm_fini): Removed.
22644
22645 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22646
22647 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22648 (grub_efi_mm_init): Take into account the memory map size increase.
22649
22650 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22651
22652 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22653 (serial_hw_put): Wait based on real time rather than port reads. Don't
22654 roken ports.
22655 * include/grub/serial.h (grub_serial_port): New field broken.
22656
22657 2010-10-16 Robert Millan <rmh@gnu.org>
22658
22659 * grub-core/kern/emu/misc.c
22660 (grub_make_system_path_relative_to_its_root): Fix premature return
22661 when processing non-root ZFS filesystems.
22662 Reported by Sergio Talens-Oliag.
22663
22664 2010-10-15 Robert Millan <rmh@gnu.org>
22665
22666 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22667 guarantee compressed ones are processed first.
22668
22669 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22670
22671 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22672 grub_efiemu_autocore.
22673
22674 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22675
22676 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22677 rather than 0x1b.
22678 (grub_console_getkey): Use correct jae opcode rather than ja.
22679
22680 2010-10-12 Robert Millan <rmh@gnu.org>
22681
22682 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22683 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22684 variable. All references updated.
22685
22686 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22687
22688 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22689
22690 Correctly distinguish mdraid flavours.
22691
22692 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22693 (insert_array): New argument raid.
22694 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22695 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22696 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22697
22698 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22699
22700 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22701 handling of special keys.
22702
22703 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22704
22705 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22706 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
22707
22708 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22709
22710 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22711 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22712 users updated.
22713 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
22714 Use right endpoint when querying descriptor.
22715
22716 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22717
22718 Clear out 0x80 color bit on EFI.
22719 Tested by: decoder
22720 Reported by: decoder and meta tech.
22721
22722 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22723 (grub_console_setcolorstate): Clear out 0x80 bit.
22724 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22725 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22726 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22727
22728 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22729
22730 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22731 Set to "auto".
22732
22733 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22734
22735 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22736 mo_file after freeing.
22737
22738 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22739
22740 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22741
22742 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22743
22744 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22745 flags.
22746
22747 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22748
22749 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22750 usage.
22751
22752 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22753
22754 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22755
22756 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22757 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22758 and terminfo.h when needed.
22759 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22760 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22761 (terminfo): Enable only on terminfokernel.
22762 (extcmd): Likewise.
22763 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22764 * include/grub/lib/arg.h: Likewise.
22765 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22766 incorrect usage of ->.
22767
22768 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22769
22770 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22771 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22772
22773 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22774
22775 Fix coreboot compilation.
22776
22777 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22778 Take VBE info into account even if only text is supported.
22779 (fill_vbe_info): Take into account the case when only VGA text
22780 is supported.
22781 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22782 on coreboot, multiboot and qemu.
22783
22784 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22785
22786 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22787 debug messages.
22788 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22789
22790 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22791
22792 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22793 parameters.
22794
22795 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22796
22797 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22798 if they were BSD-style.
22799
22800 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22801
22802 * grub-core/boot/i386/pc/lnxboot.S: Replace
22803 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22804 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22805
22806 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22807
22808 Write embedding zone using Reed-Solomon.
22809
22810 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22811 * grub-core/Makefile.am (rs_decoder.S): New target.
22812 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22813 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22814 (multiboot): Move to RS part.
22815 (post_reed_solomon): New label.
22816 (grub_boot_drive): Move to non-RS part since it's modified in memory
22817 on boot.
22818 Include rs_decoder.S.
22819 * grub-core/lib/reed_solomon.c: New file.
22820 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22821 New definition.
22822 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22823 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22824 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22825 * include/grub/partition.h (grub_partition_map): Change prototype of
22826 embed to allow returning additional sectors.
22827 * include/grub/reed_solomon.h: New file.
22828 * util/grub-setup.c (setup): Handle Reed-Solomon.
22829
22830 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
22831
22832 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22833 i386 and x86-64 definedness tests.
22834
22835 2010-09-27 Yves Blusseau <blusseau@zetam.org>
22836
22837 Fix generation of kernel_syms.lst
22838
22839 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22840 ASM_PREFIX
22841
22842 2010-09-26 Robert Millan <rmh@gnu.org>
22843
22844 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22845
22846 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22847 the pool is an array of devices, iterate through it and return the
22848 first device that passes a stat() test (instead of blindly returning
22849 the first one).
22850
22851 2010-09-26 Robert Millan <rmh@gnu.org>
22852
22853 Build fixes for GNU/kFreeBSD.
22854
22855 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22856 to programs that require ZFS conversion.
22857 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22858 kernels that don't have FLOPPY_MAJOR.
22859
22860 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22861
22862 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22863
22864 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22865
22866 Fix grub-emu build.
22867
22868 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22869 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22870 mdraid09 and mdraid1x.
22871
22872 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
22873
22874 Re-enable grub-extras.
22875
22876 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22877 avoid confusing Automake. Run autogen only twice, once for the top
22878 level and once for grub-core. Add Makefile.util.def and
22879 Makefile.core.def from extra modules to the appropriate autogen
22880 invocations. If Makefile.common exists in an extra module, include
22881 it in both Makefile.util.am and grub-core/Makefile.core.am;
22882 similarly, include any Makefile.util.common file in Makefile.util.am
22883 and any Makefile.core.common file in grub-core/Makefile.core.am.
22884 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22885 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22886 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22887 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22888
22889 * gentpl.py (gvar_add): Turn GVARS into a set.
22890 (global_variable_initializers): Sort global variables on output.
22891 (vars_init): New function.
22892 (first_time): Likewise.
22893 (library): Ensure that non-global variable initialisations are
22894 emitted before the first time we emit code for a library block.
22895 Append to variables rather than setting them. Only emit
22896 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22897 each conditional path.
22898 (program): installdir() emits an Autogen macro, so must be passed to
22899 var_add rather than gvar_add.
22900 (data): Likewise.
22901 (script): Likewise.
22902 (rules): New function, centralising handling for different target
22903 types. Set up Guile association lists for first_time and vars_init,
22904 and send most output to a diversion so that variable initialisations
22905 can be emitted first.
22906 (module_rules): Use new rules function.
22907 (kernel_rules): Likewise.
22908 (image_rules): Likewise.
22909 (library_rules): Likewise.
22910 (program_rules): Likewise.
22911 (script_rules): Likewise.
22912 (data_rules): Likewise.
22913
22914 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22915
22916 * .bzrignore: Add contrib and grub-core/contrib. Remove
22917 grub-core/Makefile.gcry.am.
22918
22919 2010-09-24 Yves Blusseau <blusseau@zetam.org>
22920
22921 * grub-core/lib/LzFind.c: Add missing include.
22922 * grub-core/lib/LzmaEnc.c: Likewise.
22923 * grub-core/script/lexer.c: Likewise.
22924 * grub-core/script/yylex.l: Likewise.
22925 * util/grub-macho2img.c: Likewise.
22926 * util/grub-menulst2cfg.c: Likewise.
22927 * util/grub-mklayout.c: Likewise.
22928 * util/grub-mkpasswd-pbkdf2.c
22929 * util/grub-mkrelpath.c: Likewise.
22930 * util/resolve.c: Likewise.
22931
22932 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22933
22934 * Makefile.util.def (example_unit_test): Add
22935 grub-core/gnulib/libgnu.a.
22936
22937 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22938
22939 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22940
22941 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22942
22943 Support xz compression on yeeloong.
22944
22945 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22946 * configure.ac: Check for LZMA.
22947 * grub-core/Makefile.core.def (xz_decompress): New target.
22948 (none_decompress): Likewise.
22949 * grub-core/boot/decompressor/minilib.c: New file.
22950 * grub-core/boot/decompressor/none.c: Likewise.
22951 * grub-core/boot/decompressor/xz.c: Likewise.
22952 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22953 * grub-core/kern/mips/cache_flush.S: Likewise.
22954 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22955 * grub-core/kern/mips/startup.S: Move first stage to ...
22956 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22957 nomacro.
22958 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22959 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22960 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22961 Allocate statically.
22962 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22963 Allocate statically or use scratch. Don't check CRC32.
22964 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22965 Allocate statically. Don't check CRC32.
22966 * include/grub/decompressor.h: New file.
22967 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22968 Removed.
22969 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22970 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22971 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22972 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22973 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22974 * util/grub-mkimage.c (grub_compression_t): New type.
22975 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22976 (image_target_desc): New field default_compression.
22977 (image_targets): Adjust yeeloong targets.
22978 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22979 (compress_kernel): New parameter comp.
22980 (generate_image): Likewise. Handle new compression case.
22981 (options): New option --compression
22982 (help): Likewise.
22983 (main): Handle new option.
22984
22985 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22986
22987 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22988
22989 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
22990
22991 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22992 typo in __i386__ conditional.
22993
22994 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22997 include.
22998
22999 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
23000
23001 Implement EFI and ACPI multiboot2 extensions.
23002
23003 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
23004 new tags as supported.
23005 (acpiv2_size): New function.
23006 (grub_multiboot_get_mbi_size): Take new tags into account.
23007 (grub_multiboot_make_mbi): Add new tags.
23008 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
23009
23010 2010-09-21 Aleš Nesrsta <starous@volny.cz>
23011
23012 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
23013 Added missing configuration of USB device.
23014
23015 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23016
23017 * grub-core/normal/menu_entry.c (run): Make sure we always return
23018 a value.
23019
23020 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23021
23022 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
23023 NumberOfPages is UINT64 according to the UEFI specification, not
23024 UINTN. Fix printf format.
23025
23026 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23027
23028 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
23029 `err' to grub_usb_err_t.
23030 Reported and tested by: KESHAV P.R.
23031
23032 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23033
23034 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
23035 tpart non-const, so that we can assign to it. (Since this is a
23036 typedef, the constness refers to the pointer rather than what it
23037 points to.)
23038
23039 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23040
23041 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
23042 $(top_srcdir)/grub-core/gnulib as well as
23043 $(top_builddir)/grub-core/gnulib.
23044 Reported by: KESHAV P.R.
23045
23046 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23047
23048 * util/grub-install.in: Fix the bootloader ID option to be
23049 consistently --bootloader-id, not --bootloader_id.
23050 Reported by: KESHAV P.R.
23051
23052 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23053
23054 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
23055 check hash checksum." consistently translatable.
23056
23057 2010-09-21 Yves Blusseau <blusseau@zetam.org>
23058
23059 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
23060 $(top_builddir).
23061
23062 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23063
23064 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
23065 (GRUB_MOD_INIT): Register sha1sum command.
23066 (GRUB_MOD_FINI): Unregister sha1sum command.
23067
23068 2010-09-21 Yves Blusseau <blusseau@zetam.org>
23069
23070 Keep boot and grub directory names in sync with utils scripts
23071
23072 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
23073 * config.h.in: Add previous macros.
23074 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
23075 * util/grub-install.in: Use $bootdir and $grubdir variables.
23076
23077 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23078
23079 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
23080 convert partition names to disk names if the new `convert' parameter
23081 is set.
23082 (grub_util_biosdisk_get_grub_dev): If opening the disk device
23083 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
23084 disk in its own right. This can happen with Xen disk images.
23085
23086 2010-09-21 Yves Blusseau <blusseau@zetam.org>
23087
23088 * util/grub-editenv.c: Update strings to avoid warnings when generating
23089 grub.pot file.
23090 * util/grub-setup.c: Likewise.
23091
23092 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23093
23094 * configure.ac: Change version to 1.99~beta0.
23095
23096 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23099 Add BADRAM.
23100 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
23101 Likewise.
23102 * include/multiboot.h: Resynced with specification.
23103 * include/multiboot2.h: Likewise.
23104
23105 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23106
23107 Fix po directory handling.
23108
23109 * configure.ac: Create po/Makefile.in rather than po/Makefile.
23110 * grub-core/gnulib/Makefile.am: Import gettext module.
23111 * m4/gnulib-cache.m4: Likewise.
23112 * m4/gnulib-comp.m4: Likewise.
23113 * m4/gettext.m4: New file, from gnulib.
23114 * m4/glibc2.m4: Likewise.
23115 * m4/iconv.m4: Likewise.
23116 * m4/intdiv0.m4: Likewise.
23117 * m4/intl.m4: Likewise.
23118 * m4/intldir.m4: Likewise.
23119 * m4/intlmacosx.m4: Likewise.
23120 * m4/intmax.m4: Likewise.
23121 * m4/inttypes-pri.m4: Likewise.
23122 * m4/lcmessage.m4: Likewise.
23123 * m4/lib-ld.m4: Likewise.
23124 * m4/lib-link.m4: Likewise.
23125 * m4/lib-prefix.m4: Likewise.
23126 * m4/lock.m4: Likewise.
23127 * m4/nls.m4: Likewise.
23128 * m4/po.m4: Likewise.
23129 * m4/printf-posix.m4: Likewise.
23130 * m4/progtest.m4: Likewise.
23131 * m4/threadlib.m4: Likewise.
23132 * m4/uintmax_t.m4: Likewise.
23133 * m4/visibility.m4: Likewise.
23134 * po/Makefile.am: Remove.
23135 * po/Makefile.in.in: New file, from gettext.
23136 ($(DOMAIN).pot-update): Support POTFILES-shell.
23137 * po/Makevars: New file.
23138 * po/POTFILES-shell: Rename to ...
23139 * po/POTFILES-shell.in: ... this. Update.
23140 * po/POTFILES: Rename to ...
23141 * po/POTFILES.in: ... this. Update.
23142 * po/Rules-quot: New file, from gettext.
23143 * po/boldquot.sed: Likewise.
23144 * po/en@boldquot.header: Likewise.
23145 * po/en@quot.header: Likewise.
23146 * po/insert-header.sin: Likewise.
23147 * po/quot.sed: Likewise.
23148 * po/remove-potcdate.sin: Likewise.
23149
23150 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23151
23152 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
23153
23154 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23155
23156 * util/grub.d/20_linux_xen.in: Use submenus.
23157
23158 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 Support submenus.
23161
23162 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
23163 parameter submenu. All users updated.
23164 * grub-core/normal/main.c (free_menu): Rename to ...
23165 (grub_normal_free_menu): ... this. Made global.
23166 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
23167 if requested.
23168 * grub-core/normal/menu_entry.c (screen): New field submenu.
23169 (make_screen): Set submenu.
23170 (run): Open new context if requested.
23171 * include/grub/menu.h (grub_menu_entry): New field submenu.
23172 * include/grub/normal.h (grub_normal_free_menu): New proto.
23173
23174 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23175
23176 Menu entries extractor.
23177
23178 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
23179 variants.
23180 (GRUB_MOD_INIT): Register new variants.
23181 (GRUB_MOD_FINI): Unregister new variants.
23182 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
23183 into grub_cmd_legacy_source.
23184 (grub_cmd_legacy_source): Implement extractor variants.
23185 (GRUB_MOD_INIT): Register new variants.
23186 (GRUB_MOD_FINI): Unregister new variants.
23187 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
23188 as an extractor.
23189 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
23190 search as an extractor.
23191 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
23192 test as an extractor.
23193 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
23194 as an extractor.
23195 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
23196 (grub_env_new_context): New function.
23197 (grub_env_context_open): Likewise.
23198 (grub_env_extractor_open): Likewise.
23199 (grub_env_extractor_close): Likewise.
23200 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23201 grub_extractor_level.
23202 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
23203 * include/grub/env.h (grub_env_extractor_open): New proto.
23204 (grub_env_extractor_close): Likewise.
23205 * include/grub/normal.h (grub_extractor_level): New external variable.
23206
23207 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23208
23209 Make cutmem accept a region specification.
23210 Suggested by: Samuel Thibault
23211
23212 * grub-core/mmap/mmap.c (parsemem): New function.
23213 (grub_cmd_cutmem): Handle new arguments.
23214
23215 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23216
23217 New command cutmem.
23218
23219 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
23220 (GRUB_MOD_INIT): Register new command.
23221 (GRUB_MOD_FINI): Unregister new command.
23222
23223 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23224
23225 Support some annoying BSD and Minix subpartitions.
23226
23227 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
23228 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
23229 Properly handle concatenation.
23230 * grub-core/kern/device.c (grub_device_iterate): Likewise.
23231 * grub-core/normal/completion.c (iterate_partition): Likewise.
23232 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
23233 contain partition. All users updated.
23234 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
23235 struct.
23236 (grub_openbsdlabel_partition_map): Likewise.
23237 (bsdlabel_partition_map_iterate): Rename to ..
23238 (iterate_real): ... this. New arguments sector, freebsd and pmap.
23239 (bsdlabel_partition_map_iterate): New function.
23240 (netopenbsdlabel_partition_map_iterate): Likewise.
23241 (netbsdlabel_partition_map_iterate): Likewise.
23242 (openbsdlabel_partition_map_iterate): Likewise.
23243 (GRUB_MOD_INIT): Register new partmaps.
23244 (GRUB_MOD_FINI): Unregister new partmaps.
23245 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
23246 (grub_partition_msdos_iterate): ... this. All users updated.
23247 Don't support embedding other than in a minix partition.
23248 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23249 proto.
23250 * include/grub/partition.h (grub_partition): New field msdostype.
23251 * util/grub-install.in: Handle openbsd and netbsd types being in
23252 part_bsd module.
23253
23254 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23255
23256 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23257
23258 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23259 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23260 (mdraid09): ... this.
23261 (mdraid1x): New module.
23262 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23263 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23264
23265 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23268 vsprintf.
23269
23270 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23271
23272 * grub-core/commands/efi/lsefimmap.c: Correct header.
23273 * NEWS: Update.
23274
23275 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23276
23277 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23278 as printf format strings; the translations might contain '%' which
23279 could cause a crash.
23280 (main): Likewise.
23281 * util/grub-fstest.c (argp_parser): Likewise.
23282 * util/grub-setup.c (argp_parser): Likewise.
23283 (main): Likewise.
23284
23285 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 Use argp in grub-fstest.
23288
23289 * util/grub-fstest.c: Don't include getopt.h.
23290 Include argp.h.
23291 (root): New variable.
23292 (args_count): Likewise.
23293 (nparm): Likewise.
23294 (num_disks): Likewise.
23295 (images): Likewise.
23296 (cmd): Likewise.
23297 (debug_str): Likewise.
23298 (args): Likewise.
23299 (options): Transformed to argp.
23300 (usage): Removed.
23301 (main): Split argument parsing into ...
23302 (argp_parser): ... this. Changed to argp format.
23303 (argp): New variable.
23304 (main): Use argp_parse.
23305
23306 2010-09-20 Tristan Gingold <gingold@free.fr>
23307 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
23308 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23309
23310 * grub-core/commands/efi/lsefimmap.c: New file.
23311 * grub-core/Makefile.core.def (lsefimmap): New module.
23312 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23313
23314 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23315
23316 Pause the execution (10s max) if any errors are displayed so the user
23317 has a chance to see them.
23318
23319 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23320 (grub_print_error): Increment grub_err_printed_errors.
23321 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23322 execution if any errors were displayed.
23323 (show_menu): Remove old code for pause.
23324 * grub-core/normal/menu_entry.c (run): Likewise.
23325 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23326 users updated.
23327 (grub_normal_get_char_counter): Likewise.
23328 * include/grub/err.h (grub_err_printed_errors): New external variable.
23329 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23330
23331 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23332
23333 Support multiboot VBE info.
23334
23335 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23336 Take VBE info into account.
23337 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23338 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23339 Call fill_vbe_info when appropriate.
23340 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23341 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23342 as supported.
23343 (grub_multiboot_get_mbi_size): Take new tags into account.
23344 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23345 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23346 Call fill_vbe_tag when appropriate.
23347 (grub_multiboot_make_mbi): Properly align tags.
23348 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23349 function.
23350 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23351 proto.
23352 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23353
23354 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23355
23356 Suport manual terminal geometry specification.
23357
23358 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23359 Save state in grub_ofconsole_terminfo_output.
23360 (grub_ofconsole_term): Use grub_terminfo_getwh.
23361 (grub_ofconsole_getwh): Removed.
23362 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23363 (grub_serial_term): Use grub_terminfo_getwh.
23364 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23365 (options): New struct.
23366 (OPTION_*): New enum.
23367 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23368 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23369 width and height.
23370 (grub_terminfo_getwh): New proto.
23371 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23372
23373 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23374
23375 Handle legacy "terminal" command.
23376
23377 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23378 and FLAG_TERMINAL.
23379 (legacy_commands): Add terminal and title.
23380 (grub_legacy_parse): Handle terminal. Simplify title handling.
23381
23382 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23383
23384 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23385 parameters overflow.
23386
23387 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23388
23389 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23390 widthspec.h.
23391
23392 * docs/grub.texi (Shell-like scripting): Document `!'.
23393 (Network): Simplify using new i386-pc-pxe format. Mention
23394 grub-mknetdir.
23395
23396 * NEWS: Update.
23397
23398 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23399
23400 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23401 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23402 when needed.
23403
23404 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23405
23406 * grub-core/commands/efi/lsefisystab.c: Correct header.
23407 * grub-core/commands/efi/lssal.c: Likewise.
23408 * grub-core/commands/testload.c: Likewise.
23409
23410 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23411
23412 * util/grub-mkrescue.in: Add explicit root argument to --set to
23413 prevent the UUID being interpreted as an argument to --set (matches
23414 previous change to prepare_grub_to_access_device).
23415
23416 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23417
23418 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23419 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23420 the verbosity of later #ifs.
23421 (find_partition_start): Define this function on FreeBSD too.
23422 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23423 function.
23424 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23425 on FreeBSD.
23426
23427 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23428
23429 * util/grub-editenv.c: Use argp instead of getopt.
23430
23431 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23432
23433 * util/grub-setup.c: Use argp instead of getopt.
23434
23435 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23436
23437 Use gnulib-tool to create gnulib source files.
23438
23439 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23440 grub-core/gnulib directories
23441 * .bzignore: Add **/.deps and autogenerated gnulib files
23442 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23443 of gnulib macros, add grub-core/gnulib/Makefile
23444 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23445 include m4 directory to aclocal.
23446 * Makefile.util.def: Remove direct compilation of gnulib source files
23447 and use the new grub-core/gnulib/libgnu.a.
23448 * build-aux/config.rpath: move config.rpath from top directory to
23449 build-aux
23450 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23451 in gnulib headers
23452 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23453 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23454 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23455 header.
23456 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23457 string.
23458
23459 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23460
23461 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23462 grub-core/genmod.sh and grub-core/gensyminfo.sh
23463
23464 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23465
23466 Add a test for echo command options.
23467
23468 * tests/grub_cmd_echo.in: New test.
23469 * Makefile.util.def: Rules for new test.
23470
23471 2010-09-20 Szymon Janc <szymon@janc.net.pl>
23472
23473 Remove crc.mod and move crc command to hashsum.mod.
23474 Remove lib/crc.c - users updated to use gcrypt implementation.
23475
23476 * grub-core/commands/crc.c: Removed.
23477 * grub-core/Makefile.core.def (crc): Module removed.
23478 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23479 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23480 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23481 * grub-core/lib/crc.c: Removed.
23482 * include/grub/lib/crc.h: Removed.
23483 * Makefile.util.def (crc): Remove lib/crc.c
23484 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23485 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23486 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23487 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23488 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23489 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23490
23491 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23492
23493 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23494
23495 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23496
23497 Split config.h for util and core.
23498
23499 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23500 (ADDR32): Likewise.
23501 (DATA32): Likewise.
23502 (BSS_START_SYMBOL): Likewise.
23503 (END_SYMBOL): Likewise.
23504 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23505 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23506 * config.h.in: New file.
23507 * configure.ac: Use config-util.h as config define file.
23508 Rename MACHINE into GRUB_MACHINE. All users updated.
23509 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23510 updated.
23511 (NESTED_FUNC_ATTR): Likewise.
23512 Substitue new variables.
23513 (COND_HAVE_ASM_USCORE): New conditional.
23514 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23515 (kernel_syms.lst): Use ASM_PREFIX.
23516 * grub-core/kern/emu/console.c: Include config-util.h.
23517 * grub-core/kern/emu/misc.c: Likewise.
23518 * grub-core/kern/emu/mm.c: Likewise.
23519 * include/grub/emu/misc.h: Likewise.
23520 * include/grub/libgcc.h: Likewise.
23521
23522 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23523
23524 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23525 constants usage.
23526 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23527 Fix GRUB_TERM_KEY_* constants usage.
23528 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23529
23530 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23531
23532 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23533 print pointer.
23534 * grub-core/bus/usb/uhci.c: Remove empty define.
23535 (grub_uhci_check_transfer): Add missing cast.
23536 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23537 print pointer.
23538 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23539 PRIuGRUB_SIZE.
23540 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23541
23542 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23543
23544 * grub-core/Makefile.core.def (legacycfg): Add
23545 lib/i386/pc/vesa_modes_table.c on emu.
23546
23547 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23548
23549 Reduce number of temporary files generated by build system.
23550
23551 * grub-core/gencmdlist.sh: Removed.
23552 * grub-core/genfslist.sh: Removed.
23553 * grub-core/genhandlerlist.sh: Removed.
23554 * grub-core/genmodsrc.sh: Removed.
23555 * grub-core/genpartmaplist.sh: Removed.
23556 * grub-core/genparttoollist.sh: Removed.
23557 * grub-core/gentermiinallist.sh: Removed.
23558 * grub-core/genvideolist.sh: Removed.
23559
23560 * grub-core/genmod.sh.in: New file.
23561 * grub-core/gensyminfo.sh.in: New file.
23562
23563 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23564 * conf/Makefile.extra-dist: Update with new files.
23565 * gentpl.py: Remove rules related to unnecessary temporary files.
23566 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23567 and und-* files.
23568 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23569 genmod.sh scripts.
23570 * grub-core/bus/usb/uhci.c: Remove empty #define.
23571 * grub-core/genmoddep.awk: Updated with new syminfo format.
23572 * util/bash-completion.d/Makefile.am: Add config.log to
23573 CLEANFILES.
23574
23575 2010-09-19 Yves Blusseau <blusseau@zetam.org>
23576
23577 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23578
23579 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23580
23581 * util/grub-mkconfig.in: Check the config script for syntax errors
23582 before saving.
23583
23584 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
23585 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23586
23587 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23588 platforms.
23589 * util/grub-install.in: Add EFI and IEEE1275 support.
23590 * util/i386/efi/grub-install.in: Removed.
23591 * util/ieee1275/grub-install.in: Likewise.
23592
23593 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23594
23595 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23596 (grub_cmd_cmosclean): Likewise.
23597 (GRUB_MOD_INIT): Register command cmosclean.
23598 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23599 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23600
23601 2010-09-18 Carles Pina i Estany <carles@pina.cat>
23602 2010-09-18 Aleš Nesrsta <starous@volny.cz>
23603 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23604
23605 Add keyboard layouts support.
23606
23607 * Makefile.util.def (grub-mklayout): New file.
23608 (grub-kbdcomp): New script.
23609 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23610 Add keyboard_layouts.h.
23611 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23612 commands/boot.c on yeeloong.
23613 (keylayouts): New module.
23614 * grub-core/bus/usb/ohci.c
23615 * grub-core/bus/usb/uhci.c
23616 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23617 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23618 (attach_root_port): Likewise.
23619 (poll_nonroot_hub): Likewise.
23620 (grub_usb_poll_devices): Likewise.
23621 (detach_device): Close transfer.
23622 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23623 function.
23624 (grub_usb_bulk_setup_readwrite): Likewise.
23625 (grub_usb_bulk_finish_readwrite): Likewise.
23626 * grub-core/commands/keylayouts.c: New file.
23627 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23628 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23629 aliases.
23630 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23631 support scancode 2.
23632 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23633 * include/grub/keyboard_layouts.h: New file.
23634 * util/grub-mklayout.c: New file.
23635 * util/grub-kbdcomp.in: Likewise.
23636
23637 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23638
23639 Unify memory types.
23640
23641 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23642 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23643 types.
23644 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23645 (grub_upper_mem): Likewise.
23646 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23647 * include/grub/memory.h (grub_memory_type_t): New enum.
23648 All users updated.
23649
23650 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23651
23652 * grub-core/Makefile.core.def (lsapm): New module.
23653 * grub-core/commands/i386/pc/lsapm.c: New file.
23654 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23655 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23656 Likewise.
23657 * include/grub/i386/pc/apm.h: New file.
23658 * include/multiboot.h (multiboot_apm_info): New struct.
23659
23660 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23661
23662 GRUB-legacy configuration file support.
23663
23664 * Makefile.util.def (grub-menulst2cfg): New util.
23665 * docs/man/grub-menulst2cfg.h2m: New file.
23666 * grub-core/Makefile.core.def (legacycfg): New module.
23667 * grub-core/commands/legacycfg.c: New file.
23668 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23669 (grub_normal_add_menu_entry): ... this.
23670 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23671 (grub_normal_set_password): ...this.
23672 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23673 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23674 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23675 * grub-core/lib/legacy_parse.c: New file.
23676 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23677 * include/grub/i386/pc/vesa_modes_table.h: New file.
23678 * include/grub/legacy_parse.h: Likewise.
23679 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23680 * util/grub-menulst2cfg.c: New file.
23681
23682 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23683
23684 * grub-core/kern/emu/hostdisk.c
23685 (convert_system_partition_to_system_disk): Initialise node.
23686
23687 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23688
23689 * grub-core/kern/emu/hostdisk.c
23690 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23691 leak.
23692 Reported and based on patch by: Modestas Vainius.
23693
23694 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23695
23696 Fix DM-RAID probing with recent versions of device-mapper udev
23697 rules.
23698
23699 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23700 canonicalise device paths under /dev/mapper/.
23701 (convert_system_partition_to_system_disk): Compare the
23702 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23703 path, since device nodes under /dev/mapper/ are often symlinks.
23704
23705 2010-09-17 Yves Blusseau <blusseau@zetam.org>
23706
23707 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23708
23709 2010-09-16 Yves Blusseau <blusseau@zetam.org>
23710
23711 * configure.ac: Avoid some annoying error messages if freetype-config
23712 program is not found.
23713
23714 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23715
23716 Support RAID on virtio devices, and others.
23717
23718 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23719 Rename to ...
23720 [__MINGW32__] (grub_find_device): ... this.
23721 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23722 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23723 reasonable default if dir is NULL.
23724 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23725 ...
23726 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23727 (grub_guess_root_device): Update callers.
23728 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23729
23730 * util/raid.c (grub_util_getdiskname): Remove.
23731 (grub_util_raid_getmembers): Use grub_find_device rather than
23732 grub_util_getdiskname.
23733
23734 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23735
23736 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23737 needing to be compiled with serial support.
23738 (ls): Indicate that multiple files are accepted.
23739 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23740 indicate that multiple files are accepted.
23741
23742 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23743
23744 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23745 libgrub_a_init.c, and util/bash-completion.d/grub.
23746
23747 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23748
23749 * util/grub-setup.c (setup): Fix incorrect container semantics.
23750
23751 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23752
23753 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23754 misusage.
23755 Reported by: J. Nick Terry
23756
23757 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23758
23759 Move embedding routines to partmap sources files.
23760
23761 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23762 [GRUB_UTIL]: New variable.
23763 (gpt_partition_map_iterate): Set part.parent.
23764 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23765 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23766 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23767 New function.
23768 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23769 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23770 (grub_partition_map) [GRUB_UTIL]: New field embed.
23771 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23772 (setup): Use ->embed.
23773
23774 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23775
23776 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23777 function.
23778 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23779 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23780
23781 2010-09-15 Yves Blusseau <blusseau@zetam.org>
23782
23783 Add function to get completions from usage.
23784
23785 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23786 completions from usage. Use LC_ALL=C to get options properly.
23787
23788 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23789
23790 * grub-core/gnulib/basename-lgpl.c: Imported.
23791 * grub-core/gnulib/basename.c: Likewise.
23792 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23793 * grub-core/gnulib/dirname.c: Likewise.
23794 * grub-core/gnulib/dirname.h: Likewise.
23795 * grub-core/gnulib/stripslash.c: Likewise.
23796
23797 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23798
23799 * grub-core/gnulib/error.c: Resynced.
23800 * grub-core/gnulib/getopt.c: Likewise.
23801 * grub-core/gnulib/getopt_int.h: Likewise.
23802 * grub-core/gnulib/regex.h: Likewise.
23803 * grub-core/gnulib/regex_internal.c: Likewise.
23804 * grub-core/gnulib/regex_internal.h: Likewise.
23805
23806 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23807
23808 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23809 CRC calculations and validity checks.
23810 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23811 calculations.
23812
23813 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23814
23815 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23816
23817 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23818
23819 Fix incorrect echo options handling.
23820 Reported by: Yves Blusseau.
23821
23822 * include/grub/command.h (grub_command_flags_t): New flags
23823 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23824 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23825 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23826
23827 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23828
23829 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23830 users updated.
23831 (GRUB_COMMAND_FLAG_MENU): Likewise.
23832 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23833 (GRUB_COMMAND_FLAG_TITLE): Removed.
23834 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23835 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23836 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23837 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23838 (grub_command_flags_t): New enum. All users updated.
23839
23840 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23841
23842 Fix solaris compilation.
23843
23844 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23845 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23846 (grub-emu-list): Likewise.
23847
23848 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23849
23850 Remove deprecated root command.
23851
23852 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23853 updated.
23854
23855 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23856
23857 * util/i386/pc/grub-setup.c: Merge this ...
23858 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23859 * util/grub-setup.c: ... into this.
23860 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23861 New struct.
23862
23863 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23864
23865 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23866 possible.
23867
23868 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23869
23870 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23871 allocate p.
23872
23873 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23874
23875 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23876 explicit root argument to set to prevent UUID to be interpreted as
23877 argument to set.
23878
23879 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23880
23881 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23882
23883 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23884
23885 Don't export grub_gate_a20.
23886
23887 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23888 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23889 to ...
23890 (grub_gate_a20): ... this. All users updated.
23891 * include/grub/i386/pc/init.h: Removed. All users updated.
23892
23893 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23894
23895 Create euro.pf2 which supports most European languages.
23896
23897 * Makefile.am (grubdata_DATA): Add euro.pf2.
23898 (euro.pf2): New target.
23899 (CLEANFILES): Add euro.pf2.
23900
23901 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23902
23903 * configure.ac: Disable emu-usb by default to prevent inadvertent
23904 device takeover.
23905
23906 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23907
23908 Disable usbserial on grub-emu since our libusb code isn't good enough
23909 yet.
23910
23911 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23912 (usbserial_pl2303): Likewise.
23913 (usbserial_ftdi): Likewise.
23914
23915 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 * include/grub/disk.h (grub_disk): Remove has_partitions.
23918 All users updated.
23919 * disk/loopback.c (grub_loopback): Remove has_partitions.
23920 All users updated.
23921 (options): Remove partitions. All users updated.
23922 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23923 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23924 actual partition table is found.
23925
23926 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23927
23928 Remove readability checks (too many false negatives).
23929
23930 * util/grub-install.in: Remove readability checks.
23931 * util/grub-mkconfig.in: Likewise.
23932 * util/grub.d/10_hurd.in: Likewise.
23933 * util/grub.d/10_kfreebsd.in: Likewise.
23934 * util/grub.d/10_linux.in: Likewise.
23935 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23936 way.
23937
23938 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23939
23940 Enable acpi shutdown on all ACPI platforms.
23941
23942 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23943 on coreboo, multiboot and EFI.
23944 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23945 (grub_acpi_halt): Likewise.
23946 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23947 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23948 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23949 * grub-core/lib/i386/halt.c (grub_halt)
23950 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23951
23952 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23953
23954 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23955 context.
23956
23957 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23958
23959 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23960 * grub-core/video/efi_uga.c: Likewise.
23961
23962 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23963
23964 Filter devaliases and never open same device twice.
23965
23966 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23967 (last_ihandle): Likewise.
23968 (ofdisk_hash_ent): New member shortest.
23969 (ofdisk_hash_add): Add canonical path too.
23970 (scan): New function.
23971 (grub_ofdisk_iterate): Iterate over hashed entries.
23972 (compute_dev_path): Don't add :0.
23973 (grub_ofdisk_open): Don't really open the disk.
23974 (grub_ofdisk_close): Avoid closing unrelated disk.
23975 (grub_ofdisk_read): Implement reopen logic.
23976 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23977 New function.
23978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23979 New proto.
23980
23981 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23982
23983 Fix sparc64.
23984
23985 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23986 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23987 right address. Add sparc64_ieee1275_ldflags.
23988 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23989 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23990 to grub_host_to_target_addr
23991 (load_image): Likewise.
23992
23993 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23994
23995 * grub-core/normal/completion.c (complete_file): Handle device
23996 containing slash.
23997 Fix based on patch by Doug Nazar.
23998
23999 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24000
24001 grub-mknetdir script.
24002
24003 * Makefile.util.def (grub-mknetdir): New module.
24004 * tests/util/grub-shell.in: Support boot=net
24005 * util/grub-mknetdir.in: New file.
24006
24007 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24008
24009 videoinfo on non-vbe.
24010
24011 * grub-core/Makefile.core.def (vbeinfo): Removed.
24012 (vbetest): Removed.
24013 (videoinfo): New module.
24014 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
24015 * grub-core/commands/i386/pc/vbetest.c: Removed.
24016 * grub-core/commands/videoinfo.c: New file.
24017 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
24018 specification.
24019 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
24020 as vbetest.
24021 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
24022 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
24023 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
24024 mode_number. New parameter mode. All users updated.
24025 (grub_video_gop_iterate): New function.
24026 (grub_video_efi_gop): New member iterate.
24027 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
24028 (grub_vbe_set_video_mode): Remove setting useless fields.
24029 (vbe2videoinfo): New function.
24030 (grub_video_vbe_iterate): Likewise.
24031 (grub_video_vbe_setup): Use vbe2videoinfo.
24032 (grub_video_vbe_print_adapter_specific_info): New function.
24033 (grub_video_vbe_adapter): New fields iterate and
24034 print_adapter_specific_info.
24035 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
24036 All users updated.
24037 (grub_video_mode_info): New field mode_number.
24038 (grub_video_adapter): New fields iterate and
24039 print_adapter_specific_info.
24040
24041 2010-09-13 Tristan Gingold <gingold@free.fr>
24042 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
24043 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24044
24045 * grub-core/commands/efi/lsefisystab.c: New file.
24046 * grub-core/commands/efi/lssal.c: Likewise.
24047 * grub-core/Makefile.core.def (lsacpi): New module.
24048 (lsefisystab): Likewise.
24049 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
24050 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
24051 (grub_efi_sal_system_table): New struct.
24052 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
24053 (grub_efi_sal_system_table_memory_descriptor): Likewise.
24054 (grub_efi_sal_system_table_platform_features): Likewise.
24055 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
24056 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
24057 (grub_efi_sal_system_table_ap_wakeup): Likewise.
24058 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
24059
24060 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24061
24062 Support explicit user claim that a device is BIOS-visible.
24063
24064 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
24065 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
24066 * grub-core/kern/emu/hostdisk.c
24067 (convert_system_partition_to_system_disk): Support mdX.
24068 (find_system_device): New parameter add. All users updated.
24069 (grub_util_biosdisk_is_present): New function.
24070 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
24071 proto.
24072
24073 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24074
24075 Search hints support.
24076
24077 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
24078 All users updated.
24079
24080 2010-09-13 Yves Blusseau <blusseau@zetam.org>
24081
24082 Bash completion script for util commands
24083
24084 * Makefile.am: Add util/bash-completion.d directory
24085 * configure.ac: Likewise.
24086 * util/bash-completion.d/Makefile.am: New file.
24087 * util/bash-completion.d/grub-completion.bash.in: Likewise.
24088
24089 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
24092 (print_backlog): set backlog_ucs4 and backlog_glyphs.
24093 Reported by: Yves Blusseau.
24094
24095 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24096
24097 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
24098 partition size and offset.
24099
24100 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24101
24102 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
24103
24104 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24105
24106 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
24107
24108 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24109
24110 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
24111 (grub_xvasprintf): Likewise.
24112
24113 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24114
24115 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
24116
24117 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24118
24119 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
24120 args ending with NULL.
24121
24122 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24123
24124 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
24125 pointer.
24126
24127 2010-09-11 Szymon Janc <szymon@janc.net.pl>
24128
24129 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
24130
24131 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24132
24133 Shutdown using ACPI.
24134
24135 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
24136 * grub-core/commands/acpihalt.c: New file.
24137 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
24138 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
24139 (grub_acpi_halt): New proto.
24140 (GRUB_ACPI_SLP_EN): New const.
24141 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
24142 (GRUB_ACPI_OPCODE_*): New enum.
24143 (GRUB_ACPI_EXTOPCODE_*): Likewise.
24144
24145 2010-09-11 Tristan Gingold <gingold@free.fr>
24146 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
24147 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24148
24149 * commands/lsacpi.c: New file.
24150 * grub-core/Makefile.core.def (lsacpi): New module.
24151 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
24152 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
24153 (grub_acpi_madt_entry_header): New struct.
24154 (grub_acpi_madt): Likewise.
24155 (grub_acpi_madt_entry_interrupt_override): Likewise.
24156 (grub_acpi_madt_entry_sapic): Likewise.
24157 (grub_acpi_madt_entry_lsapic): Likewise.
24158 (grub_acpi_madt_entry_platform_int_source): Likewise.
24159 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
24160 (PRIuGRUB_UINT32_T): Likewise.
24161 (PRIxGRUB_UINT64_T): Likewise.
24162
24163 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24164
24165 Implement loading palette on ieee1275_fb.
24166
24167 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
24168 (have_setcolors): Likewise.
24169 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
24170 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
24171 (grub_video_ieee1275_set_palette): Implement.
24172
24173 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24174 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
24175
24176 * util/grub-install.in (grub_partition): New variable.
24177 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
24178 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
24179 Fixes a bug reported by Yves Blusseau.
24180
24181 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24182
24183 Fix emu on mipsel.
24184
24185 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
24186 =grub_cpu_flush_cache on all mips and not only yeeloong.
24187 * configure.ac (COND_mips): New conditional.
24188 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
24189 platforms.
24190 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
24191 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
24192 [GRUB_LINKER_HAVE_INIT]: New function.
24193 (grub_emu_post_init): Likewise.
24194 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
24195 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
24196 * include/grub/cache.h (_mips): Include mips/cache.h.
24197 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
24198 LVM and RAID prototypes.
24199 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
24200 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
24201 function.
24202
24203 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24204
24205 * util/grub-install.in: Don't try to verify core.img until after
24206 running grub-mkimage to create it.
24207
24208 2010-09-10 Robert Millan <rmh@gnu.org>
24209
24210 * util/grub.d/10_hurd.in: Add misc readability checks.
24211 * util/grub.d/10_kfreebsd.in: Likewise.
24212 * util/grub.d/10_linux.in: Likewise.
24213
24214 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24215
24216 * util/grub-install.in: ${imgext} won't be defined here until the
24217 install branch is merged. For the meantime, only verify core.img on
24218 i386-pc and sparc64-ieee1275 platforms.
24219
24220 2010-09-10 Robert Millan <rmh@gnu.org>
24221
24222 Solaris support in grub_find_zpool_from_dir(). Thanks
24223 Seth Goldberg for referring to getextmntent() facility.
24224
24225 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
24226 `sys/mkdev.h'.
24227 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
24228 `<sys/mnttab.h>'.
24229 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
24230 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
24231 method for finding zpool name.
24232
24233 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24234
24235 grub-fstest needs the host and hostfs modules while other utilities
24236 actively require those modules to be absent, so grub-fstest needs
24237 its own initialisation and finalisation code.
24238
24239 * Makefile.am (grub_fstest.pp): New target.
24240 (grub_fstest_init.lst): Likewise.
24241 (grub_fstest_init.c): Likewise.
24242 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
24243
24244 2010-09-10 Robert Millan <rmh@gnu.org>
24245
24246 * configure.ac: Check for `struct statfs.f_fstypename' and
24247 `struct statfs.f_mntfromname'.
24248
24249 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24250 kFreeBSD-specific code.
24251
24252 2010-09-10 Robert Millan <rmh@gnu.org>
24253
24254 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24255 on ZFS. Now non-main filesystems are supported as / too.
24256
24257 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
24258
24259 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24260 and grub-core/disk/host.c to ...
24261 (grub-fstest): ... here. Having the host disk implementation
24262 present confuses grub-probe and other utility programs.
24263
24264 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24265 when writing to a file, not when writing to stdout.
24266
24267 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24268
24269 * tests/partmap_test.in: New test for partitions.
24270 * Makefile.util.def: Rules for new test.
24271
24272 2010-09-09 Robert Millan <rmh@gnu.org>
24273
24274 * util/grub-probe.c (probe): Fix a pair of unhandled error
24275 conditions.
24276
24277 2010-09-09 Robert Millan <rmh@gnu.org>
24278
24279 Basic Btrfs support (detection and UUID).
24280
24281 * grub-core/fs/btrfs.c: New file.
24282 * Makefile.util.def (library): Register btrfs.c.
24283 * grub-core/Makefile.core.def: Likewise.
24284
24285 2010-09-08 Robert Millan <rmh@gnu.org>
24286
24287 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24288 with (optional) parameters to specify device and relative path.
24289 * util/grub-install.in: Use is_path_readable_by_grub() to
24290 verify readability of a few critical files.
24291 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24292 verify readability of grub.cfg.new.
24293
24294 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24295
24296 Split minix.mod into minix.mod and minix2.mod.
24297
24298 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24299 * grub-core/Makefile.core.def (minix2): New module.
24300 * grub-core/fs/minix.c: Use definitions instead of runtime version
24301 checking.
24302 * grub-core/fs/minix2.c: New file.
24303
24304 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24305
24306 Add new --boot-directory option to replace --root-directory
24307
24308 * util/grub-install.in: Add new --boot-directory option
24309 * util/grub-reboot.in: Likewise.
24310 * util/grub-set-default.in: Likewise.
24311
24312 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24313
24314 * util/grub-mkconfig.in: Use new variable.
24315
24316 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24317
24318 * configure.ac: Define some useful variables.
24319
24320 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24321
24322 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24323 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24324 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24325 Use terminfo and don't use cursor-on/cursor-off unless it's known
24326 to work.
24327 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24328 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24329
24330 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
24331
24332 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24333 starts with "(,", fill the drive containing the loaded image in
24334 between those two characters, but expect that a full partition
24335 specification including partition map names will follow.
24336
24337 2010-09-08 Robert Millan <rmh@gnu.org>
24338
24339 * configure.ac: Remove `--enable-grub-fstest' option.
24340 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24341
24342 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24343 `grub-fstest' instead of `grub-probe' for readability verification.
24344 * util/grub-probe.c (probe): Remove readability verification kludge.
24345
24346 2010-09-08 Robert Millan <rmh@gnu.org>
24347
24348 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24349 initializing `GRUB_FS'.
24350
24351 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24352
24353 Not command (!) support to GRUB script.
24354
24355 * tests/grub_script_not.in: New test.
24356 * Makefile.util.def: Rules for new test.
24357
24358 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24359 ! command as a special case.
24360 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24361
24362 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24363
24364 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24365 grub_free.
24366
24367 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24368
24369 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24370
24371 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24372
24373 * docs/grub.texi (Shell-like scripting): Documentation for break,
24374 continue, shift and return commands.
24375
24376 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24377
24378 Rename CD-ROM to cd on BIOS.
24379
24380 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24381 "cd".
24382 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24383
24384 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24385
24386 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24387 * util/grub-probe.c (main): Likewise.
24388 * util/i386/pc/grub-setup.c (main): Likewise.
24389 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24390 Reported and debugged by: alexxy
24391
24392 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24393
24394 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24395 diagnostic info.
24396
24397 2010-09-05 Jo Shields <directhex@apebox.org>
24398
24399 * util/grub.d/30_os-prober.in: Add missing classes.
24400
24401 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24402
24403 * docs/grub.texi (Theme file format): Document new position format.
24404
24405 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24406
24407 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24408 a table. Use @code instead of @verbatim.
24409
24410 2010-09-05 Colin D Bennett <colin@gibibit.com>
24411
24412 Gfxmenu documentation.
24413
24414 * docs/grub.texi (Theme file format): New chapter.
24415
24416 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24417
24418 * grub-core/Makefile.core.def (xzio): New module.
24419 * grub-core/io/xzio.c: New file.
24420 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24421 * grub-core/lib/xzembed/xz_config.h: Likewise.
24422 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24423 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24424 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24425 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24426 * grub-core/lib/xzembed/xz_private.h: Likewise.
24427 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24428 * include/grub/file.h (grub_file_filter_id): New compression filter
24429 GRUB_FILE_FILTER_XZIO.
24430
24431 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24432
24433 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24434 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24435 size.
24436
24437 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24438
24439 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24440 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24441
24442 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24443
24444 Uncompressed checksum support.
24445
24446 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24447 (check_list): New parameter uncompress.
24448 (grub_cmd_hashsum): Handle --uncompress.
24449
24450 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24451
24452 Reintroduce testload.
24453
24454 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24455 from here ...
24456 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24457 (GRUB_MOD_INIT): New function.
24458 (GRUB_MOD_FINI): Likewise.
24459 * grub-core/Makefile.core.def (testload): New module.
24460
24461 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24462
24463 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24464 (uint8_t): New type.
24465 (uint16_t): Likewise.
24466 (uint32_t): Likewise.
24467 (uint64_t): Likewise.
24468
24469 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24470
24471 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24472
24473 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24474
24475 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24476 Made static.
24477 (grub_gzfile_open): Removed. All users updated.
24478 (GRUB_MOD_INIT): New function.
24479 (GRUB_MOD_FINI): Likewise.
24480 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24481 (grub_file_filters_enabled): Likewise.
24482 (grub_file_open): Handle filters.
24483 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24484 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24485 * include/grub/file.h (grub_file_filter_id_t): New type.
24486 (grub_file_filter_t): Likewise.
24487 (grub_file_filters_all): New extern variable.
24488 (grub_file_filters_enabled): Likewise.
24489 (grub_file_filter_register): New inline function.
24490 (grub_file_filter_unregister): Likewise.
24491 (grub_file_filter_disable): Likewise.
24492 (grub_file_filter_disable_compression): Likewise.
24493 * include/grub/gzio.h: Removed.
24494
24495 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24496
24497 Filename expansion support for wildcards in GRUB script.
24498
24499 * tests/grub_script_expansion.in: New test.
24500 * Makefile.util.def: Rule for new test.
24501
24502 * grub-core/commands/wildcard.c: New file, implements filename
24503 expansion support for GRUB script.
24504 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24505 * grub-core/script/argv.c: Cosmetic changes.
24506 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24507 Refactored to perform wildcard expansion on arguments.
24508 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24509 struct.
24510
24511 * tests/util/grub-shell.in: Fix quoting for read input.
24512
24513 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24514
24515 Support for updating environment variables with matched substrings
24516 of regexp.
24517
24518 * tests/grub_cmd_regexp.in: New test.
24519 * Makefile.util.def: Rule for new test.
24520
24521 * grub-core/commands/regexp.c: New option -s to update environment
24522 variables with regexp matches.
24523
24524 2010-09-04 Szymon Janc <szymon@janc.net.pl>
24525
24526 * include/grub/file.h (grub_file): New member not_easly_seekable.
24527 (grub_file_seekable): New inline function.
24528 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24529 easily seekable.
24530 (grub_gzio_open): Set not_easly_seekable.
24531 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24532 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24533
24534 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24535
24536 Support for options to appear multiple times on cmdline.
24537
24538 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24539 * grub-core/commands/extcmd.c: Support for repeatable option.
24540 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24541 repeatable option support.
24542
24543 Refactor menuentry into a regular command.
24544
24545 * grub-core/commands/menuentry.c: New file, menuentry command
24546 implementation.
24547 * grub-core/Makefile.core.def: Rule update for normal.mod.
24548 * grub-core/normal/main.c: Moved menuentry creation to
24549 grub-core/commands/menuentry.c.
24550 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24551 (grub_menu_execute_entry_real): Removed.
24552 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24553 function.
24554 (grub_script_execute_menuentry): Removed.
24555 * grub-core/script/parser.y (menuentry): Removed.
24556 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24557 * grub-core/script/yylex.l (menuentry): Removed.
24558 * include/grub/menu.h (grub_menu_init): New prototype.
24559 (grub_menu_fini): New prototype.
24560 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24561 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24562 (grub_script_execute_sourcecode): New prototype.
24563
24564 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24565
24566 "return" command for GRUB script functions.
24567
24568 * tests/grub_script_return.in: New test.
24569 * Makefile.util.def: Rules for new test.
24570
24571 * grub-core/script/execute.c (grub_script_return): New function.
24572 * grub-core/script/main.c: Register/unregister return commaond.
24573 * include/grub/script_sh.h (grub_script_return): New prototype.
24574
24575 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24576
24577 "setparams" command to update positional parameters.
24578
24579 * tests/grub_script_setparams.in: New test.
24580 * Makefile.util.def: Rules for new test.
24581
24582 * grub-core/script/argv.c (grub_script_argv_make): New function.
24583 * grub-core/script/execute.c (replace_scope): New function.
24584 (grub_script_setparams): New function.
24585 * grub-core/script/lexer.c: Remove unused variables.
24586 * grub-core/script/main.c: Register/unregister setparams command.
24587 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24588 (grub_script_setparams): New prototype.
24589
24590 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24591
24592 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24593 grub_free order.
24594
24595 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24596
24597 Support for passing block of commands as an argument to extcmds.
24598
24599 * Makefile.util.def: Rules for new test.
24600 * tests/grub_script_blockarg.in: New test.
24601 * grub-core/tests/test_blockarg.c: New file, block argument
24602 command used in the test.
24603
24604 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24605 (grub_register_extcmd_prio): New function prototype.
24606 (grub_extcmd_dispatcher): New function prototype.
24607 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24608 type.
24609 * include/grub/script_sh.h (struct grub_script): New members
24610 `children', `next_siblings' and `refcnt' for block arguments and
24611 reference counting.
24612 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24613 (grub_script_arg): New member `script' for block argument.
24614 (grub_script_argv): New member `script' for block argument.
24615 (grub_parser_param): New member `scripts' for block argument.
24616 (grub_script_mem_free): New extern function prototype.
24617 (grub_script_ref): New function prototype.
24618 (grub_script_unref): New function prototype.
24619
24620 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24621 extcmd form to support block arguments.
24622 * grub-core/script/argv.c: Block arguments support.
24623 * grub-core/script/execute.c: Likewise.
24624 * grub-core/script/lexer.c: Likewise.
24625 * grub-core/script/main.c: Likewise.
24626 * grub-core/script/script.c: Likewise.
24627 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24628 non-terminals.
24629
24630 * grub-core/commands/acpi.c: Update extcmd implementations with
24631 grub_extcmd_context_t.
24632 * grub-core/commands/cat.c: Likewise.
24633 * grub-core/commands/echo.c: Likewise.
24634 * grub-core/commands/extcmd.c: Likewise.
24635 * grub-core/commands/hashsum.c: Likewise.
24636 * grub-core/commands/hdparm.c: Likewise.
24637 * grub-core/commands/help.c: Likewise.
24638 * grub-core/commands/hexdump.c: Likewise.
24639 * grub-core/commands/i386/cpuid.c: Likewise.
24640 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24641 * grub-core/commands/i386/pc/halt.c: Likewise.
24642 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24643 * grub-core/commands/iorw.c: Likewise.
24644 * grub-core/commands/keystatus.c: Likewise.
24645 * grub-core/commands/loadenv.c: Likewise.
24646 * grub-core/commands/ls.c: Likewise.
24647 * grub-core/commands/lspci.c: Likewise.
24648 * grub-core/commands/memrw.c: Likewise.
24649 * grub-core/commands/probe.c: Likewise.
24650 * grub-core/commands/search_wrap.c: Likewise.
24651 * grub-core/commands/setpci.c: Likewise.
24652 * grub-core/commands/sleep.c: Likewise.
24653 * grub-core/disk/loopback.c: Likewise.
24654 * grub-core/hello/hello.c: Likewise.
24655 * grub-core/loader/i386/bsd.c: Likewise.
24656 * grub-core/loader/xnu.c: Likewise.
24657 * grub-core/term/gfxterm.c: Likewise.
24658 * grub-core/term/serial.c: Likewise.
24659 * grub-core/tests/lib/functional_test.c: Likewise.
24660
24661 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24662
24663 Multi-line quoted strings support.
24664
24665 * grub-core/script/lexer.c (append_newline): Removed.
24666 (grub_script_lexer_yywrap): Refactored.
24667 (grub_script_lexer_init): Refactored.
24668 * grub-core/script/yylex.l (yywrap): New function.
24669 (grub_lexer_resplit): New function.
24670 (grub_lexer_unput): New function.
24671 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24672 and resplit.
24673 * tests/grub_script_echo1.in: Added few more testcases.
24674
24675 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24676
24677 * grub-core/kern/misc.c: Don't add abort alias in utils.
24678 Reported by: echoline.
24679
24680 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24681
24682 Add missing files into "make dist" tarball for other platforms.
24683
24684 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24685 * conf/Makefile.common (dist_noinst_DATA): New variable.
24686 * conf/Makefile.extra-dist: Added missing make dist files.
24687 * grub-core/Makefile.core.def: Likewise.
24688
24689 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24690
24691 Compress grub_prefix.
24692
24693 * grub-core/boot/i386/pc/lnxboot.S: Use
24694 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24695 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24696 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24697 GRUB_MACHINE_PREFIX_END. All users updated.
24698 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24699 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24700 + 0x40.
24701 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24702 * util/grub-mkimage.c (image_target_desc): Change data_end to
24703 prefix_end. All users updated.
24704
24705 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24706
24707 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24708 value.
24709 (grub_openbsd_boot): Likewise.
24710 (grub_netbsd_boot): Likewise.
24711 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24712 (grub_xnu_boot): Likewise.
24713
24714 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24715
24716 * configure.ac: Clean LIBS variable after tests.
24717
24718 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24719
24720 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24721
24722 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24723
24724 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24725 echo if libdevmapper will be used.
24726
24727 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24728
24729 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24730 constant for the same file.
24731
24732 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24733
24734 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24735
24736 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24737
24738 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24739 grub-core/*.pp.
24740
24741 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24742
24743 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24744 required by the boot protocol.
24745
24746 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24747 ebp and edi members.
24748 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24749 state.ebp and state.edi.
24750 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24751 %ebp and %edi according to grub_relocator32_ebp and
24752 grub_relocator32_edi respectively.
24753 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24754 and state.edi.
24755
24756 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24757
24758 Add i386-pc-pxe image target.
24759
24760 * util/grub-mkimage.c (image_target_desc): New enum value
24761 IMAGE_I386_PC_PXE.
24762 (image_targets): New target i386-pc-pxe.
24763 (generate_image): Handle i386-pc-pxe image.
24764
24765 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24766
24767 Fix grub_pxe_scan.
24768
24769 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24770 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24771 All users updated.
24772 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24773 (grub_pxe_pxenv): Correct type.
24774
24775 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24776
24777 * NEWS: Document most of the important changes since 1.98.
24778
24779 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24780
24781 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24782 generated manual page) a little.
24783
24784 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24785
24786 * docs/grub.texi: Add myself as an author.
24787
24788 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24789
24790 * Makefile.util.def (libgrub.a): Add missing sunpc.
24791 Reported by: Seth Goldberg.
24792
24793 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24794
24795 Interrupt wrapping and code simplifications.
24796
24797 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24798 x86_noieee1275 which are functionaly equivalent in this case.
24799 (grub-install): Make source on each platform explicit. Enable on
24800 all noemu.
24801 * gentpl.py (x86_efi_pc): Removed group.
24802 (x86_noefi): Likewise.
24803 (i386_noefi): Likewise.
24804 (x86_noieee1275): Likewise.
24805 (i386_noieee1275): Likewise.
24806 (i386_noefi_noieee1275): Likewise.
24807 (i386_pc_qemu_coreboot): Likewise.
24808 (i386_coreboot_multiboot): Likewise.
24809 (i386_pc_coreboot_multiboot_qemu): Likewise.
24810 (x86_noefi_mips): Likewise.
24811 (noieee1275): Likewise.
24812 (ieee1275_mips): Likewise.
24813 (noemu_noieee1275): Likewise.
24814 (cmos): New group.
24815 (usb): Likewise.
24816 (videoinkernel): Likewise.
24817 (videomodules): Likewise.
24818 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
24819 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24820 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24821 include/grub/loader.h, include/grub/msdos_partition.h,
24822 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24823 include/grub/machine/console.h, include/grub/machine/vga.h,
24824 include/grub/machine/vbe.h, include/grub/machine/init.h,
24825 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24826 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
24827 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
24828 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24829 * grub-core/Makefile.core.def (kernel): Explicit the source for
24830 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24831 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24832 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24833 Use videoinkernel tag.
24834 (usb): Enable on all usb.
24835 (usbserial_common): Likewise.
24836 (usbserial_pl2303): Likewise.
24837 (usbserial_ftdi): Likewise.
24838 (uhci): Enable on all x86.
24839 (ohci): Enable on all pci.
24840 (cmostest): Enable on all CMOS.
24841 (acpi): Include commands/acpi.c on all platforms.
24842 (halt): Add relevant lib/*/halt.c.
24843 (hdparm): Enable on all pci.
24844 (lspci): Likewise.
24845 (usbtest): Enable on all usb.
24846 (ata): Enable on all pci.
24847 (ata_pthru): Likewise.
24848 (usbms): Enable on all usb.
24849 (usb_keyboard): Likewise.
24850 (font): Use tag videomodules.
24851 (bufio): Likewise.
24852 (datetime): Use tag cmos. Enable on all noemu.
24853 (mmap): Use tags common and x86.
24854 (gfxterm): Use tag videomodules.
24855 (bitmap): Likewise.
24856 (bitmap_scale): Likewise.
24857 (video_fb): Likewise.
24858 (video): Likewise.
24859 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24860 adjust padding accordingly. All users updated.
24861 (grub_ohci_transaction): Fix bad format specification.
24862 (GRUB_MOD_INIT): Add asserts for struct size.
24863 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24864 (grub_alloc_td): Likewise.
24865 (grub_free_queue): Likewise.
24866 (grub_uhci_transfer): Likewise.
24867 (grub_uhci_transaction): Fix bad format specification.
24868 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24869 (grub_usb_bulk_readwrite): Likewise.
24870 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24871 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24872 Made static.
24873 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24874 Made static.
24875 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24876 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24877 Transformed into C.
24878 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24879 Moved from here ...
24880 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24881 ... here. Transformed into C. Made static.
24882 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24883 Moved from here ...
24884 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24885 ... here. Transformed into C. Made static.
24886 * grub-core/kern/i386/pc/startup.S
24887 (grub_biosdisk_check_int13_extensions): Moved from here ...
24888 * grub-core/disk/i386/pc/biosdisk.c
24889 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24890 Made static.
24891 * grub-core/kern/i386/pc/startup.S
24892 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24893 * grub-core/disk/i386/pc/biosdisk.c
24894 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24895 Transformed into C. Made static.
24896 * grub-core/kern/i386/pc/startup.S
24897 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24898 * grub-core/disk/i386/pc/biosdisk.c
24899 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24900 Transformed into C. Made static.
24901 * grub-core/kern/i386/pc/startup.S
24902 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24903 * grub-core/disk/i386/pc/biosdisk.c
24904 (grub_biosdisk_get_diskinfo_standard): ... here.
24905 Transformed into C. Made static.
24906 * grub-core/kern/i386/pc/startup.S
24907 (grub_biosdisk_get_num_floppies): Moved from here ...
24908 * grub-core/disk/i386/pc/biosdisk.c
24909 (grub_biosdisk_get_num_floppies): ... here.
24910 Transformed into C. Made static.
24911 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24912 New function.
24913 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24914 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24915 Transformed into C. Made static.
24916 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24917 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24918 Transformed into C. Made static.
24919 * grub-core/kern/i386/ieee1275/init.c: Removed.
24920 * grub-core/kern/i386/misc.S: Likewise.
24921 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24922 Splitted from here ...
24923 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24924 Transformed into C. Made static. All users updated.
24925 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24926 Transformed into C. Made static. All users updated.
24927 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24928 Moved from here...
24929 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24930 Transformed into C. Made static. All users updated.
24931 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24932 Moved from here...
24933 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24934 Transformed into C. Made static. All users updated.
24935 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24936 Removed (replaced by C version).
24937 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24938 Moved from here...
24939 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24940 Transformed into C. Made static.
24941 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24942 Moved from here...
24943 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24944 ... here. Transformed into C.
24945 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24946 Moved from here...
24947 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24948 ... here. Transformed into C.
24949 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24950 Moved from here...
24951 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24952 ... here. Transformed into C. Made static.
24953 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24954 Moved from here...
24955 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24956 ... here. Transformed into C.
24957 * grub-core/kern/i386/pc/startup.S
24958 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24959 * grub-core/video/i386/pc/vbe.c
24960 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
24961 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24962 Moved from here...
24963 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24964 ... here. Transformed into C.
24965 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24966 Moved from here...
24967 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24968 ... here. Transformed into C.
24969 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24970 Moved from here...
24971 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24972 ... here. Transformed into C.
24973 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24974 Moved from here...
24975 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24976 ... here. Transformed into C.
24977 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24978 Moved from here...
24979 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24980 ... here. Transformed into C. Made static.
24981 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24982 Moved from here...
24983 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24984 ... here. Transformed into C. Made static.
24985 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24986 Moved from here...
24987 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24988 ... here. Transformed into C. Made static.
24989 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24990 pxe_rm_entry as third argument.
24991 (grub_bios_interrupt): New function.
24992 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24993 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24994 of calling grub_stop.
24995 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24996 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24997 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24998 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24999 * grub-core/lib/i386/halt.c: Moved from here ...
25000 * grub-core/lib/i386/halt.c: ... here.
25001 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
25002 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
25003 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
25004 grub_stop_floppy.
25005 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
25006 * include/grub/i386/coreboot/init.h: Removed.
25007 * include/grub/i386/multiboot/init.h: Likewise.
25008 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
25009 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
25010 * include/grub/i386/pc/int.h: New file.
25011 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
25012 (grub_pxe_scan): Removed.
25013 (grub_pxe_call): Update prototype.
25014 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
25015 prototypes.
25016 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
25017 * include/grub/i386/qemu/init.h: Removed.
25018 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
25019 noreturn.
25020 (grub_halt): Likewise.
25021 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
25022 (grub_reboot): Likewise.
25023 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
25024 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
25025 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
25026
25027 2010-08-30 Robert Millan <rmh@gnu.org>
25028
25029 * NEWS: Document addition of ZFS support in `grub-install' and
25030 `grub-mkconfig'.
25031
25032 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
25033
25034 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
25035 dprintf output.
25036
25037 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 Remove leftover embedding of font objects.
25040
25041 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
25042 * util/grub-install.in (font): Removed.
25043 * util/grub-mkimage.c (generate_image): Remove font support. All users
25044 updated.
25045
25046 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25047
25048 Remove leftover embedding of font objects.
25049
25050 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
25051 * util/grub-install.in (font): Removed.
25052 * util/grub-mkimage.c (generate_image): Remove font support. All users
25053 updated.
25054
25055 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25056
25057 * docs/grub.texi (Network): Fix reference to pxe_blksize.
25058 Reported by: Ian Turner
25059
25060 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25061
25062 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
25063 timeout to avoid indefinite boot stalling.
25064
25065 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25066
25067 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
25068 (grub_env_write_color_highlight): Likewise.
25069
25070 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25071
25072 * grub-core/normal/term.c (print_more): Return to normal and not
25073 to standard state after printing "---MORE---".
25074
25075 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25076
25077 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
25078 Mask out the bit 0x80 since it has other meaning that specifiing color.
25079
25080 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25081
25082 New relocator. Allows for more kernel support and more straightforward
25083 loader writing.
25084
25085 * Makefile.am (BOOTTARGET): New variable.
25086 (QEMU32): Likewise.
25087 (linux.init.x86_64): New target.
25088 (linux.init.i386): Likewise.
25089 (multiboot.elf): Likewise.
25090 (kfreebsd.elf): Likewise.
25091 (kfreebsd.aout): Likewise.
25092 (pc-chainloader.elf): Likewise.
25093 (pc-chainloader.bin): Likewise.
25094 (ntldr.elf): Likewise.
25095 (ntldr.bin): Likewise.
25096 (multiboot2.elf): Likewise.
25097 (kfreebsd.init.x86_64): Likewise.
25098 (kfreebsd.init.i386): Likewise.
25099 (knetbsd.init.i386): Likewise.
25100 (kopenbsd.init.i386): Likewise.
25101 (knetbsd.init.x86_64): Likewise.
25102 (kopenbsd.init.x86_64): Likewise.
25103 (linux-initramfs.i386): Likewise.
25104 (linux-initramfs.x86_64): Likewise.
25105 (kfreebsd-mfsroot.i386.img): Likewise.
25106 (knetbsd.image.i386): Likewise.
25107 (kopenbsd.image.i386): Likewise.
25108 (kopenbsd.image.x86_64): Likewise.
25109 (knetbsd.miniroot-image.i386.img): Likewise.
25110 (kfreebsd-mfsroot.x86_64.img): Likewise.
25111 (knetbsd.image.x86_64): Likewise.
25112 (knetbsd.miniroot-image.x86_64.img): Likewise.
25113 (kfreebsd-mfsroot.i386.gz): Likewise.
25114 (bootcheck-kfreebsd-i386): Likewise.
25115 (kfreebsd-mfsroot.x86_64.gz): Likewise.
25116 (bootcheck-kfreebsd-x86_64): Likewise.
25117 (knetbsd.miniroot-image.i386.gz): Likewise.
25118 (bootcheck-knetbsd-i386): Likewise.
25119 (bootcheck-kopenbsd-i386): Likewise.
25120 (bootcheck-kopenbsd-x86_64): Likewise.
25121 (knetbsd.miniroot-image.x86_64.gz): Likewise.
25122 (bootcheck-knetbsd-x86_64): Likewise.
25123 (bootcheck-linux-i386): Likewise.
25124 (bootcheck-linux-x86_64): Likewise.
25125 (bootcheck-linux16-i386): Likewise.
25126 (bootcheck-linux16-x86_64): Likewise.
25127 (bootcheck-multiboot): Likewise.
25128 (bootcheck-multiboot2): Likewise.
25129 (bootcheck-kfreebsd-aout): Likewise.
25130 (bootcheck-pc-chainloader): Likewise.
25131 (bootcheck-ntldr): Likewise.
25132 (CLEANFILES): Add new targets.
25133 (BOOTCHECKS): New variable.
25134 (.PHONY): Add bootchecks.
25135 (SUCCESSFUL_BOOT_STRING): New variable.
25136 (BOOTCHECK_TIMEOUT): Likewise.
25137 (bootcheck): New target
25138 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
25139 * configure.ac: Correct efiemu excuse.
25140 * docs/grub.texi (Supported kernels): New chapter.
25141 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
25142 include/grub/mm_private.h. Simplify inclusion of
25143 include/grub/boot.h, include/grub/loader.h
25144 and include/grub/msdos_partition.h
25145 (KERNEL_HEADER_FILES) [i386_coreboot]:
25146 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
25147 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
25148 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
25149 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
25150 include/grub/machine/loader.h.
25151 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
25152 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
25153 extra_dist.
25154 (pci.mod): Enable on i386-multiboot.
25155 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
25156 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
25157 i386-qemu.
25158 (relocator.mod): Rewritten.
25159 (aout.mod): Enable on all x86.
25160 (bsd.mod): Likewise.
25161 (ntldr.mod): New module.
25162 (linux.mod): Use loader/i386/linux.c on all x86.
25163 (xnu.mod): Enable on all x86.
25164 (vga_text.mod): disable on EFI and QEMU.
25165 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
25166 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
25167 * grub-core/efiemu/loadcore.c: Likewise.
25168 * grub-core/efiemu/main.c: Likewise.
25169 (grub_efiemu_exit_boot_services): Removed.
25170 (grub_efiemu_finish_boot_services): Likewise.
25171 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
25172 function.
25173 * grub-core/efiemu/i386/nocfgtables.c: New file.
25174 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
25175 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
25176 (grub_efi_finish_boot_services): Moved from here ...
25177 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
25178 Fille finish memory map and related data.
25179 (finish_mmap_buf): New variable.
25180 (grub_efi_uintn_t finish_mmap_size): Likewise.
25181 (grub_efi_uintn_t finish_key): Likewise.
25182 (grub_efi_uintn_t finish_desc_size): Likewise.
25183 (grub_efi_uint32_t finish_desc_version): Likewise.
25184 (grub_efi_is_finished): Likewise.
25185 (grub_efi_get_memory_map): Use saved memory map if EFI is already
25186 finished.
25187 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
25188 (grub_elf64_phdr_iterate): Likewise.
25189 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
25190 (grub_os_area_size): Likewise.
25191 (grub_machine_init): Don't reserve os area.
25192 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
25193 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
25194 * grub-core/kern/i386/loader.S: Removed.
25195 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
25196 (grub_os_area_size): Likewise.
25197 (grub_machine_init): Don't reserve os area.
25198 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
25199 Don't call grub_dl_unload_all.
25200 Don't include loader.S.
25201 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
25202 Declare the memory after _end as available.
25203 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
25204 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
25205 (GRUB_MM_ALLOC_MAGIC): Moved from here...
25206 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
25207 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
25208 * include/grub/mm_private.h (grub_mm_header): ... here.
25209 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
25210 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
25211 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
25212 (grub_mm_region): ..here. Removed addr. Added pre_size.
25213 All users updated.
25214 * grub-core/kern/mm.c (base): Renamed to ...
25215 (grub_mm_base): ... this. Made global.
25216 (grub_real_malloc): Alloc from end of region.
25217 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
25218 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
25219 * grub-core/kern/powerpc/cache_flush.S: ... here.
25220 * grub-core/lib/efi/relocator.c: New file.
25221 * grub-core/lib/i386/relocator.c: Rewritten.
25222 * grub-core/lib/i386/relocator16.S: New file.
25223 * grub-core/lib/i386/relocator32.S: Likewise.
25224 * grub-core/lib/i386/relocator64.S: Likewise.
25225 * grub-core/lib/i386/relocator_asm.S: Rewritten.
25226 * grub-core/lib/i386/relocator_common.S: New file.
25227 * grub-core/lib/ieee1275/relocator.c: Likewise.
25228 * grub-core/lib/mips/relocator.c: Rewritten.
25229 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
25230 stylistic adjustments.
25231 * grub-core/lib/powerpc/relocator.c: New file.
25232 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
25233 * grub-core/lib/relocator.c: Rewritten.
25234 * grub-core/lib/x86_64/relocator_asm.S: New file.
25235 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
25236 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
25237 (bsd_tag): New struct.
25238 (tags): New variable.
25239 (tags_last): Likewise.
25240 (netbsd_module): New struct.
25241 (netbsd_mods): New variable.
25242 (netbsd_mods_last): Likewise.
25243 (openbsd_opts): New parameter "serial".
25244 (OPENBSD_SERIAL_ARG): New definition.
25245 (netbsd_opts): New parameter "serial".
25246 (NETBSD_SERIAL_ARG): New definition.
25247 (grub_freebsd_add_meta): Reorganised into ...
25248 (grub_bsd_add_meta): ...this. All users updated.
25249 (grub_freebsd_add_mmap): Reorganised into ...
25250 (generate_e820_mmap): ...this...
25251 (grub_bsd_add_mmap): ...and this. All users updated.
25252 (grub_freebsd_list_modules): Use tags.
25253 (grub_netbsd_add_meta_module): New function.
25254 (grub_netbsd_list_modules): Likewise.
25255 (grub_freebsd_boot): Use relocator and finish EFI.
25256 (grub_openbsd_boot): Likewise.
25257 (grub_netbsd_setup_video): New function.
25258 (grub_netbsd_add_modules): Likewise.
25259 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25260 and finish EFI.
25261 (grub_bsd_unload): Unload tags.
25262 (grub_bsd_load_aout): Use relocator.
25263 (grub_bsd_elf32_size_hook): New function.
25264 (grub_bsd_elf32_hook): Use relocator.
25265 (grub_bsd_elf64_size_hook): New function.
25266 (grub_bsd_elf64_hook): Use relocator.
25267 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25268 (grub_bsd_load): Zero-out openbsd_ramdisk.
25269 (grub_bsd_load): Use relocator.
25270 (grub_cmd_openbsd): Support serial.
25271 (grub_cmd_netbsd): Support modules.
25272 (grub_cmd_freebsd_module): Use relocator.
25273 (grub_netbsd_module_load): New function.
25274 (grub_cmd_netbsd_module): Likewise.
25275 (grub_cmd_openbsd_ramdisk): Likewise.
25276 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25277 kopenbsd_ramdisk.
25278 (GRUB_MOD_FINI): Unregister new commands.
25279 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25280 (grub_freebsd_load_elfmodule_obj): Use relocator.
25281 (grub_freebsd_load_elfmodule): Likewise.
25282 (grub_freebsd_load_elf_meta): Likewise.
25283 (grub_netbsd_load_elf_meta): New function.
25284 (grub_openbsd_find_ramdisk): Likewise.
25285 * grub-core/loader/i386/bsd_helper.S: Removed.
25286 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25287 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25288 * grub-core/loader/i386/efi/linux.c: Likewise.
25289 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25290 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25291 (DEFAULT_VIDEO_MODE): Likewise.
25292 (real_mode_target): New variable.
25293 (prot_mode_target): Likewise.
25294 (initrd_mem_target): Likewise.
25295 (relocator): Likewise.
25296 (efi_mmap_buf): Likewise.
25297 (efi_mmap_size): Likewise.
25298 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25299 (free_pages): Use relocator.
25300 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25301 (grub_linux_setup_video): Return error.
25302 (grub_linux_trampoline_start): Removed.
25303 (grub_linux_trampoline_end): Likewise.
25304 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25305 andd video parameters depending on firmware.
25306 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25307 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25308 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25309 (grub_cmd_initrd): Use relocator.
25310 * grub-core/loader/i386/linux_trampoline.S: Removed.
25311 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25312 (elf_sec_entsize): Likewise.
25313 (elf_sec_shstrndx): Likewise.
25314 (elf_sections): Likewise.
25315 (grub_multiboot_load): Use relocator.
25316 (grub_multiboot_get_mbi_size): Account for sections.
25317 (grub_multiboot_make_mbi): Use relocator and support sections.
25318 (grub_multiboot_add_elfsyms): New function.
25319 (grub_multiboot_free_mbi): Free sections.
25320 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25321 (grub_linux_real_target): Likewise.
25322 (grub_linux_real_chunk): Likewise.
25323 (grub_linux16_prot_size): Likewise.
25324 (grub_linux16_boot): Use relocator.
25325 (grub_linux_unload): Unload relocator.
25326 (grub_cmd_linux): Use relocator.
25327 (grub_cmd_initrd): Likewise.
25328 * grub-core/loader/i386/pc/ntldr.c: New file.
25329 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25330 Don't try to guess CPU frequency.
25331 (grub_xnu_set_video): Stretch bitmap.
25332 (grub_xnu_boot): Use relocator.
25333 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25334 (grub_linux_unload): Free relocator.
25335 (grub_linux_load32): Use relocator.
25336 (grub_linux_load64): Likewise.
25337 (grub_cmd_initrd): Likewise.
25338 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25339 (grub_multiboot_unload): Unload relocator.
25340 (grub_cmd_multiboot): Use relocator.
25341 (grub_cmd_module): Likewise.
25342 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25343 Use relocator and support sections.
25344 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25345 (elf_sec_entsize): Likewise.
25346 (elf_sec_shstrndx): Likewise.
25347 (elf_sections): Likewise.
25348 (grub_multiboot_load): Use relocator.
25349 (grub_multiboot_get_mbi_size): Account for sections.
25350 (grub_multiboot_make_mbi): Use relocator and support sections.
25351 (grub_multiboot_add_elfsyms): New function.
25352 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25353 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25354 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25355 Prototype changed. All users updated.
25356 (grub_xnu_align_heap): Simplified.
25357 (grub_xnu_writetree_toheap): Likewise.
25358 (grub_xnu_unload): Unload relocator.
25359 (grub_cmd_xnu_kernel): Use relocator.
25360 (grub_cmd_xnu_kernel64): Likewise.
25361 (grub_xnu_register_memory): Simplified.
25362 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
25363 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25364 EFI is finished.
25365 (grub_console_checkkey): Likewise.
25366 (grub_console_getkey): Likewise.
25367 (grub_console_getwh): Likewise.
25368 (grub_console_getxy): Likewise.
25369 (grub_console_gotoxy): Likewise.
25370 (grub_console_cls): Likewise.
25371 (grub_console_setcolorstate): Likewise.
25372 (grub_console_setcursor): Likewise.
25373 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25374 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25375 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25376 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25377 * grub-core/tests/boot/kernel-8086.S: Likewise.
25378 * grub-core/tests/boot/kernel-i386.S: Likewise.
25379 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25380 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25381 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25382 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25383 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25384 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25385 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25386 * grub-core/tests/boot/linux.cfg: Likewise.
25387 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25388 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25389 * grub-core/tests/boot/linux16.cfg: Likewise.
25390 * grub-core/tests/boot/multiboot.cfg: Likewise.
25391 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25392 * grub-core/tests/boot/ntldr.cfg: Likewise.
25393 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25394 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25395 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25396 New definition.
25397 * include/grub/dl.h (grub_dl_unload_all): Removed.
25398 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25399 (grub_efi_finish_boot_services): Change prototype.
25400 (grub_efi_is_finished): New variable.
25401 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25402 Changed prototype.
25403 (grub_efiemu_finish_boot_services): Removed.
25404 (grub_machine_efiemu_init_tables): New prototype.
25405 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25406 (grub_elf64_phdr_iterate): Likewise.
25407 * include/grub/i386/bsd.h: Include relocator.h.
25408 (freebsd_tag_header): New struct.
25409 (grub_openbsd_bios_mmap): Removed.
25410 (grub_unix_real_boot): Removed.
25411 (grub_freebsd_load_elfmodule32): Changed prototype.
25412 (grub_freebsd_load_elfmodule_obj64): Likewise.
25413 (grub_freebsd_load_elf_meta32): Likewise.
25414 (grub_freebsd_load_elf_meta64): Likewise.
25415 (grub_freebsd_add_meta): Removed.
25416 (grub_netbsd_load_elf_meta32): New prototype.
25417 (grub_netbsd_load_elf_meta64): Likewise.
25418 (grub_bsd_add_meta): Likewise.
25419 (grub_openbsd_ramdisk_descriptor): New struct.
25420 (grub_openbsd_find_ramdisk32): New prototype.
25421 (grub_openbsd_find_ramdisk64): Likewise.
25422 * include/grub/i386/coreboot/loader.h: Removed.
25423 * include/grub/i386/efi/loader.h: Likewise.
25424 * include/grub/i386/ieee1275/loader.h: Likewise.
25425 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25426 to grub_uint32_t.
25427 * include/grub/i386/loader.h: Removed.
25428 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25429 value.
25430 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25431 (grub_phys_addr_t): New type.
25432 (grub_vtop): New inline function.
25433 (grub_map_memory): Likewise.
25434 (grub_unmap_memory): Likewise.
25435 * include/grub/i386/multiboot/loader.h: Removed.
25436 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25437 (NETBSD_BTINFO_CONSOLE): New definition.
25438 (NETBSD_BTINFO_SYMTAB): Likewise.
25439 (NETBSD_BTINFO_MODULES): Likewise.
25440 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25441 (grub_netbsd_bootinfo): New struct.
25442 (grub_netbsd_btinfo_common): Use explicit bitsize.
25443 (grub_netbsd_btinfo_mmap_entry): Removed.
25444 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25445 (grub_netbsd_btinfo_bootdisk): New struct.
25446 (grub_netbsd_btinfo_symtab): Likewise.
25447 (grub_netbsd_btinfo_serial): Likewise.
25448 (grub_netbsd_btinfo_modules): Likewise.
25449 (grub_netbsd_btinfo_framebuf): Likewise.
25450 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25451 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25452 Likewise.
25453 (grub_openbsd_bootargs): Use explicit bitsize.
25454 (grub_openbsd_bootarg_console): New struct.
25455 (GRUB_OPENBSD_COM_MAJOR): New definition.
25456 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25457 * include/grub/i386/pc/efiemu.h: Removed.
25458 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25459 * include/grub/i386/qemu/loader.h: Removed.
25460 * include/grub/i386/relocator.h: Rewritten.
25461 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25462 * include/grub/mips/memory.h: New file.
25463 * include/grub/mips/multiboot.h: Rewritten.
25464 * include/grub/mips/relocator.h: Rewritten.
25465 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25466 (grub_vtop): New function.
25467 (grub_map_memory): Likewise.
25468 (grub_unmap_memory): Likewise.
25469 * include/grub/misc.h (ALIGN_DOWN): New definition.
25470 * include/grub/mm.h (grub_mm_check_real): New proto.
25471 (GRUB_MM_CHECK): New definition.
25472 * include/grub/mm_private.h: New file.
25473 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25474 (grub_multiboot_get_mbi_size): Removed.
25475 (grub_multiboot_make_mbi): Change prottype.
25476 (grub_multiboot_set_accepts_video): New proto.
25477 (grub_multiboot_add_elfsyms): Likewise.
25478 (grub_multiboot_payload_eip): New variable.
25479 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25480 New prototype.
25481 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25482 New definition.
25483 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25484 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25485 * include/grub/powerpc/ieee1275/loader.h: Removed.
25486 * include/grub/powerpc/memory.h: New file.
25487 * include/grub/powerpc/relocator.h: Likewise.
25488 * include/grub/relocator.h: Likewise.
25489 * include/grub/relocator_private.h: Likewise.
25490 * include/grub/sparc64/ieee1275/loader.h: Removed.
25491 * include/grub/x86_64/memory.h: New file.
25492 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25493 (grub_xnu_heap_malloc): Likewise.
25494 (grub_xnu_heap_real_start): Removed.
25495 (grub_xnu_heap_start): Likewise.
25496 (grub_xnu_relocator): New variable.
25497 (grub_xnu_heap_target_start): Likewise.
25498 * tests/util/grub-shell.in: Support non-pc.
25499 * util/grub-mkimage.c (image_targets): Fix multiboot target.
25500
25501 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25502
25503 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25504 on malloc error.
25505 (grub_bidi_logical_to_visual): Check that malloc succeded.
25506 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25507 puts.
25508 (grub_xputs_normal): Likewise.
25509
25510 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25511
25512 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25513 extra_dist.
25514
25515 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25516
25517 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25518
25519 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25520
25521 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25522
25523 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25524
25525 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25526 dprintf.
25527
25528 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25529
25530 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25531
25532 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25533
25534 * grub-core/normal/term.c (print_more): Fix a memory leak.
25535 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25536 (grub_xputs_normal): Likewise.
25537
25538 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25539
25540 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25541 the begining of the string
25542
25543 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25544
25545 * grub-core/script/script.c (grub_script_parse): Free parsed on
25546 failure.
25547
25548 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25549
25550 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25551 on failure.
25552
25553 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25554
25555 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25556 return.
25557
25558 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25559
25560 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25561 (scroll_up): Fix a memory leak.
25562
25563 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25564
25565 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25566 errors.
25567
25568 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25569
25570 Handle USB pendrives exposed as floppies.
25571
25572 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25573 floppy.
25574 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25575 Check for partitions on all devices.
25576
25577 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25578
25579 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25580 (readkey): Likewise.
25581
25582 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25583
25584 Multiple variable names support to "export" command.
25585
25586 * normal/context.c (grub_cmd_export): "export" command supports
25587 multiple variable names.
25588
25589 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25590
25591 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25592 --target=drive output to Mach device name.
25593
25594 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25595
25596 New Automake based build system for GRUB.
25597
25598 * ABOUT-NLS: New file.
25599 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25600 in Makefile.util.def file.
25601 * Makefile.util.def: New file. Autogen build definitions file for
25602 GRUB host utils.
25603 * conf/Makefile.common: New file. Common variables for GRUB host
25604 utils and target modules.
25605 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25606 * docs/Makefile.am: New file. Automake file for docs.
25607 * gentpl.py: New file. Python script to generate Autogen
25608 template.
25609 * grub-core/Makefile.am: New file. GRUB target modules' rules
25610 that doesn't fit in Makefile.core.def file.
25611 * grub-core/Makefile.core.def: New file. Autogen build
25612 definitions file for GRUB target modules.
25613 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25614 specific setjmp.S file.
25615 * po/Makefile.am: New file.
25616
25617 * .bzrignore: New ignores.
25618 * INSTALL: New requirements, without Ruby.
25619 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25620 * autogen.sh: Updated to invoke autogen as necessary.
25621 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25622 and defines for Automake conditionals.
25623 * geninit.sh: Refactoring.
25624
25625 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25626 necessary.
25627 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25628 New prototype.
25629
25630 * include/grub/test.h: Fix functional test modules' naming.
25631 * grub-core/tests/example_functional_test.c: Fix test module name.
25632
25633 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25634 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25635 * util/grub-editenv.c: Likewise.
25636 * util/grub-fstest.c: Likewise.
25637 * util/grub-mkdevicemap.c: Likewise.
25638 * util/grub-mkfont.c: Likewise.
25639 * util/grub-mkimage.c: Likewise.
25640 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25641 * util/grub-probe.c: Likewise.
25642 * util/grub-script-check.c: Likewise.
25643 * util/i386/pc/grub-setup.c: Likewise.
25644 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25645
25646 * tests/util/grub-shell.in: Fix override directory path.
25647 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25648 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25649
25650 * util/lvm.c: Update #includes.
25651 * util/raid.c: Likewise.
25652 * util/resolve.c: Likewise.
25653 * grub-core/bus/emu/pci.c: Likewise.
25654 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25655 * grub-core/lib/posix_wrap/string.h: Likewise.
25656 * grub-core/kern/emu/main.c: Likewise.
25657
25658 * grub-core/gensymlist.sh: New file. Script for generating kernel
25659 symbols file.
25660 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25661
25662 * grub-core/gentrigtables.c: Fix unused variable warnings.
25663
25664 * Makefile.in: Removed.
25665 * conf/any-emu.rmk: Removed.
25666 * conf/common.rmk: Removed.
25667 * conf/i386-coreboot.rmk: Removed.
25668 * conf/i386-efi.rmk: Removed.
25669 * conf/i386-ieee1275.rmk: Removed.
25670 * conf/i386-multiboot.rmk: Removed.
25671 * conf/i386-pc.rmk: Removed.
25672 * conf/i386-qemu.rmk: Removed.
25673 * conf/i386.rmk: Removed.
25674 * conf/mips-yeeloong.rmk: Removed.
25675 * conf/mips.rmk: Removed.
25676 * conf/powerpc-ieee1275.rmk: Removed.
25677 * conf/sparc64-ieee1275.rmk: Removed.
25678 * conf/tests.rmk: Removed.
25679 * conf/x86-efi.rmk: Removed.
25680 * conf/x86_64-efi.rmk: Removed.
25681 * gendistlist.sh: Removed.
25682 * geninitheader.sh: Removed.
25683 * genkernsyms.sh.in: Removed.
25684 * genmk.rb: Removed.
25685 * gensymlist.sh.in: Removed.
25686 * mkinstalldirs: Removed.
25687 * boot: Moved ...
25688 * grub-core/boot: ... to here.
25689 * bus: Moved ...
25690 * grub-core/bus: ... to here.
25691 * commands: Moved ...
25692 * grub-core/commands: ... to here.
25693 * disk: Moved ...
25694 * grub-core/disk: ... to here.
25695 * efiemu: Moved ...
25696 * grub-core/efiemu: ... to here.
25697 * font: Moved ...
25698 * grub-core/font: ... to here.
25699 * fs: Moved ...
25700 * grub-core/fs: ... to here.
25701 * gencmdlist.sh: Moved ...
25702 * grub-core/gencmdlist.sh: ... to here.
25703 * genemuinit.sh: Moved ...
25704 * grub-core/genemuinit.sh: ... to here.
25705 * genemuinitheader.sh: Moved ...
25706 * grub-core/genemuinitheader.sh: ... to here.
25707 * genfslist.sh: Moved ...
25708 * grub-core/genfslist.sh: ... to here.
25709 * genhandlerlist.sh: Moved ...
25710 * grub-core/genhandlerlist.sh: ... to here.
25711 * genmoddep.awk: Moved ...
25712 * grub-core/genmoddep.awk: ... to here.
25713 * genmodsrc.sh: Moved ...
25714 * grub-core/genmodsrc.sh: ... to here.
25715 * genpartmaplist.sh: Moved ...
25716 * grub-core/genpartmaplist.sh: ... to here.
25717 * genparttoollist.sh: Moved ...
25718 * grub-core/genparttoollist.sh: ... to here.
25719 * genterminallist.sh: Moved ...
25720 * grub-core/genterminallist.sh: ... to here.
25721 * gentrigtables.c: Moved ...
25722 * grub-core/gentrigtables.c: ... to here.
25723 * genvideolist.sh: Moved ...
25724 * grub-core/genvideolist.sh: ... to here.
25725 * gettext: Moved ...
25726 * grub-core/gettext: ... to here.
25727 * gfxmenu: Moved ...
25728 * grub-core/gfxmenu: ... to here.
25729 * gnulib: Moved ...
25730 * grub-core/gnulib: ... to here.
25731 * hello: Moved ...
25732 * grub-core/hello: ... to here.
25733 * hook: Moved ...
25734 * grub-core/hook: ... to here.
25735 * io: Moved ...
25736 * grub-core/io: ... to here.
25737 * kern: Moved ...
25738 * grub-core/kern: ... to here.
25739 * lib: Moved ...
25740 * grub-core/lib: ... to here.
25741 * loader: Moved ...
25742 * grub-core/loader: ... to here.
25743 * mmap: Moved ...
25744 * grub-core/mmap: ... to here.
25745 * normal: Moved ...
25746 * grub-core/normal: ... to here.
25747 * partmap: Moved ...
25748 * grub-core/partmap: ... to here.
25749 * parttool: Moved ...
25750 * grub-core/parttool: ... to here.
25751 * script: Moved ...
25752 * grub-core/script: ... to here.
25753 * term: Moved ...
25754 * grub-core/term: ... to here
25755 * tests/example_functional_test.c: Moved ...
25756 * grub-core/tests/example_functional_test.c: ... to here.
25757 * tests/lib/functional_test.c: Moved ...
25758 * grub-core/tests/lib/functional_test.c: ... to here.
25759 * tests/lib/test.c: Moved ...
25760 * grub-core/tests/lib/test.c: ... to here.
25761 * video: Moved ...
25762 * grub-core/video: ... to here.
25763
25764 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25765
25766 Replace --enable-grub-emu-modules with grub-emu-lite.
25767
25768 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25769 cache.S.
25770
25771 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25772 * kern/emu/full.c: New file. For grub-emu specific initialization.
25773 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25774 * kern/emu/main.c: Call initialization function grub_emu_init.
25775
25776 * Makefile.in: Include grub-emu-lite in install.
25777 * commands/parttool.c: Use grub_no_autoload to differentiate
25778 between grub-emu and grub-emu-lite.
25779 * include/grub/misc.h: New variable grub_no_autoload.
25780
25781 * conf/any-emu.rmk: New rules for grub-emu-lite.
25782 * configure.ac: Remove --enable-grub-emu-modules.
25783 * genmk.rb: Cleanup unnecessary rules.
25784 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25785
25786 * normal/main.c: Don't load list files on grub-emu-lite.
25787 * util/misc.c (grub_arch_sync_caches): Removed.
25788
25789 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
25790
25791 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25792 grub-mkimage rather than grub-mkelfimage.
25793 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25794
25795 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25796
25797 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25798 a key after CapsLock or NumLock. It's just a qemu bug.
25799
25800 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25801
25802 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25803 needed by libusb wrapper.
25804
25805 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25806
25807 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25808
25809 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25810
25811 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25812 --nounzip is passed.
25813
25814 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25815
25816 USB hotunplugging and USB serial support.
25817
25818 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25819 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25820 (grub_uhci_transfer): Respect timeout and set *actual.
25821 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25822 non-standard length.
25823 (grub_usb_device_attach): Autoload modules.
25824 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25825 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25826 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25827 users updated.
25828 (grub_usb_add_hub): Fill nports and children.
25829 (attach_root_port): Receive hub instead of controller.
25830 All users updated. Fill hub->devices.
25831 (grub_usb_root_hub): Allocate hub->devices.
25832 (detach_device): New function.
25833 (poll_nonroot_hub): Fill children and detach devices.
25834 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25835 actual arguments. All users updated.
25836 (grub_usb_bulk_read_extended): New function.
25837 * bus/usb/serial/common.c: New file.
25838 * bus/usb/serial/ftdi.c: Likewise.
25839 * bus/usb/serial/pl2303.c: Likewise.
25840 * commands/terminal.c (handle_command): Support wildcard.
25841 * commands/usbtest.c: Output "Unknown" instead of empty string.
25842 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25843 (usbserial_common_mod_SOURCES): New variable.
25844 (usbserial_common_mod_CFLAGS): Likewise.
25845 (usbserial_common_mod_LDFLAGS): Likewise.
25846 (pkglib_MODULES): Add usbserial_pl2303.mod.
25847 (usbserial_pl2303_mod_SOURCES): New variable.
25848 (usbserial_pl2303_mod_CFLAGS): Likewise.
25849 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25850 (pkglib_MODULES): Add usbserial_ftdi.mod.
25851 (usbserial_ftdi_mod_SOURCES): New variable.
25852 (usbserial_ftdi_mod_CFLAGS): Likewise.
25853 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25854 (pkglib_MODULES): Add serial.mod.
25855 (serial_mod_SOURCES): New variable.
25856 (serial_mod_CFLAGS): Likewise.
25857 (serial_mod_LDFLAGS): Likewise.
25858 * conf/i386-pc.rmk: Likewise.
25859 * conf/mips-yeeloong.rmk: Likewise.
25860 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25861 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25862 * disk/usbms.c (first_available_slot): New variable.
25863 (grub_usbms_attach): Don't reuse free slots due to potential cache
25864 problems.
25865 * include/grub/serial.h: Moved to ..
25866 * include/grub/ns8250.h: ...this.
25867 * include/grub/serial.h: New file.
25868 * include/grub/term.h (grub_term_poll_usb): New variable.
25869 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25870 readkey. All users updated.
25871 (grub_terminfo_output_state): Pass term to put.
25872 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25873 (grub_usb_controller_dev): Add timeout and actual arguments to
25874 transfer. All users updated.
25875 (grub_usb_interface): New field detach_data.
25876 (grub_usb_device): New fields children and nports.
25877 (grub_usb_ep_type_t): New type.
25878 (grub_usb_get_ep_type): New function.
25879 (grub_usb_bulk_read_extended): Likewise.
25880 * include/grub/usbdesc.h (grub_usb_desc): New type.
25881 * include/grub/usbserial.h: New file.
25882 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25883 * kern/term.c (grub_term_poll_usb): New variable.
25884 (grub_getkey): Call grub_term_poll_usb if set.
25885 (grub_checkkey): Likewise.
25886 (grub_getkeystatus): Likewise.
25887 * term/serial.c: Moved controller-specific parts to ...
25888 * term/ns8250.c: ... here.
25889 * term/serial.c: Mostly rewritten.
25890 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25891 according to spec.
25892
25893 2010-08-20 Robert Millan <rmh@gnu.org>
25894
25895 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25896 a separate module and maybe other interesting combinations.
25897
25898 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25899 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25900 (kfreebsd_entry): Add generic filesystem module load routine.
25901 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25902
25903 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25904
25905 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25906 "numcenter" (I misunderstood the purpose of this entry).
25907 * docs/grub.texi (sendkey): Likewise.
25908
25909 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25910
25911 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25912 status flag options; simply omitting the option is equivalent and
25913 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25914 (keysym_table): Rename "num5numlock" to "numlock".
25915 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25916 can uniformly say that only the last of multiple `sendkey'
25917 invocations has any effect.
25918 * docs/grub.texi (sendkey): New section.
25919
25920 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
25921
25922 * commands/i386/pc/sendkey.c (options): Fix three typos.
25923
25924 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25925
25926 Implement sendkey support.
25927
25928 * commands/i386/pc/sendkey.c: New file.
25929 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25930 (sendkey_mod_SOURCES): New variable.
25931 (sendkey_mod_CFLAGS): Likewise.
25932 (sendkey_mod_LDFLAGS): Likewise.
25933
25934 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25935
25936 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25937 fix warnings from Autoconf.
25938
25939 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25940
25941 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25942 to avoid false positives with some assemblers that output things
25943 like "someprefix_func" as part of their output.
25944
25945 2010-08-15 Robert Millan <rmh@gnu.org>
25946
25947 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25948 errors.
25949 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25950 grub_get_libzfs_handle() errors.
25951
25952 2010-08-14 Robert Millan <rmh@gnu.org>
25953
25954 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25955 filesystem is not ZFS.
25956
25957 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25958
25959 Fix for misspelled color names defaulting to black/black (bug
25960 reported by Doug Nazar)
25961
25962 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25963 status to prototype.
25964 * normal/color.c (grub_parse_color_name_pair): Return failure
25965 status.
25966 (grub_env_write_color_normal): Ignore bad color names.
25967 (grub_env_write_color_highlight): Likewise.
25968 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25969
25970 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25971
25972 "shift" command support to GRUB script.
25973
25974 * include/grub/script_sh.h (grub_script_shift): New prototype.
25975 * script/execute.c (grub_script_shift): New function.
25976 * script/main.c (grub_script_init): Register shift command.
25977 (grub_script_fini): Unregister shift command.
25978 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25979
25980 * tests/grub_script_shift.in: New testcase.
25981 * conf/tests.rmk: Rules for new testcase.
25982
25983 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25984
25985 "continue" command support to GRUB script.
25986
25987 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25988 (grub_script_break): Continue support.
25989 * script/main.c (grub_script_init): Register continue command.
25990 (grub_script_fini): Unregister continue command.
25991
25992 * tests/grub_script_continue.in: New testcase.
25993 * conf/tests.rmk: Rules for new testcase.
25994
25995 2010-08-12 BVK Chaitanya <bvk@dbook>
25996
25997 "break" command support to GRUB script.
25998
25999 * conf/common.rmk: Rule updates to grub-script-check.
26000 * include/grub/misc.h (grub_min): New function.
26001 * include/grub/script_sh.h (grub_script_init): New prototype.
26002 (grub_script_fini): New prototype.
26003 (grub_script_break): New prototype.
26004 * script/main.c (grub_script_init): New function.
26005 (grub_script_fini): New function.
26006 * script/execute.c (grub_script_break): New function.
26007 * normal/main.c: Calls to grub_script_{init,fini}.
26008 * util/grub-script-check.c (grub_script_break): New function.
26009
26010 * tests/grub_script_break.in: New testcase.
26011 * conf/tests.rmk: Rules for new test case.
26012
26013 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26014
26015 Function parameters support to GRUB script.
26016
26017 * script/yylex.l (VARIABLE): Regular expression update.
26018 * script/function.c (grub_script_function_call): Moved ...
26019 * script/execute.c (grub_script_function_call): ... to here.
26020 (grub_script_execute_arglist_to_argv): Removed.
26021 (grub_script_arglist_to_argv): New function.
26022 * script/argv.c: New file.
26023 (grub_script_argv_free): New function.
26024 (grub_script_argv_next): Likewise.
26025 (grub_script_argv_append): Likewise.
26026 (grub_script_argv_split_append): Likewise.
26027 * include/grub/script_sh.h (grub_script_argv): New struct.
26028 (grub_script_argv_free): New function.
26029 (grub_script_argv_next): Likewise.
26030 (grub_script_argv_append): Likewise.
26031 (grub_script_argv_split_append): Likewise.
26032
26033 * conf/common.rmk (normal.mod): New source script/argv.c.
26034
26035 * tests/grub_script_echo1.in: More tests.
26036 * tests/grub_script_vars1.in: Likewise.
26037 * tests/grub_script_functions.in: New test case.
26038 * conf/tests.rmk: Rules for new testcase.
26039
26040 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26041
26042 Remove grub_script_cmdblock struct.
26043
26044 * include/grub/script_sh.h: Remove grub_script_cmdblock.
26045 * script/parser.y: Likewise.
26046 * script/execute.c: Rename cmdblock suffix to cmdlist.
26047 * script/script.c: Likewise.
26048 * util/grub-script-check.c: Likewise.
26049
26050 2010-08-11 Yves Blusseau <blusseau@zetam.org>
26051
26052 * .bzrignore: add grub-macho2img
26053
26054 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
26057
26058 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
26059
26060 Remove the dump of sm712 initialisation sequence.
26061
26062 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
26063 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
26064 (GRUB_VGA_IO_MISC_WRITE): Likewise.
26065 (GRUB_VGA_CR_*): Added many registers.
26066 (GRUB_VGA_SR_*): Likewise.
26067 (GRUB_VGA_GR_*): Likewise.
26068 (grub_vga_write_arx): New function.
26069 (grub_video_hw_config): New struct.
26070 (grub_vga_set_geometry): New function.
26071 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
26072 GRUB_PCI_CLASS_SUBCLASS_VGA.
26073 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
26074 * video/sm712.c (grub_sm712_write_reg): New function
26075 (grub_sm712_read_reg): Likewise.
26076 (grub_sm712_sr_write): Likewise.
26077 (grub_sm712_gr_write): Likewise.
26078 (grub_sm712_cr_write): Likewise.
26079 (grub_sm712_write_arx): Likewise.
26080 (grub_sm712_cr_shadow_write): Likewise.
26081 (grub_sm712_write_dda_lookup): Likewise.
26082 (grub_video_sm712_setup): Initialise the video rather then
26083 blindly replay the dump.
26084 (main) [TEST]: Add a routine to be able to compile as standalone for
26085 tests.
26086 * video/sm712_init.c (sm712_init): Removed.
26087 (sm712_sr_seq1): New array.
26088 (sm712_sr_seq2): Likewise.
26089
26090 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
26091
26092 * include/grub/vga.h: Add missing grub/pci.h include.
26093
26094 2010-08-10 Yves Blusseau <blusseau@zetam.org>
26095
26096 * util/grub-macho2img.c (main): fix typo
26097
26098 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
26099
26100 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
26101 (grub_vga_gr_read): Likewise.
26102 (grub_vga_cr_write): Likewise.
26103 (grub_vga_cr_read): Likewise.
26104 (grub_vga_sr_write): Likewise.
26105 (grub_vga_sr_read): Likewise.
26106 (grub_vga_palette_read): Likewise.
26107 (grub_vga_palette_write): Likewise.
26108 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
26109 (grub_sm712_sr_read): New function.
26110 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
26111 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
26112
26113 2010-08-09 Robert Millan <rmh@gnu.org>
26114
26115 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
26116 out unused variables on non-ZFS build.
26117
26118 2010-08-08 Robert Millan <rmh@gnu.org>
26119
26120 Fix path generation for sub-filesystems in ZFS.
26121
26122 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
26123 missing slash.
26124
26125 2010-08-08 Robert Millan <rmh@gnu.org>
26126
26127 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
26128
26129 2010-08-08 Robert Millan <rmh@gnu.org>
26130
26131 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
26132 exist, issue a proper error message (rely on `ls' for translated
26133 strings).
26134
26135 2010-08-08 Robert Millan <rmh@gnu.org>
26136
26137 Fix grub-probe invocation.
26138
26139 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
26140
26141 2010-08-04 Robert Millan <rmh@gnu.org>
26142
26143 * configure.ac: Remove checks for getfsstat() and getmntany().
26144 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
26145 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
26146 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
26147 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
26148 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
26149 function.
26150 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
26151 via find_mount_point_from_dir() and getfsstat() / getmntany().
26152
26153 2010-08-04 Robert Millan <rmh@gnu.org>
26154
26155 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26156 (grub_find_zpool_from_mount_point): Merge into ...
26157 (grub_find_zpool_from_dir): ... this.
26158 * kern/emu/misc.c: Likewise.
26159
26160 * kern/emu/misc.c
26161 (grub_make_system_path_relative_to_its_root): Replace
26162 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
26163 with grub_find_zpool_from_dir().
26164 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
26165
26166 2010-08-04 Robert Millan <rmh@gnu.org>
26167
26168 Support OpenSolaris in ZFS device resolution.
26169
26170 * configure.ac: Check for getmntany().
26171 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
26172 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
26173 support.
26174
26175 2010-08-03 Robert Millan <rmh@gnu.org>
26176
26177 Fix grub-emu build.
26178
26179 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
26180 * include/grub/emu/misc.h: ... here.
26181
26182 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
26183 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
26184
26185 * util/misc.c: Remove `<grub/util/libzfs.h>'.
26186 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
26187 (grub_get_libzfs_handle): Move to ...
26188 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
26189 (grub_get_libzfs_handle): ... here.
26190
26191 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
26192
26193 * script/execute.c (grub_script_execute_cmdline): Check for NULL
26194 as command name case.
26195
26196 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
26197
26198 * disk/raid.c (insert_array): Select unique numbers for named arrays
26199 as well, for use as keys in the disk cache.
26200
26201 2010-08-01 Robert Millan <rmh@gnu.org>
26202
26203 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
26204 kFreeBSD device name, except on ZFS where the filesystem label is
26205 used.
26206 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
26207 `/boot/zfs/zpool.cache'.
26208 Set mountfrom kernel variable using ${kfreebsd_device}.
26209
26210 2010-08-01 Robert Millan <rmh@gnu.org>
26211
26212 Make it even harder to use uninitialized `libzfs_handle' (and
26213 make the interface a bit simpler).
26214
26215 * include/grub/util/misc.h (grub_util_init_libzfs)
26216 (libzfs_handle): Remove.
26217 (grub_get_libzfs_handle): New prototype.
26218
26219 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
26220 attribute.
26221 (grub_util_init_libzfs): Remove.
26222 (grub_get_libzfs_handle): New function.
26223
26224 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
26225 grub_get_libzfs_handle() to obtain a libzfs handle instead of
26226 accessing `libzfs_handle' directly.
26227
26228 2010-08-01 Robert Millan <rmh@gnu.org>
26229
26230 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26231 (grub_find_zpool_from_mount_point): New function prototypes.
26232
26233 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26234 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26235
26236 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26237 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26238 `static' attribute.
26239
26240 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26241 finding zpool from mount point into ...
26242 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26243
26244 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26245 requested path is part of a ZFS pool, use
26246 grub_find_zpool_from_mount_point() to detect its filesystem name,
26247 and generate a path with `/fsname@path' syntax.
26248
26249 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26250
26251 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26252 (void) rather than () so that this is a proper prototype.
26253
26254 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26255
26256 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26257
26258 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26259
26260 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26261 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26262
26263 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26264
26265 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26266
26267 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26268
26269 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26270
26271 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26272
26273 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26274 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26275 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26276 disable gfxpayload.
26277 (Shell-like scripting): Add real content.
26278 (Serial terminal): Suggest `terminal_input serial; terminal_output
26279 serial' rather than putting the two commands on separate lines,
26280 since console input will be inoperative after the first command.
26281 (menuentry): Document --class, --users, and --hotkey options.
26282 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26283 Vladimir Serbinenko).
26284
26285 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26286 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26287
26288 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26289
26290 2010-08-01 Robert Millan <rmh@gnu.org>
26291
26292 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26293 (grub_find_zpool_from_mount_point): New function prototypes.
26294
26295 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26296 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26297
26298 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26299 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26300 `static' attribute.
26301
26302 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26303 finding zpool from mount point into ...
26304 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26305
26306 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26307 requested path is part of a ZFS pool, use
26308 grub_find_zpool_from_mount_point() to detect its filesystem name,
26309 and generate a path with `/fsname@path' syntax.
26310
26311 2010-08-01 Robert Millan <rmh@gnu.org>
26312
26313 Prevent accidental use of uninitialized libzfs_handle.
26314
26315 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26316 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26317 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26318
26319 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26320
26321 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26322 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26323
26324 2010-08-01 Robert Millan <rmh@gnu.org>
26325
26326 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
26327
26328 2010-07-31 Robert Millan <rmh@gnu.org>
26329
26330 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26331
26332 2010-07-31 Robert Millan <rmh@gnu.org>
26333
26334 * kern/emu/misc.c: Add missing license header.
26335
26336 2010-07-31 Robert Millan <rmh@gnu.org>
26337
26338 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26339
26340 * include/grub/util/libnvpair.h: Include `<config.h>'.
26341 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26342 declaring libnvpair prototypes ourselves.
26343 * include/grub/util/libzfs.h: Include `<config.h>'.
26344 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26345 declaring libzfs prototypes ourselves.
26346
26347 (libzfs_handle): Moved to ...
26348 * include/grub/util/misc.h (libzfs_handle): ... here.
26349 Include `<grub/util/libzfs.h>'.
26350
26351 2010-07-30 Robert Millan <rmh@gnu.org>
26352
26353 * include/grub/emu/misc.h: Add missing license header.
26354
26355 2010-07-30 Robert Millan <rmh@gnu.org>
26356
26357 Enable `grub-probe -t device' resolution on ZFS.
26358
26359 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26360 * include/grub/util/libnvpair.h: New file.
26361 * include/grub/util/libzfs.h: New file.
26362
26363 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26364 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26365 `<grub/util/libnvpair.h>'.
26366 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26367
26368 (find_mount_point_from_dir): New static function.
26369 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26370 function.
26371 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26372 find_root_device_from_libzfs() before ressorting to find_root_device().
26373
26374 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26375 prototype.
26376 * util/misc.c: Include `<grub/util/libzfs.h>'.
26377 (grub_util_init_libzfs): New function.
26378 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26379 [HAVE_LIBZFS] (fini_libzfs): New static function.
26380 (grub_util_init_libzfs): New function.
26381 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26382
26383 2010-07-30 Robert Millan <rmh@gnu.org>
26384
26385 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26386 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26387 `warn_unused_result' attribute.
26388 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26389 (grub_xasprintf, grub_xvasprintf): Likewise.
26390 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26391
26392 2010-07-29 Robert Millan <rmh@gnu.org>
26393
26394 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26395 (probe): Handle `PRINT_FS_LABEL'.
26396 (main): Handle `-t fs_label'.
26397
26398 2010-07-29 Robert Millan <rmh@gnu.org>
26399
26400 * configure.ac: Remove grub-mkisofs checks.
26401
26402 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26403
26404 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26405 Reported by: Lennart Sorensen.
26406
26407 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26408
26409 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26410 prior to terminal_input/terminal_output separation. It's been over 1.5
26411 years and those versions weren't widely deployed.
26412
26413 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
26414
26415 * disk/raid.c (insert_array): Don't count named arrays when looking
26416 for unused array numbers.
26417 Reported and tested by: Michael Guntsche.
26418
26419 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26420
26421 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26422 implementation of this so that grub-emu links again, with a note
26423 that this should support hotplugging in the future.
26424
26425 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26426
26427 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26428
26429 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26430
26431 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26432 handle on failure.
26433 (grub_loopback_close): Remove empty function.
26434 (grub_loopback_dev): Remove close method.
26435
26436 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26437
26438 Disable EFI cursor when the EFI console becomes inactive.
26439
26440 * term/efi/console.c (grub_efi_console_init): New function.
26441 (grub_efi_console_fini): New function.
26442 (grub_console_term_output): Register init and fini methods.
26443
26444 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26445
26446 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26447 sh script.
26448
26449 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26450
26451 * disk/loopback.c (grub_loopback): Replace filename with file.
26452 (delete_loopback): Handle new semantics.
26453 (grub_cmd_loopback): Likewise.
26454 (grub_loopback_iterate): Likewise.
26455 (grub_loopback_close): Likewise.
26456
26457 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26458
26459 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26460 with -p "".
26461 Reported by: Tito Keitel.
26462
26463 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26464
26465 * docs/grub.texi (Naming convention): Document new naming convention.
26466
26467 2010-07-20 Vadim Solomin <vadic052@gmail.com>
26468 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26469
26470 Generate device.map in something closer to the old ordering.
26471
26472 * util/deviceiter.c (struct device): New declaration.
26473 (compare_file_names): Rename to ...
26474 (compare_devices): ... this. Sort by kernel name in preference to
26475 the stable by-id name, but keep the latter as a fallback comparison.
26476 Update header comment.
26477 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26478 of `struct device' rather than of plain file names.
26479
26480 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26481
26482 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26483 on i386.
26484
26485 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26486
26487 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26488 hardcoding size.
26489 (setv1table): Likewise.
26490
26491 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26492
26493 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26494 removing the homehost if present.
26495 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26496 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26497 removing the homehost if present.
26498 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26499 if possible.
26500 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26501
26502 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26503 parameter. Set its pointer target to 0.
26504 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26505 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26506 `data_offset' value from the superblock for 1.x metadata.
26507 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26508 data on the device.
26509 (insert_array): Record the start sector of data on the device.
26510 (grub_raid_register): Pass start_sector parameters to
26511 grub_raid_list->detect and insert_array.
26512 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26513 member.
26514 (struct grub_raid): Add start_sector parameter to `detect'.
26515
26516 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26517 __attribute__ ((packed)), leaving a comment.
26518 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26519 (grub_mdraid_detect_09): ... here and ...
26520 (grub_mdraid_detect_1x): ... here.
26521
26522 2010-07-20 Peter Henn <peter.henn@web.de>
26523
26524 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26525 chunk size and disk size, which are already given as sector counts
26526 as distinct from the 0.90 units. Fetch the correct device number
26527 from the role table instead of using the table index.
26528
26529 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
26530
26531 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26532 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26533 (WriteMostly1): New macro.
26534 Set array->name to NULL for metadata format 0.90. Add support for
26535 metadata 1.x. Fix some comments.
26536 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26537 few comments.
26538 * util/getroot.c (grub_util_get_grub_dev): Add support for
26539 /dev/md/name style devices.
26540
26541 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26542
26543 * .bzrignore: Ignore 20_linux_xen.
26544
26545 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
26546
26547 * util/import_unicode.py: Remove unnecessary imports.
26548
26549 2010-07-17 Aleš Nesrsta <starous@volny.cz>
26550
26551 Hotplugging and USB hub support.
26552
26553 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26554 (grub_ohci): Likewise.
26555 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26556 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26557 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26558 (GRUB_OHCI_CTRL_EDS): Likewise.
26559 (GRUB_OHCI_BULK_EDS): Likewise.
26560 (GRUB_OHCI_TDS): Likewise.
26561 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26562 (grub_ohci_ed_phys2virt): New function.
26563 (grub_ohci_virt_to_phys): Likewise.
26564 (grub_ohci_td_phys2virt): Likewise.
26565 (grub_ohci_td_virt2phys): Likewise.
26566 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26567 attachment.
26568 (grub_ohci_find_ed): New function.
26569 (grub_ohci_alloc_td): Likewise.
26570 (grub_ohci_free_td): Likewise.
26571 (grub_ohci_free_tds): Likewise.
26572 (grub_ohci_transfer): Use previously allocated memory.
26573 (grub_ohci_portstatus): Reset status changed bit.
26574 (grub_ohci_detect_dev): Supply status changed.
26575 (grub_ohci_fini_hw): Free memory.
26576 (grub_ohci_restore_hw): Reallocate memory.
26577 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26578 Reset status change.
26579 (grub_uhci_detect_dev): Supply status_change.
26580 * bus/usb/usb.c (attach_hooks): New var.
26581 (grub_usb_device_attach): New function.
26582 (grub_usb_register_attach_hook_class): Likewise.
26583 (grub_usb_unregister_attach_hook_class): Likewise.
26584 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26585 (grub_usb_add_hub): Reset connection changed bit.
26586 (attach_root_port): New function.
26587 (grub_usb_root_hub): Likewise.
26588 (poll_nonroot_hub): Likewise.
26589 (grub_usb_poll_devices): Likewise.
26590 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26591 * disk/usbms.c (grub_usbms_open): Use device hooks.
26592 (grub_usbms_iterate) :Poll devices.
26593 (grub_usbms_finddevs): Split into ...
26594 (grub_usbms_attach): ... this ...
26595 (grub_usbms_attach): ... and this.
26596 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26597 in detect_dev.
26598 (grub_usb_interface): New fields attached and detach_hook.
26599 (grub_usb_attach_hook_class): New type.
26600 (grub_usb_attach_desc): New struct.
26601 (grub_usb_register_attach_hook_class): New function.
26602 (grub_usb_unregister_attach_hook_class): Likewise.
26603 (grub_usb_poll_devices): Likewise.
26604 (grub_usb_device_attach): Likewise.
26605 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26606 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26607
26608 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26609
26610 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26611 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26612 delta determination style. Works with most NetBSD partitions too.
26613
26614 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26615
26616 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26617 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26618
26619 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26620
26621 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26622
26623 2010-07-14 Anton Blanchard <anton@samba.org>
26624
26625 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26626 ET_DYN files.
26627
26628 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26629
26630 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26631
26632 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26633
26634 * kern/partition.c (grub_partition_check_containment): New function to
26635 check that a partition is physically contained in a parent. Since
26636 offsets are relative (and non-negative), this reduces to checking that
26637 the partition ends before its parent.
26638 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26639 (grub_partition_iterate): Likewise.
26640 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26641 comments.
26642 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26643 partitions that start before their parent, and add debug printfs.
26644
26645 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26646
26647 * Makefile.in (.SUFFIX): Spell correctly, as ...
26648 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26649 bare module name without `.mod', e.g. `test') tried to invoke a
26650 Modula-2 compiler.
26651
26652 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26653
26654 * README: Point to the Info manual.
26655
26656 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
26657
26658 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26659 2nd superblock position from partition size.
26660
26661 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
26662
26663 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26664 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26665 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26666 outputs.
26667
26668 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26669
26670 Restructure SCSI .id handling.
26671 Reported and tested by: Aleš Nesrsta.
26672
26673 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26674 (grub_atapi_dev): Changed .name to "ata". New field .id.
26675 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26676 (grub_usbms_dev): New field .id.
26677 * disk/scsi.c (grub_scsi_iterate): Generate name.
26678 (grub_scsi_open): Parse name.
26679 * include/grub/scsi.h (grub_make_scsi_id): New function.
26680 (grub_scsi_dev): Change iterate and open to number instead of naming
26681 busses. All users updated.
26682 (grub_scsi): Remove name. Add .bus.
26683
26684 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26685
26686 * commands/help.c (grub_cmd_help): Fix a typo.
26687
26688 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26689
26690 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26691 Reported and tested by: Colin Watson.
26692
26693 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26694
26695 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26696 in this context.
26697
26698 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26699
26700 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26701
26702 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
26703
26704 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26705 indentation.
26706
26707 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26708
26709 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26710 and disk/raid6_recover.c.
26711 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26712 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26713
26714 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26715
26716 * term/gfxterm.c (repaint_schedulded): Rename to ...
26717 (repaint_scheduled): ... this. Update all callers.
26718 (repaint_was_schedulded): Rename to ...
26719 (repaint_was_scheduled): ... this. Update all callers.
26720
26721 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26722
26723 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26724 which we expect to be handled by upper layers.
26725
26726 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26727
26728 * bus/usb/usbhub.c: #include time.h header.
26729
26730 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26731
26732 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26733 entry_name also for entries without stat blocks (e.g. ".."); fixes
26734 corruption of the first entry in a directory.
26735
26736 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26737
26738 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26739 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26740 doesn't work otherwise.
26741
26742 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26743
26744 * docs/grub.texi (Features): Update list of supported file systems.
26745 (GNU/Linux): Update for GRUB 2.
26746 (Serial terminal): Remove mention of --disable-serial, which was a
26747 GRUB Legacy configure option. Update instructions to use
26748 `terminal_input' and `terminal_output' rather than `terminal'.
26749 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26750 configuration' and `Installing GRUB using grub-install'.
26751 (Menu entry editor): Update for GRUB 2.
26752 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26753 Document new -a, -u, and -v options.
26754 (initrd): New section.
26755 (initrd16): New section.
26756 (linux): New section.
26757 (linux16): New section.
26758 (search): The `var' argument to `--set' is optional.
26759 (GRUB only offers a rescue shell): Go into a little more detail on
26760 drive ordering.
26761
26762 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26763
26764 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26765
26766 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26767
26768 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26769 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26770
26771 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26772
26773 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26774 install_prefix, in line with install_dos_part and install_bsd_part.
26775 Add new prefix variable, which is copied to install_prefix after
26776 comparing core.img in memory with the one read from disk in the
26777 no-embedding case, and use that rather than overwriting
26778 install_prefix immediately when installing to a partition.
26779 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26780 Bicakci.
26781
26782 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26783
26784 * configure.ac: Avoid == in test command, it's not portable.
26785 * util/grub.d/30_os-prober.in: Likewise.
26786
26787 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
26788
26789 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26790
26791 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26792
26793 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26794 multiple (top-level) partmaps.
26795
26796 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26797
26798 * util/i386/efi/grub-install.in: Don't use empty grub_device.
26799 Reported by: Tino Keitel.
26800
26801 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26802
26803 Bidi and diacritics support.
26804
26805 * Makefile.in (widthspec.bin): New target.
26806 (widthspec.h): Likewise.
26807 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26808 * autogen.sh: Generate unidata.c.
26809 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26810 * commands/ls.c (grub_ls_list_devices): Likewise.
26811 (grub_ls_list_files): Likewise.
26812 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26813 (grub_mini_cmd_lsmod): Likewise.
26814 * commands/read.c: Likewise.
26815 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26816 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26817 * lib/arg.c (grub_arg_show_help): Likewise.
26818 * lib/crypto.c (grub_password_get): Likewise.
26819 * normal/auth.c (grub_username_get): Likewise.
26820 * normal/misc.c (grub_normal_print_device_info): Likewise.
26821 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26822 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26823 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26824 (normal/charset.c_DEPENDENCIES): New variable.
26825 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26826 (pkglib_MODULES): Remove charset.mod.
26827 (charset_mod_SOURCES): Removed.
26828 (charset_mod_CFLAGS): Likewise.
26829 (charset_mod_LDFLAGS): Likewise.
26830 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26831 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26832 and term/tparm.c.
26833 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26834 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26835 (kernel_img_HEADERS): Add terminfo.h.
26836 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26837 Fill ->font. Reverse ascii bitmaps.
26838 (grub_font_get_xheight): New function.
26839 * font/font.c (grub_font_get_string_width): Moved from here ...
26840 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26841 * font/font.c (grub_font_draw_string): Moved from here ...
26842 * gfxmenu/font.c (grub_font_draw_string): ... here.
26843 * font/font.c (grub_font_dup_glyph): New function.
26844 (grub_font_blit_glyph): Likewise.
26845 (grub_font_blit_glyph_mirror): Likewise.
26846 (blit_comb): Likewise.
26847 (grub_font_construct_dry_run): Likewise.
26848 (grub_font_get_constructed_device_width): Likewise.
26849 (grub_font_construct_glyph): Likewise.
26850 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26851 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26852 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26853 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26854 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26855 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26856 (grub_font_get_xheight): New proto.
26857 (grub_font_get_constructed_device_width): Likewise.
26858 (grub_font_construct_glyph): Likewise.
26859 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26860 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26861 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26862 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26863 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26864 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26865 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26866 (grub_console_getcharwidth): Likewise.
26867 * include/grub/misc.h (grub_xputs): New proto.
26868 (grub_puts): Inlined.
26869 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26870 (grub_normal_get_line_counter): Removed.
26871 (grub_install_newline_hook): Likewise.
26872 (grub_normal_get_char_counter): New proto.
26873 (grub_normal_reset_more): Likewise.
26874 (grub_xputs_normal): Likewise.
26875 * include/grub/powerpc/ieee1275/console.h: Removed.
26876 * include/grub/sparc64/ieee1275/console.h: Likewise.
26877 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26878 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26879 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26880 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26881 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26882 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26883 (grub_term_input): Pass reference to self. All users updated.
26884 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26885 Pass reference to self. New fields normal_color, highlight_color and
26886 data. All users updated.
26887 (grub_putchar): Removed.
26888 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26889 (grub_unicode_estimate_width): New function.
26890 (grub_term_getcharwidth): Add defaults.
26891 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26892 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26893 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26894 (grub_cls): Remove EXPORT_FUNC.
26895 (grub_setcolorstate): Inline.
26896 (grub_newline_hook): Removed.
26897 * include/grub/terminfo.h: Rewritten. All users updated.
26898 * include/grub/unicode.h: New file.
26899 * include/grub/video.h (grub_video_signed_rect): New type.
26900 * kern/emu/console.c (grub_console_highlight_color): Removed.
26901 (grub_console_normal_color): Likewise.
26902 (grub_console_standard_color): Made static.
26903 (grub_ncurses_putchar): Remove mapping.
26904 (grub_ncurses_getcharwidth): Removed.
26905 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26906 (grub_ncurses_setcolor): Removed.
26907 (grub_ncurses_getcolor): Likewise.
26908 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26909 (grub_console_putchar): ... this.
26910 (grub_console_putchar): Handle argument difference.
26911 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26912 console_init_early and console_init_lately.
26913 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26914 * kern/misc.c (grub_puts): Removed.
26915 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26916 (grub_vsnprintf_real): Remove str = NULL support.
26917 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26918 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26919 * kern/term.c (grub_putcode): Renamed to ...
26920 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26921 (grub_putchar): Removed.
26922 (grub_xputs_dumb): New function.
26923 (grub_xputs): New variable.
26924 * lib/charset.c: Move from here ...
26925 * normal/charset.c: ... to here.
26926 (grub_ucs4_to_utf8): New function.
26927 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26928 (join_types): New variable.
26929 (unpack_join): New function.
26930 (bidi_types): New variable.
26931 (unpack_bidi): New function.
26932 (get_bidi_type): Likewise.
26933 (get_join_type): Likewise.
26934 (is_mirrored): Likewise.
26935 (grub_unicode_get_comb_type): Likewise.
26936 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26937 (is_type_after): Likewise.
26938 (grub_unicode_aglomerate_comb): Likewise.
26939 (bidi_line_wrap): Likewise.
26940 (grub_bidi_line_logical_to_visual): Likewise.
26941 (grub_bidi_logical_to_visual): Likewise.
26942 (grub_unicode_mirror_code): Likewise.
26943 (grub_unicode_shape_code): Likewise.
26944 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26945 Don't use grub_putchar.
26946 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26947 (grub_normal_reader_init): Likewise.
26948 (grub_xputs_saved): New variable.
26949 (GRUB_MOD_INIT): Set grub_xputs.
26950 (GRUB_MOD_FINI): Restore grub_xputs.
26951 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26952 (menu_init): Avoid printing gfxmenu error.
26953 (show_menu): Use grub_normal_get_char_counter.
26954 * normal/menu_entry.c (update_screen): Fix out-of-array.
26955 (complete): Avoid NULL dereferencing.
26956 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26957 * normal/menu_text.c (print_spaces): Removed.
26958 (grub_print_ucs4): Likewise.
26959 (grub_print_message_indented): Use grub_print_ucs4.
26960 (print_message): Use grub_putcode.
26961 (print_entry): Hanlde diacritics.
26962 * normal/term.c (term_state): New type.
26963 (grub_more_lines): Removed.
26964 (term_states): New variable.
26965 (grub_normal_line_counter): Renamed to ..
26966 (grub_normal_char_counter): ...this. All users updated.
26967 (grub_normal_get_line_counter): Renamed to ...
26968 (grub_normal_get_char_counter): ... this.
26969 (grub_normal_reset_more): New function.
26970 (process_newline): Removed.
26971 (print_more): New function.
26972 (grub_install_newline_hook): Removed.
26973 (map_code): New function.
26974 (grub_puts_terminal): Use grub_print_ucs4.
26975 (putglyph): New function.
26976 (putcode_real): Likewise.
26977 (grub_putcode): Use putcode_real.
26978 (get_maxwidth): New function.
26979 (get_startwidth): Likewise.
26980 (print_ucs4_terminal): Likewise.
26981 (find_term_state): Likewise.
26982 (put_glyphs_terminal): Likewise.
26983 (print_backlog): Likewise.
26984 (print_ucs4_real): Likewise.
26985 (grub_print_ucs4): Likewise.
26986 (grub_xputs_normal): Likewise.
26987 * term/efi/console.c (grub_console_putchar): Output diacritics.
26988 (grub_console_getcharwidth): Removed.
26989 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26990 * term/gfxterm.c (clear_char): Free chars.
26991 (scroll_up): Avoid leaking memory.
26992 (grub_gfxterm_putchar): Support diacritics.
26993 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26994 * term/i386/pc/console.c (grub_console_term_output): Declare as
26995 GRUB_TERM_CODE_TYPE_VGA.
26996 * term/i386/pc/vga.c (grub_vga_term): Declare as
26997 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26998 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26999 GRUB_TERM_CODE_TYPE_VGA.
27000 * term/i386/vga_common.c (map_char): Removed.
27001 (grub_console_putchar): Likewise.
27002 (grub_console_getcharwidth): Likewise.
27003 * term/ieee1275/ofconsole.c: Simplify using terminfo.
27004 (colors): Reordered to match terminfo.
27005 (grub_ofconsole_normal_color): Removed.
27006 (grub_ofconsole_writeesc): Likewise.
27007 (grub_ofconsole_highlight_color): Likewise.
27008 (grub_ofconsole_getcharwidth): Likewise.
27009 (grub_ofconsole_setcolorstate): Likewise.
27010 (grub_ofconsole_setcolor): Likewise.
27011 (grub_ofconsole_getcolor): Likewise.
27012 (grub_ofconsole_readkey): Renamed to ...
27013 (readkey): ... this. Remove escape sequence handling. Return -1 on no
27014 key.
27015 (grub_ofconsole_checkkey): Removed.
27016 (grub_ofconsole_getkey): Likewise.
27017 (grub_ofconsole_getxy): Likewise.
27018 (grub_ofconsole_gotoxy): Likewise.
27019 (grub_ofconsole_cls): Likewise.
27020 (grub_ofconsole_refresh): Likewise.
27021 (grub_ofconsole_terminfo_input): New struct.
27022 (grub_ofconsole_terminfo_output): Likewise.
27023 (grub_ofconsole_term_input): Use terminfo.
27024 (grub_ofconsole_term_output): Likewise.
27025 (grub_console_init): Split into ...
27026 (grub_console_init_early): ...this and ...
27027 (grub_console_init_lately): ...this. Use terminfo.
27028 (grub_ofconsole_putchar): Renamed to ...
27029 (put): ... this. Remove mapping.
27030 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
27031 * term/serial.c: Simplify using terminfo.
27032 (xpos): Removed.
27033 (ypos): Likewise.
27034 (keep_track): Likewise.
27035 (registered): Likewise.
27036 (input_buf): Likewise.
27037 (npending): Likewise.
27038 (serial_translate_key_sequence): Likewise.
27039 (fill_input_buf): Likewise.
27040 (grub_serial_checkkey): Likewise.
27041 (grub_serial_getkey): Likewise.
27042 (grub_serial_getxy): Likewise.
27043 (grub_serial_gotoxy): Likewise.
27044 (grub_serial_putchar): Likewise.
27045 (grub_serial_cls): Likewise.
27046 (grub_serial_setcolorstate): Likewise.
27047 (grub_serial_setcursor): Likewise.
27048 (serial_hw_init): Use serial_hw_fetch.
27049 (grub_serial_terminfo_input): New variable.
27050 (grub_serial_terminfo_output): Likewise.
27051 (grub_serial_term_input): Use terminfo.
27052 (grub_serial_term_output): Likewise.
27053 * term/terminfo.c (putstr): Use put.
27054 (grub_terminfo_all_free): New function
27055 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
27056 (grub_terminfo_output_register): New function.
27057 (grub_terminfo_output_unregister): Likewise.
27058 (grub_terminfo_getxy): Likewise.
27059 (grub_terminfo_readkey): Likewise.
27060 (grub_terminfo_checkkey): Likewise.
27061 (grub_terminfo_getkey): Likewise.
27062 (grub_terminfo_input_init): Likewise.
27063 (print_terminfo): Likewise.
27064 (grub_cmd_terminfo): Handle encoding.
27065 (grub_terminfo_gotoxy): Track position.
27066 (grub_terminfo_cls): Likewise.
27067 (grub_terminfo_putchar): Likewise.
27068 (grub_terminfo_setcolorstate): Handle colors
27069 (grub_terminfo_cursor_on): This ...
27070 (grub_terminfo_cursor_off): ... and this merged into ...
27071 (grub_terminfo_setcursor): ... this.
27072 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
27073 * unicode/ArabicShaping.txt: New file (imported from Unicode).
27074 * unicode/BidiMirroring.txt: Likewise.
27075 * unicode/UnicodeData.txt: Likewise.
27076 * unicode/COPYING: Likewise.
27077 * util/grub-editenv.c (grub_putchar): Removed.
27078 (grub_xputs_real): New function.
27079 (grub_xputs): New variable.
27080 * util/grub-fstest.c (grub_putchar): Removed.
27081 (grub_xputs_real): New function.
27082 (grub_xputs): New variable.
27083 * util/grub-mkdevicemap.c (grub_putchar): Removed.
27084 (grub_xputs_real): New function.
27085 (grub_xputs): New variable.
27086 * util/grub-probe.c (grub_putchar): Removed.
27087 (grub_xputs_real): New function.
27088 (grub_xputs): New variable.
27089 * util/grub-script-check.c (grub_putchar): Removed.
27090 (grub_xputs_real): New function.
27091 (grub_xputs): New variable.
27092 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
27093 (grub_xputs_real): New function.
27094 (grub_xputs): New variable.
27095 * util/import_unicode.py: New file.
27096 * util/grub-mkfont.c (ft_errmsgs): New array.
27097 (grub_glyph_info): Make bitmap a pointer.
27098 (file_formats): New type WIDTH_SPEC.
27099 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
27100 (options): Add width-spec.
27101 (help): Likewise.
27102 (add_char): Renamed to ...
27103 (add_glyph): ... this.
27104 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
27105 (glyph_replace): New type.
27106 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
27107 (add_char): New function.
27108 (add_subst): Likewise.
27109 (process_cursive): Likewise.
27110 (add_font): Handle GSUB.
27111 (write_font_width_spec): New function.
27112 (main): Sort glyphs.
27113 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
27114 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
27115 * kern/term.c (grub_cls): Moved from here...
27116 * normal/term.c (grub_cls): ... here.
27117
27118 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27119
27120 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
27121 suitable for using within the format argument of printf when
27122 converting grub_size_t.
27123 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
27124 "x" to convert grub_size_t arguments.
27125
27126 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27127
27128 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
27129 too long captions.
27130 (list_get_minimal_size): Take selection box into account.
27131
27132 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27133
27134 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
27135 NULL font.
27136
27137 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27138
27139 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
27140 devices when iterating over /dev/disk/by-id; they will be handled
27141 later if appropriate, which they aren't always (e.g. LVM).
27142
27143 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27144
27145 * include/grub/misc.h (grub_reboot): Declare as noreturn.
27146 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
27147 fails.
27148 (grub_halt): Likewise.
27149 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
27150 reset-all fails.
27151 (grub_halt): Don't return, even if all of shut-down, power-off, and
27152 poweroff fail.
27153
27154 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27155
27156 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
27157 arguments, not three.
27158
27159 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27160
27161 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
27162 * util/grub.d/10_linux.in: Use it to check for LVM, so that
27163 LVM-on-RAID is handled correctly.
27164
27165 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27166
27167 * docs/grub.texi (Changes from GRUB Legacy): New section.
27168 (Future): Fix typo.
27169
27170 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27171
27172 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
27173 grub.d/README accidentally ends up executable for one reason or
27174 another. Ignore it.
27175
27176 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27177
27178 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
27179 (gpt_partition_map_iterate): Support non-512B sectors.
27180
27181 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27182
27183 * kern/efi/init.c (grub_efi_init): Disable watchdog.
27184 Tested by: Seth Goldberg.
27185
27186 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27187
27188 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
27189 Properly align mbi.
27190 Reported by: Seth Goldberg.
27191
27192 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27193
27194 * util/grub-mkrescue.in: Avoid module duplication.
27195
27196 2010-07-01 Sean Finney <seanius@seanius.net>
27197
27198 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
27199
27200 2010-07-01 Sean Finney <seanius@seanius.net>
27201
27202 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
27203
27204 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27205
27206 * disk/lvm.c (grub_lvm_checkvalue): New function.
27207 (grub_lvm_check_flag): Likewise.
27208
27209 2010-07-01 Robert Millan <rmh@gnu.org>
27210
27211 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
27212 Support 'p' as partition separator on kernel of FreeBSD (used
27213 with GPT labels).
27214 (grub_util_biosdisk_get_grub_dev): Likewise.
27215
27216 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27217
27218 Yeeloong firmware port.
27219
27220 * boot/mips/yeeloong/fwstart.S: New file.
27221 * bus/cs5536.c (gpiodump): New const.
27222 (set_io_space): New function.
27223 (set_iod): Likewise.
27224 (set_p2d): Likewise.
27225 (grub_cs5536_init_geode): Likewise.
27226 * commands/mips/yeeloong/lsspd.c: New file.
27227 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
27228 (serial_mod_SOURCES): New variable.
27229 (serial_mod_CFLAGS): Likewise.
27230 (serial_mod_LDFLAGS): Likewise.
27231 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
27232 term/terminfo.c and term/tparm.c.
27233 (pkglib_IMAGES): Add fwstart.img.
27234 (fwstart_img_SOURCES): New variable.
27235 (fwstart_img_CFLAGS): Likewise.
27236 (fwstart_img_ASFLAGS): Likewise.
27237 (fwstart_img_LDFLAGS): Likewise.
27238 (fwstart_img_FORMAT): Likewise.
27239 (pkglib_MODULES): Add lsspd.mod.
27240 (lsspd_mod_SOURCES): New variable.
27241 (lsspd_mod_CFLAGS): Likewise.
27242 (lsspd_mod_LDFLAGS): Likewise.
27243 (pkglib_MODULES): Add halt.mod.
27244 (halt_mod_SOURCES): New variable.
27245 (halt_mod_CFLAGS): Likewise.
27246 (halt_mod_LDFLAGS): Likewise.
27247 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27248 (serial_mod_SOURCES): Removed.
27249 (serial_mod_CFLAGS): Likewise.
27250 (serial_mod_LDFLAGS): Likewise.
27251 * disk/ata.c (check_device): New function.
27252 (grub_ata_device_initialize): Use check_device.
27253 (grub_ata_iterate): Recheck devices.
27254 (grub_ata_open): Likewise.
27255 (grub_atapi_iterate): Likewise.
27256 (grub_atapi_open): Likewise.
27257 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27258 (GRUB_ATA_CH1_PORT1): Likewise.
27259 (GRUB_ATA_CH0_PORT2): Likewise.
27260 (GRUB_ATA_CH1_PORT2): Likewise.
27261 * include/grub/mips/loongson.h: New file.
27262 * include/grub/mips/yeeloong/ec.h: Likewise.
27263 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27264 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27265 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27266 * include/grub/misc.h (grub_halt): Declare as noreturn.
27267 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27268 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27269 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27270 (UART_ENABLE_DTRRTS): Likewise.
27271 (UART_ENABLE_MODEM): Removed.
27272 (UART_ENABLE_OUT2): New const.
27273 * include/grub/term.h (grub_term_register_input_active): New function.
27274 (grub_term_register_output_active): Likewise.
27275 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27276 argument.
27277 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27278 (init_pci): New function.
27279 (grub_machine_init): Execute platform init when firmware. Init serial.
27280 (grub_halt): Implement.
27281 (grub_exit): Likewise.
27282 (grub_reboot): Likewise.
27283 * term/serial.c (serial_hw_init): Update macros.
27284 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27285 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27286 (image_targets): New target mipsel-yeeloong-flash.
27287 (generate_image): Support IMAGE_YEELOONG_FLASH.
27288 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27289 (grub_video_sm712_setup): Init card.
27290 (grub_video_sm712_set_palette): Removed.
27291 * video/sm712_init.c: New file.
27292
27293 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
27294
27295 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27296 PATH when running help2man and then run it on the unadorned
27297 executable names, rather than passing $(builddir)/* paths to
27298 help2man. This avoids the build directory ending up in generated
27299 manual pages.
27300
27301 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27302
27303 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27304 to avoid accidents when debugging with 'sh -x'.
27305 * util/grub-mkrescue.in: Likewise.
27306 * util/grub.d/00_header.in: Likewise.
27307 * util/grub.d/10_hurd.in: Likewise.
27308 * util/grub.d/10_kfreebsd.in: Likewise.
27309 * util/grub.d/10_linux.in: Likewise.
27310 * util/grub.d/10_netbsd.in: Likewise.
27311 * util/grub.d/10_windows.in: Likewise.
27312 * util/grub.d/20_linux_xen.in: Likewise.
27313 * util/grub.d/30_os-prober.in: Likewise.
27314 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27315
27316 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27317
27318 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27319 last character in the buffer.
27320 Reported by: Vladimir Serbinenko.
27321
27322 2010-06-29 Robert Millan <rmh@gnu.org>
27323
27324 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27325 (Command-line and menu entry commands): Document `badram' command.
27326
27327 2010-06-28 Robert Millan <rmh@gnu.org>
27328
27329 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27330 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27331 command using ${GRUB_BADRAM} as parameter.
27332
27333 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27334
27335 * docs/grub.texi (Device map): New section.
27336 (Themes): New section (stub).
27337 * Makefile.in (docs/grub.info): The info documentation now builds
27338 without errors. Make sure it stays that way.
27339
27340 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27341
27342 Use normal parser for menu entries.
27343 Reported by: Thomas Frauendorfer
27344
27345 * include/grub/parser.h (grub_parser_execute): Don't export.
27346 * normal/menu.c (grub_menu_execute_entry_real): New function.
27347 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27348
27349 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27350
27351 * docs/grub.texi (Embedded configuration): New section (replacing
27352 old "Preset Menu" stub).
27353 (Images): New section.
27354 (configfile): Note that any menu entries defined in `file' are shown
27355 immediately.
27356
27357 2010-06-28 Josh Triplett <josh@joshtriplett.org>
27358
27359 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27360
27361 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27362
27363 * util/grub-install.in: Add --debug-image= option.
27364
27365 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27366
27367 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27368 possible on Linux.
27369
27370 * util/deviceiter.c (check_device): Rename to ...
27371 (check_device_readable_unique): ... this. Update all callers.
27372 Maintain and check a list of which devices (by canonicalized name)
27373 have already been seen.
27374 (clear_seen_devices): New function.
27375 (compare_file_names) [__linux__]: New function.
27376 (grub_util_iterate_devices): Clear the list of seen devices on exit
27377 and (just in case) on entry.
27378 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27379 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27380 seen-devices list, superseded by general code in check_device.
27381
27382 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27383
27384 * commands/cat.c (options): New variable.
27385 (grub_cmd_cat): Parse options. If the --dos option is given, print
27386 DOS-style "\r\n" line endings as simple newlines (Debian bug
27387 #586358).
27388 (GRUB_MOD_INIT): Use extcmd.
27389 (GRUB_MOD_FINI): Likewise.
27390 * docs/grub.texi (cat): Document --dos.
27391
27392 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27393
27394 XEN with Linux grub-mkconfig support.
27395
27396 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27397 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27398 GRUB_CMDLINE_XEN_DEFAULT.
27399 * util/grub.d/20_linux_xen.in: New file.
27400
27401 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27402
27403 Initialise VGA video on qemu ourselves.
27404
27405 * boot/i386/qemu/boot.S: Don't call 0xc000.
27406 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27407 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27408 (kernel_img_HEADERS): Add pci.h.
27409 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27410 * configure.ac: Force unifont on qemu and yeeloong.
27411 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27412 (grub_vga_palette_write): Use correct register.
27413 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27414 Call grub_qemu_init_cirrus.
27415 * kern/i386/qemu/init.c: New file.
27416 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27417
27418 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27419
27420 2010-06-26 Pavel Roskin <proski@gnu.org>
27421
27422 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27423 13.
27424
27425 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27426
27427 * docs/grub.texi (Simple configuration): Explain that
27428 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27429 set to `true' to disable their respective recovery entries, not
27430 merely set.
27431
27432 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27433
27434 Make the `source' command slightly faster.
27435
27436 * normal/main.c (grub_normal_execute): Don't re-read list files when
27437 nested.
27438
27439 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27440
27441 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27442 field position and mask size to red fields from mode_info, not
27443 green.
27444 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27445 Remove redundant tag->common.framebuffer_type assignment.
27446 Reported by: Seth Goldberg.
27447
27448 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27449
27450 Sync up other versions of the Linux loader with Robert Millan's
27451 change of 2010-01-09, "Make loader output a bit more user-friendly".
27452
27453 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27454 grub_dprintf().
27455 (grub_cmd_linux): Likewise.
27456 (grub_cmd_initrd): Likewise.
27457 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27458 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27459
27460 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
27461
27462 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27463 larger than MEMORY_MAP_SIZE.
27464
27465 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27466
27467 Fix parallel build.
27468
27469 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27470 dependency.
27471 * script/parser.y: #include grub_script.tab.h header.
27472
27473 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27474
27475 Support >3GiB and <16MiB RAM in i386-qemu.
27476
27477 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27478 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27479 (grub_lower_mem): Removed.
27480 (grub_upper_mem): Likewise.
27481 (mem_size): Made static.
27482 (above_4g): New variable.
27483 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27484 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27485 support.
27486
27487 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27488
27489 Cirrus 5446 and Bochs video cards support.
27490
27491 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27492 video_bochs.mod
27493 (video_cirrus_mod_SOURCES): New variable.
27494 (video_cirrus_mod_CFLAGS): Likewise.
27495 (video_cirrus_mod_LDFLAGS): Likewise.
27496 (video_bochs_mod_SOURCES): Likewise.
27497 (video_bochs_mod_CFLAGS): Likewise.
27498 (video_bochs_mod_LDFLAGS): Likewise.
27499 * include/grub/vga.h: New file.
27500 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27501 (grub_video_fb_set_page_t): New type.
27502 (grub_video_fb_setup): New prototype.
27503 (grub_video_fb_swap_buffers): Likewise.
27504 (grub_video_fb_get_info_and_fini): Likewise.
27505 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27506 (CRTC_DATA_PORT): Likewise.
27507 (CRTC_CURSOR): Likewise.
27508 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27509 (CRTC_CURSOR_ADDR_LOW): Likewise.
27510 (CRTC_CURSOR_DISABLE): Likewise.
27511 (update_cursor): Use grub_vga_cr_write.
27512 (grub_vga_text_setcursor): Likewise.
27513 * video/bochs.c: New file.
27514 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27515 (palette): Likewise.
27516 (palette_size): Likewise.
27517 (framebuffer): New variable.
27518 (grub_video_fb_init): Use 'framebuffer'.
27519 (grub_video_fb_fini): Likewise.
27520 (grub_video_fb_get_info): Likewise.
27521 (grub_video_fb_get_palette): Likewise.
27522 (grub_video_fb_set_palette): Likewise.
27523 (grub_video_fb_set_viewport): Likewise.
27524 (grub_video_fb_get_viewport): Likewise.
27525 (grub_video_fb_map_color): Likewise.
27526 (grub_video_fb_map_rgb): Likewise.
27527 (grub_video_fb_map_rgba): Likewise.
27528 (grub_video_fb_unmap_color): Likewise.
27529 (grub_video_fb_unmap_color_int): Likewise.
27530 (grub_video_fb_fill_rect): Likewise.
27531 (grub_video_fb_blit_bitmap): Likewise.
27532 (grub_video_fb_blit_render_target): Likewise.
27533 (grub_video_fb_scroll): Likewise.
27534 (grub_video_fb_create_render_target): Likewise.
27535 (grub_video_fb_doublebuf_blit_init): Likewise.
27536 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27537 (doublebuf_pageflipping_update_screen): New function.
27538 (doublebuf_pageflipping_init): Likewise.
27539 (grub_video_fb_setup): Likewise.
27540 (grub_video_fb_swap_buffers): Likewise.
27541 (grub_video_fb_get_info_and_fini): Likewise.
27542 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27543 All users updated.
27544 (doublebuf_pageflipping_commit): Restructured into ...
27545 (doublebuf_pageflipping_set_page): ... this.
27546 (doublebuf_pageflipping_update_screen): Removed.
27547 (doublebuf_pageflipping_init): Likewise.
27548 (double_buffering_init): Likewise.
27549 (grub_video_vbe_setup): Use grub_video_fb_setup.
27550 (grub_video_vbe_swap_buffers): Removed.
27551 (grub_video_vbe_set_active_render_target): Likewise.
27552 (grub_video_vbe_get_active_render_target): Likewise.
27553 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27554 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27555 grub_video_fb_set_active_render_target and
27556 grub_video_fb_get_active_render_target.
27557 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27558 (SEQUENCER_DATA_PORT): Likewise.
27559 (MAP_MASK_REGISTER): Likewise.
27560 (CRTC_ADDR_PORT): Likewise.
27561 (CRTC_DATA_PORT): Likewise.
27562 (START_ADDR_HIGH_REGISTER): Likewise.
27563 (START_ADDR_LOW_REGISTER): Likewise.
27564 (GRAPHICS_ADDR_PORT): Likewise.
27565 (GRAPHICS_DATA_PORT): Likewise.
27566 (READ_MAP_REGISTER): Likewise.
27567 (INPUT_STATUS1_REGISTER): Likewise.
27568 (INPUT_STATUS1_VERTR_BIT): Likewise.
27569 (get_map_mask): Use grub_vga_sr_read.
27570 (set_map_mask): Use grub_vga_sr_write.
27571 (set_read_map): Use grub_vga_gr_write.
27572 (set_start_address): Use grub_vga_cr_write.
27573 * video/sm712.c (framebuffer): Remove leftover fields.
27574
27575 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
27576
27577 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27578 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27579 instead. Replace the gfxterm backend check with a check that
27580 ${GRUB_PREFIX}/video.lst is non-empty.
27581 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27582 again.
27583 (load_video): New generated function. Call it before loading
27584 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27585 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27586 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27587 * docs/grub.texi (Simple configuration): Document
27588 GRUB_VIDEO_BACKEND.
27589
27590 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27591
27592 Use video functions in linux and xnu loaders.
27593
27594 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27595 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27596 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27597 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27598 loader/i386/pc/linux.c.
27599 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27600 (find_line_len): Removed.
27601 (find_framebuf): Likewise.
27602 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27603 * loader/i386/efi/xnu.c: Removed.
27604 * loader/i386/pc/xnu.c: Moved from here...
27605 * loader/i386/xnu.c: ...here.
27606
27607 Enable priorities in video drivers.
27608
27609 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27610 (grub_video_adapter): New field prio.
27611 (grub_video_register): Respect prio when inserting.
27612 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27613 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27614 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27615 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27616 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27617 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27618 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27619
27620 Fix SDL driver ID.
27621
27622 * include/grub/video.h (grub_video_driver_id_t): New value
27623 GRUB_VIDEO_DRIVER_SDL.
27624 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27625
27626 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27627
27628 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27629 argument to printf.
27630 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27631
27632 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27633
27634 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27635 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27636
27637 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27638
27639 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27640 directly, and recommend grub-install instead.
27641 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27642
27643 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27644
27645 Fix i386-pc prefix handling with nested partitions (Debian bug
27646 #585068). Note that the case where the core image is booted using
27647 multiboot and relocated from its original location still requires
27648 more work.
27649
27650 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27651 with "(,", fill the boot drive in between those two characters, but
27652 expect that a full partition specification including partition map
27653 names will follow.
27654 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27655 specified, write a prefix without the drive name but including a
27656 full partition specification.
27657
27658 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
27659
27660 * util/grub-mkconfig.in: Ignore non-option arguments, for
27661 compatibility with older versions (before 2010-06-12) which did the
27662 same. In particular, this makes it easier to ship an update-grub
27663 wrapper which is compatible with that used with GRUB Legacy (Debian
27664 bug #586056).
27665
27666 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27667
27668 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27669 for manual page generation.
27670
27671 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27672
27673 * po/POTFILES: Remove leftover commands/handler.c.
27674
27675 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27676
27677 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27678 left this script non-functional.
27679
27680 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27681
27682 * docs/man/grub-emu.h2m: New file.
27683
27684 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
27685
27686 * docs/grub.texi (Commands): Document reduced command set in rescue
27687 mode.
27688 (cpuid): New section.
27689
27690 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27691
27692 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27693 new partition naming style.
27694 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27695
27696 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27697
27698 Add "-o grub.iso" like cmdline options support.
27699
27700 * util/grub-install.in: Improve cmdline option parsing.
27701 * util/grub-mkconfig.in: Likewise.
27702 * util/grub-mkrescue.in: Likewise.
27703 * util/grub-reboot.in: Likewise.
27704 * util/grub-set-default.in: Likewise.
27705 * util/i386/efi/grub-install.in: Likewise.
27706 * util/ieee1275/grub-install.in: Likewise.
27707 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27708
27709 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27710
27711 * .bzrignore: Ignore 41_custom.
27712
27713 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27714
27715 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27716
27717 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27718
27719 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27720 prototype declarations.
27721
27722 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27723 generating fs, partmap, and video lists.
27724 * include/grub/fs.h (grub_fs_register): Omit prototype if
27725 GRUB_LST_GENERATOR is defined.
27726 * include/grub/partition.h (grub_partition_map_register): Likewise.
27727 * include/grub/video.h (grub_video_register): Likewise.
27728
27729 2010-06-12 Javier Martín <lordhabbit@gmail.com>
27730
27731 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27732
27733 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27734
27735 * util/grub-mkrescue.in: Support --xorriso argument.
27736
27737 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27738
27739 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27740 Suggested by: Thomas Schmitt.
27741
27742 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27743
27744 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27745 Suggested by: Thomas Schmitt.
27746
27747 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27748
27749 custom.cfg support.
27750
27751 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27752 * util/grub.d/41_custom.in: New file.
27753
27754 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27755
27756 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27757 been merged back into normal.
27758
27759 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27760
27761 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27762 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27763
27764 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27765
27766 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27767 when generating manual pages.
27768 * docs/man/grub-bin2h.h2m: New file.
27769 * docs/man/grub-editenv.h2m: New file.
27770 * docs/man/grub-fstest.h2m: New file.
27771 * docs/man/grub-install.h2m: New file.
27772 * docs/man/grub-macho2img.h2m: New file.
27773 * docs/man/grub-mkconfig.h2m: New file.
27774 * docs/man/grub-mkdevicemap.h2m: New file.
27775 * docs/man/grub-mkfont.h2m: New file.
27776 * docs/man/grub-mkimage.h2m: New file.
27777 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27778 * docs/man/grub-mkrelpath.h2m: New file.
27779 * docs/man/grub-mkrescue.h2m: New file.
27780 * docs/man/grub-ofpathname.h2m: New file.
27781 * docs/man/grub-pe2elf.h2m: New file.
27782 * docs/man/grub-probe.h2m: New file.
27783 * docs/man/grub-reboot.h2m: New file.
27784 * docs/man/grub-script-check.h2m: New file.
27785 * docs/man/grub-set-default.h2m: New file.
27786 * docs/man/grub-setup.h2m: New file.
27787
27788 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27789
27790 Use FOR_* macros instead of *_iterate whenever possible.
27791
27792 * commands/handler.c: Removed.
27793 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27794 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27795 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27796 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27797 (grub_probe_SOURCES): Remove kern/parser.c.
27798 (util/grub-script-check.c_DEPENDENCIES): Removed.
27799 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27800 and grub_script_check_init.c.
27801 (grub_script_check_init.lst): Removed.
27802 (grub_script_check_init.h): Likewise.
27803 (grub_script_check_init.c): Likewise.
27804 (pkglib_MODULES): Remove handler.mod and sh.mod.
27805 (handler_mod_SOURCES): Removed.
27806 (handler_mod_CFLAGS): Likewise.
27807 (handler_mod_LDFLAGS): Likewise.
27808 (normal_mod_SOURCES): Remove normal/handler.c.
27809 Add script/main.c, script/script.c, script/execute.c,
27810 script/function.c, script/lexer.c, grub_script.tab.c
27811 and grub_script.yy.c.
27812 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27813 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27814 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27815 (grub_setup_SOURCES): Remove kern/parser.c.
27816 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27817 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27818 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27819 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27820 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27821 (grub_setup_SOURCES): Remove kern/parser.c.
27822 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27823 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27824 * include/grub/command.h (grub_command_iterate): Removed.
27825 (FOR_COMMANDS): New macro.
27826 * include/grub/dl.h (grub_dl): New member next.
27827 (grub_dl_iterate): Removed.
27828 (grub_dl_head): New variable declaration.
27829 (FOR_DL_MODULES): New macro.
27830 * include/grub/fs.h: Include list.h.
27831 (grub_fs): Make next first element.
27832 (grub_fs_list): New variable declaration.
27833 (grub_fs_register): Make inline.
27834 (grub_fs_unregister): Likewise.
27835 (grub_fs_iterate): Removed.
27836 (FOR_FILESYSTEMS): New macro.
27837 * include/grub/handler.h: Removed.
27838 * include/grub/list.h (grub_list_hook_t): Removed.
27839 (grub_list_test_t): Likewise.
27840 (grub_list_pop): Likewise.
27841 (grub_list_iterate): Likewise.
27842 (grub_list_insert): Likewise.
27843 (FOR_LIST_ELEMENTS): New macro.
27844 * include/grub/parser.h (grub_parser_class): Removed.
27845 (grub_parser_register): Likewise.
27846 (grub_parser_unregister): Likewise.
27847 (grub_parser_get_current): Likewise.
27848 (grub_parser_set_current): Likewise.
27849 (grub_register_rescue_parser): Likewise.
27850 (grub_rescue_parse_line): New function.
27851 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27852 * include/grub/script_sh.h (grub_script_function_list): New variable
27853 declaration.
27854 (FOR_SCRIPT_FUNCTIONS): New macro.
27855 (grub_script_function_iterate): Removed.
27856 (grub_normal_parse_line): New prototype.
27857 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27858 (FOR_DISABLED_TERM_INPUTS): Likewise.
27859 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27860 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27861 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27862 element.
27863 (grub_video_register): Inline.
27864 (grub_video_unregister): Likewise.
27865 (grub_video_adapter_list): New variable declaration.
27866 (grub_video_iterate): Removed.
27867 (FOR_VIDEO_ADAPTERS): New macro.
27868 * kern/dl.c (grub_dl_list): Removed. All users updated.
27869 (grub_dl_iterate): Removed.
27870 * kern/fs.c (grub_fs_list): Make global.
27871 (grub_fs_register): Removed.
27872 (grub_fs_unregister): Likewise.
27873 (grub_fs_iterate): Likewise.
27874 * kern/handler.c: Removed.
27875 * kern/list.c (grub_list_pop): Removed.
27876 (grub_list_iterate): Likewise.
27877 (grub_list_insert): Likewise.
27878 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27879 (grub_prio_list_insert): Don't use grub_list_insert.
27880 * kern/main.c (grub_register_rescue_parser): Don't call
27881 grub_register_rescue_parser.
27882 * kern/parser.c (grub_parser_class): Removed.
27883 (grub_parser_execute): Use grub_rescue_parse_line.
27884 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27885 (grub_rescue_parser): Removed.
27886 (grub_register_rescue_parser): Likewise.
27887 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27888 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27889 (grub_auth_check_authentication): Likewise.
27890 * normal/completion.c (iterate_command): Removed.
27891 (grub_normal_do_completion): Use FOR_COMMANDS.
27892 * normal/handler.c: Removed.
27893 * normal/main.c (read_config_file): Remove parser changing.
27894 (grub_normal_execute): Don't call read_handler_list.
27895 (grub_normal_read_line_real): Statically allocate prompt.
27896 (grub_cmdline_run): Use grub_normal_parse_line.
27897 (GRUB_MOD_FINI): Don't call free_handler_list.
27898 * normal/menu_entry.c (run): Likewise.
27899 * script/function.c (grub_script_function_list): Make global.
27900 (grub_script_function_iterate): Removed.
27901 * script/main.c (grub_normal_parse_line): Make global.
27902 (grub_sh_parser): Removed.
27903 (GRUB_MOD_INIT): Likewise.
27904 (GRUB_MOD_FINI): Likewise.
27905 * tests/lib/functional_test.c (grub_functional_test): Use
27906 FOR_LIST_ELEMENTS.
27907 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27908 (grub_test_run): Use FOR_LIST_ELEMENTS.
27909 * tests/lib/unit_test.c (main): Likewise.
27910 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27911 grub_list_pop.
27912 * util/grub-fstest.c (grub_term_input_class): Removed.
27913 (grub_term_output_class): Likewise.
27914 * util/grub-probe.c: Likewise.
27915 * util/i386/pc/grub-setup.c: Likewise.
27916 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27917 * util/grub-script-check.c (main): Don't call grub_init_all and
27918 grub_fini_all.
27919 * video/video.c (grub_video_adapter_list): Make global.
27920 (grub_video_register): Removed.
27921 (grub_video_unregister): Likewise.
27922 (grub_video_iterate): Likewise.
27923
27924 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27925
27926 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27927 reported by Henrique Ferreiro.
27928
27929 2010-06-09 Robert Millan <rmh@gnu.org>
27930
27931 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27932 ones, when both are available.
27933
27934 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27935
27936 Make --version uniform and avoid hard-coded program name.
27937
27938 * util/grub-mkimage.c (main): Use `program_name' instead of
27939 hard-coded string.
27940 * util/i386/pc/grub-setup.c (main): Likewise.
27941 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27942 * util/grub-install.in: Save the basename of $0 in $self, and use the
27943 latter in informational messages. Use the same format for --version
27944 as the binary programs.
27945 * util/grub-mkconfig.in: Likewise.
27946 * util/grub-mkrescue.in: Likewise.
27947 * util/grub-reboot.in: Likewise.
27948 * util/grub-set-default.in: Likewise.
27949 * util/i386/efi/grub-install.in: Likewise.
27950 * util/ieee1275/grub-install.in: Likewise.
27951 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27952
27953 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27954
27955 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27956 embedding area. Use <= instead of == when checking for non-emptiness.
27957
27958 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27959
27960 * configure.ac: Add `.' to the directories searched for unifont.
27961
27962 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27963
27964 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27965 grub_script.yy.h.
27966
27967 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27968
27969 * docs/grub.texi (History): Expand to cover GRUB 2.
27970 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27971 commands, not `terminal'.
27972 (serial): Likewise.
27973 (terminal_input): New section.
27974 (terminal_output): New section.
27975 (uppermem): New section (stub).
27976 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27977
27978 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27979
27980 * docs/grub.texi (Security): Menu entries are unrestricted by
27981 default, not restricted to superusers as I had previously thought.
27982 Reword to account for this.
27983
27984 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27985
27986 * kern/emu/misc.c (device_mapper_null_log): New function.
27987 (grub_device_mapper_supported): New function.
27988 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27989 prototype.
27990 * kern/emu/hostdisk.c (find_partition_start): Check whether
27991 device-mapper is supported before trying to use it.
27992 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27993
27994 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27995
27996 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27997 (File name syntax): Likewise.
27998 (help): --all is no longer supported in GRUB 2. Be more precise
27999 about pattern matching.
28000
28001 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28002
28003 * normal/completion.c (grub_normal_do_completion): When completing
28004 arguments to "set" and the current word contains an equals sign,
28005 skip to after the equals sign before starting completion.
28006
28007 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28008
28009 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
28010
28011 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28012
28013 * docs/grub.texi (Network): New section.
28014 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
28015 `(nd)' as in GRUB Legacy.
28016 (pxe_unload): New section.
28017
28018 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28019
28020 * docs/grub.texi (Troubleshooting): `echo' is not usually available
28021 in the rescue shell, so recommend using `set' instead. Thanks,
28022 Jordan Uggla.
28023
28024 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28025
28026 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
28027 (password): New section.
28028 (password_pbkdf2): New section.
28029 (search): New section.
28030 (Security): New section.
28031 (Troubleshooting): New section, currently very incomplete.
28032 (Invoking grub-mkpasswd-pbkdf2): New section.
28033 (Internals): New section, currently very incomplete.
28034
28035 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28036
28037 * util/grub.d/00_header.in: Add some more quoting (of
28038 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
28039 work again.
28040 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
28041
28042 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
28043
28044 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
28045 to `count', fixing variable shadowing that broke the -c option.
28046
28047 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
28048
28049 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
28050 in case they contain spaces.
28051
28052 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
28053
28054 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
28055 "part_" to partmap module names, in line with grub-install.
28056 Reported by: Jindřich Makovička (Debian bug #584426).
28057
28058 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
28059
28060 * util/grub-mkimage.c: Make target-related error messages slightly
28061 more helpful; -O talks about "format". Explicitly point to the use
28062 of -O if no target is specified.
28063 Reported by: Didier Raboud (Debian bug #584415).
28064
28065 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
28066
28067 * INSTALL: Document several build requirements for optional features
28068 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
28069
28070 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
28071
28072 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
28073 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
28074 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
28075
28076 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28077
28078 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
28079 Thanks to Jordan Uggla for spotting this.
28080
28081 2010-06-02 Aleš Nesrsta <starous@volny.cz>
28082
28083 Finally make USB usable.
28084
28085 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
28086 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
28087 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
28088 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
28089 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
28090 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
28091 (GRUB_OHCI_FSMPS): Likewise.
28092 (GRUB_OHCI_PERIODIC_START): Likewise.
28093 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
28094 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
28095 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
28096 (GRUB_OHCI_SET_PORT_RESET): Likewise.
28097 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
28098 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
28099 (grub_ohci_transaction): Likewise.
28100 (grub_ohci_transfer): Improve condition detection algorithms.
28101 Handle toggle property. Program the transactions correctly.
28102 Improve error handling. Various important fixups.
28103 (grub_ohci_portstatus): Put register writes in right order.
28104 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
28105 (grub_uhci_transfer): Don't show "failed" message on success.
28106 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
28107 array.
28108 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
28109 determine its size.
28110 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
28111 before initialization is completed. Use IN direction for empty
28112 transfers. Use last_trans and compute toggle.
28113 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
28114 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
28115 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
28116 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
28117 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
28118 (grub_usb_device): Increase toggle to 256.
28119 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
28120 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
28121 GRUB_USBMS_SUBCLASS_SFF8070.
28122 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
28123 (grub_scsi_inquiry): New member page and alloc_length.
28124 (grub_scsi_request_sense): New structure.
28125 (grub_scsi_request_sense_data): Likewise.
28126 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
28127 control.
28128 * disk/scsi.c (grub_scsi_request_sense): New function.
28129 (grub_scsi_test_unit_ready): Likewise.
28130 (grub_scsi_inquiry): Fill new fields.
28131 (grub_scsi_read_capacity): Likewise.
28132 (grub_scsi_read10): Add request sense at the end.
28133 (grub_scsi_read12): Likewise.
28134 (grub_scsi_write10): Likewise.
28135 (grub_scsi_write12): Likewise.
28136 (grub_scsi_open): Add Test Unit Ready.
28137 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
28138 Support additional subclasses. Con't clear halt yet. Activate the
28139 proper config. Calculate LUNs correctly.
28140 (grub_usbms_transfer): Various important fixups.
28141
28142 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28143
28144 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
28145 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
28146 (grub_ohci_fini_hw): New function.
28147 (grub_ohci_restore_hw): Likewise.
28148 (GRUB_MOD_INIT(ohci)): Register preboot hook.
28149 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
28150 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
28151
28152 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28153
28154 Dedicated DMA allocations.
28155
28156 * bus/pci.c (grub_memalign_dma32): New function
28157 (grub_dma_free): Likewise.
28158 (grub_dma_get_virt): Likewise.
28159 (grub_dma_get_phys): Likewise.
28160 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
28161 (grub_ohci_pci_iter): Use dma32_alloc.
28162 (grub_ohci_transfer): Likewise.
28163 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
28164 (grub_usb_bulk_readwrite): Likewise.
28165 * include/grub/pci.h: Add declarations.
28166
28167 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28168
28169 CS5536 support.
28170
28171 * bus/cs5536.c: New file.
28172 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
28173 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
28174 (cs5536_mod_SOURCES): New variable.
28175 (cs5536_mod_CFLAGS): Likewise.
28176 (cs5536_mod_LDFLAGS): Likewise.
28177 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
28178 machine/pci.h.
28179 (kernel_img_SOURCES): Add bus/cs5536.c.
28180 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
28181 usb_keyboard.mod.
28182 (usb_mod_SOURCES): New variable.
28183 (usb_mod_CFLAGS): New variable.
28184 (usb_mod_LDFLAGS): New variable.
28185 (usbtest_mod_SOURCES): New variable.
28186 (usbtest_mod_CFLAGS): New variable.
28187 (usbtest_mod_LDFLAGS): New variable.
28188 (ohci_mod_SOURCES): New variable.
28189 (ohci_mod_CFLAGS): New variable.
28190 (ohci_mod_LDFLAGS): New variable.
28191 (usbms_mod_SOURCES): New variable.
28192 (usbms_mod_CFLAGS): New variable.
28193 (usbms_mod_LDFLAGS): New variable.
28194 (usb_keyboard_mod_SOURCES): New variable.
28195 (usb_keyboard_mod_CFLAGS): New variable.
28196 (usb_keyboard_mod_LDFLAGS): New variable.
28197 * include/grub/smbus.h: New file.
28198 * include/grub/cs5536.h: New file.
28199
28200 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28201
28202 * util/grub.d/00_header.in: Add safety check to make sure that
28203 ${locale_dir} exists before trying to probe it.
28204
28205 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28206
28207 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
28208 per the GNU Coding Standards; this is now too obscure to be worth
28209 documenting.
28210 (QNX): Likewise.
28211 (chainloader): Remove cross-reference to `SCO UnixWare'.
28212
28213 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28214
28215 * docs/grub.texi (Chain-loading): New section.
28216 (DOS/Windows): New section, borrowed from GRUB Legacy with details
28217 adjusted for GRUB 2.
28218 (SCO UnixWare): Likewise.
28219 (QNX): Likewise.
28220 (chainloader): Add reference to `Block list syntax'.
28221 (drivemap): New section.
28222 (parttool): New section.
28223
28224 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28225
28226 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
28227 the grub shell'.
28228 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
28229 (Installing GRUB using grub-install): Remove reference to the grub
28230 shell; mention `grub-mkimage' and `grub-setup' instead.
28231 (Invoking grub-install): Likewise.
28232 (Interface): Add reference to `Menu entry editor'.
28233 (serial): Remove `--device' option.
28234
28235 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28236
28237 * docs/grub.texi (Configuration): New section, documenting
28238 configuration file generation using grub-mkconfig. I've left a slot
28239 for documenting the full shell scripting format but have not yet
28240 started on writing that up.
28241 (Invoking grub-mkconfig): New section.
28242
28243 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28244
28245 * docs/grub.texi (direntry): Remove grub-terminfo reference.
28246 (GNU GRUB manual): Likewise.
28247 (General commands): Update description of `terminfo' for GRUB 2.
28248
28249 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28250
28251 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28252 (GRUB_MOD_INIT): Fix capitalisation.
28253 * docs/grub.texi (Command-line and menu entry commands): Document
28254 gettext and gptsync commands.
28255
28256 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28257
28258 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28259 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28260
28261 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
28262
28263 Add btrfs probing support, currently only in the single-device case.
28264
28265 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28266 function.
28267 (grub_guess_root_device): Call find_root_device_from_mountinfo
28268 before looking in /dev.
28269
28270 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28271
28272 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28273 GRUB_DISK_SIZE_UNKNOWN.
28274 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28275
28276 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
28277
28278 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28279 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28280 corrupted or not synced properly.
28281
28282 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28283
28284 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28285 Reported by: Seth Goldberg.
28286
28287 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28288
28289 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28290 addition of dest.
28291 Reported by: Seth Goldberg.
28292
28293 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28294
28295 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28296 Reported by: Seth Goldberg.
28297
28298 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28299
28300 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28301 64-bit address as signed on MIPS.
28302
28303 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28304
28305 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28306 to the empty string.
28307
28308 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28309
28310 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28311
28312 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28313 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28314 * kern/misc.c (__enable_execute_stack): Disable on
28315 GRUB_MACHINE_EMU.
28316
28317 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28318
28319 Make grub-probe work with symbolic links under /dev/mapper as well
28320 as with real block devices. The Linux world seems to be (at best)
28321 in transition here, and GRUB shouldn't get caught in the middle.
28322
28323 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28324 /dev/mapper.
28325
28326 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28327
28328 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28329 input files (in which case exit zero).
28330
28331 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28332
28333 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28334 return NULL for various reasons even if it has a maximum-length
28335 buffer: for example, there might be a symlink loop, or the path
28336 might exceed PATH_MAX. If this happens, return NULL.
28337
28338 2010-05-27 Robert Millan <rmh@gnu.org>
28339
28340 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28341 partmap module to handle cross-partmap setups.
28342 Reported by Orestes Mas. Gràcies!
28343
28344 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28345
28346 * util/grub-mkrescue.in: Initialise override_dir rather than
28347 assuming that it's unset or empty in the environment.
28348
28349 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28350
28351 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28352 variable index into p_index to suppress a warning with -Wshadow.
28353
28354 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28355
28356 * INSTALL: Added flex >= 2.5.35 requirement.
28357
28358 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28359
28360 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28361
28362 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28363
28364 cmostest support.
28365
28366 * commands/i386/cmostest.c: New file.
28367 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28368 (cmostest_mod_SOURCES): New variable.
28369 (cmostest_mod_CFLAGS): Likewise.
28370 (cmostest_mod_LDFLAGS): Likewise.
28371 * conf/i386-pc.rmk: Likewise.
28372 * docs/grub.texi (Vendor power-on keys): New section.
28373 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28374 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28375 and GRUB_BUTTON_CMOS_ADDRESS.
28376 * util/grub.d/00_header.in: Handle powering-on by separate button.
28377
28378 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28379
28380 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28381 Removed drawing_scrollbar argument. All users updated
28382 Fixes #29792.
28383 Reported by Jo Shields
28384
28385 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28388 buffer since gfxterm handles double repaint.
28389
28390 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28391
28392 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28393 * term/gfxterm.c (real_scroll): Likewise.
28394
28395 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28396
28397 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28398 before calling BIOS.
28399
28400 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28401
28402 * include/grub/i18n.h: Always enable grub_gettext.
28403
28404 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28405
28406 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28407 partition naming style.
28408
28409 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
28410
28411 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28412 not the first option.
28413
28414 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28415
28416 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28417
28418 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28419
28420 * util/misc.c: Move inclusion of <limits.h> to ...
28421 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28422
28423 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28424
28425 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28426 Fix merge error in NetBSD code.
28427 (find_partition_start) [__NetBSD__]: Likewise.
28428
28429 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28430
28431 Fix grub-mkrescue usage unit testing.
28432
28433 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28434
28435 2010-05-18 Christian Franke <franke@computer.org>
28436
28437 * util/grub.d/10_windows.in: Use path names instead of
28438 drive letters to prevent warning from Cygwin 1.7.
28439 Add drivemap command to menuentry if needed.
28440
28441 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28442
28443 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28444 gnumach and gnumach.gz.
28445
28446 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28447
28448 * include/grub/i18n.h (gettext): Inline instead of using #define.
28449 (grub_gettext): Likewise.
28450 (_): Likewise.
28451
28452 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28453
28454 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28455 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28456 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28457 (main): Add a slash after pkglibdirroot.
28458
28459 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28460
28461 * util/grub-install.in: Add missing "in" keyword.
28462
28463 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28464
28465 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28466 Reported by: Seth Goldberg.
28467
28468 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28469
28470 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28471
28472 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28473
28474 * configure.ac: Check for Linux device-mapper support.
28475
28476 * util/hostdisk.c (device_is_mapped): New function.
28477 (find_partition_start): New function, partly broken out from
28478 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28479 device-mapper support added.
28480 (linux_find_partition): Use find_partition_start.
28481 (convert_system_partition_to_system_disk): Add `st' argument.
28482 Support Linux /dev/mapper/* devices if device-mapper support is
28483 available; only DM-RAID devices are understood at present.
28484 (find_system_device): Add `st' argument. Pass it to
28485 convert_system_partition_to_system_disk.
28486 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28487 find_system_device and convert_system_partition_to_system_disk. Use
28488 find_partition_start.
28489
28490 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28491 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28492 * util/deviceiter.c [__linux__]: Define MINOR.
28493 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28494 * util/mkdevicemap.c (grub_putchar): New function.
28495 (grub_getkey): New function.
28496 (grub_refresh): New function.
28497 (main): Set debug=all if -v -v is used.
28498
28499 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28500
28501 Fix build with non-GNU libcs.
28502
28503 * util/misc.c (canonicalize_file_name): Move to ...
28504 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28505 grub_make_system_path_relative_to_its_root.
28506
28507 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28508
28509 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28510 we handle finding grub-mkimage. Default to finding grub-mkimage in
28511 ${bindir} with program_transform_name applied, and provide a
28512 --grub-mkimage option to override this.
28513
28514 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28515
28516 Remove grub-mkisofs.
28517
28518 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28519 (grub_mkisofs_SOURCES): Removed.
28520 (grub_mkisofs_CFLAGS): Removed.
28521 * util/mkisofs/defaults.h: Removed.
28522 * util/mkisofs/eltorito.c: Likewise.
28523 * util/mkisofs/exclude.h: Likewise.
28524 * util/mkisofs/hash.c: Likewise.
28525 * util/mkisofs/include/: Likewise.
28526 * util/mkisofs/include/fctldefs.h: Likewise.
28527 * util/mkisofs/include/mconfig.h: Likewise.
28528 * util/mkisofs/include/prototyp.h: Likewise.
28529 * util/mkisofs/include/statdefs.h: Likewise.
28530 * util/mkisofs/iso9660.h: Likewise.
28531 * util/mkisofs/joliet.c: Likewise.
28532 * util/mkisofs/match.c: Likewise.
28533 * util/mkisofs/match.h: Likewise.
28534 * util/mkisofs/mkisofs.c: Likewise.
28535 * util/mkisofs/mkisofs.h: Likewise.
28536 * util/mkisofs/msdos_partition.h: Likewise.
28537 * util/mkisofs/multi.c: Likewise.
28538 * util/mkisofs/name.c: Likewise.
28539 * util/mkisofs/rock.c: Likewise.
28540 * util/mkisofs/tree.c: Likewise.
28541 * util/mkisofs/write.c: Likewise.
28542
28543 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28544
28545 Unify grub-mkimage accross platforms.
28546
28547 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28548 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28549 (grub_mkelfimage_SOURCES): Removed.
28550 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28551 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28552 (bin_UTILITIES): Add grub-mkimage.
28553 (grub_mkimage_SOURCES): New variable.
28554 (kernel_img_HEADERS): Remove machine/kernel.h.
28555 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28556 (pkglib_PROGRAMS): Add kernel.img.
28557 (kernel_img_HEADERS): Add machine/kernel.h.
28558 (kernel_img_FORMAT): Removed.
28559 (bin_UTILITIES): Remove grub-mkimage.
28560 (grub_mkimage_SOURCES): Removed.
28561 (grub_mkimage_CFLAGS): Likewise.
28562 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28563 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28564 (pkglib_PROGRAMS): Add kernel.img.
28565 (bin_UTILITIES): Remove grub-mkimage.
28566 (grub_mkimage_SOURCES): Removed.
28567 (grub_mkimage_CFLAGS): Likewise.
28568 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28569 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28570 (pkglib_PROGRAMS): Add kernel.img.
28571 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28572 (pkglib_PROGRAMS): Add kernel.img.
28573 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28574 (grub_mkimage_SOURCES): Removed.
28575 (grub_mkimage_CFLAGS): Likewise.
28576 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28577 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28578 (pkglib_PROGRAMS): Add kernel.img.
28579 (bin_UTILITIES): Remove grub-mkimage.
28580 (grub_mkimage_SOURCES): Removed.
28581 (grub_mkimage_CFLAGS): Likewise.
28582 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28583 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28584 (grub_mkimage_SOURCES): Removed.
28585 (grub_mkimage_CFLAGS): Likewise.
28586 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28587 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28588 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28589 (grub_pe32_optional_header): ... this.
28590 (grub_pe64_optional_header): ... and this. All users updated.
28591 (GRUB_PE32_PE32_MAGIC): Split into ..
28592 (GRUB_PE32_PE32_MAGIC): .. this.
28593 (GRUB_PE32_PE64_MAGIC): .. and this.
28594 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28595 * include/grub/elf.h (PT_GNU_STACK): New definition.
28596 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28597 * include/grub/i386/efi/kernel.h: Likewise.
28598 * include/grub/i386/kernel.h: Likewise.
28599 * include/grub/i386/pc/kernel.h: Likewise.
28600 * include/grub/i386/qemu/boot.h: Likewise.
28601 * include/grub/mips/kernel.h: Likewise.
28602 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28603 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28604 * include/grub/powerpc/kernel.h: Likewise.
28605 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28606 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28607 * include/grub/sparc64/kernel.h: Likewise.
28608 * include/grub/x86_64/efi/kernel.h: Likewise.
28609 * include/grub/x86_64/kernel.h: Likewise.
28610 * include/grub/offsets.h: New file.
28611 * include/grub/kernel.h (grub_module_info): Split into ...
28612 (grub_module_info32): ... this.
28613 (grub_module_info64): ... and this.
28614 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28615 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28616 (grub_boot_blocklist): Moved from here ...
28617 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28618 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28619 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28620 * include/grub/types.h (grub_target_to_host16): Removed.
28621 (grub_target_to_host32): Likewise.
28622 (grub_target_to_host64): Likewise.
28623 (grub_host_to_target16): Likewise.
28624 (grub_host_to_target32): Likewise.
28625 (grub_host_to_target64): Likewise.
28626 (grub_host_to_target_addr): Likewise.
28627
28628 Support grub-mkrescue for efi, coreboot and qemu.
28629
28630 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28631 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28632 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28633 * util/grub-mkrawimage.c: Moved from here ...
28634 * util/grub-mkimage.c: ... here. All users updated.
28635 (ALIGN_ADDR): Use image_target.
28636 (TARGET_NO_FIELD): New const.
28637 (image_target_desc): New type.
28638 (image_targets): New array.
28639 (grub_target_to_host64): Use image_target.
28640 (grub_target_to_host32): Likewise.
28641 (grub_target_to_host16): Likewise.
28642 (grub_host_to_target64): Likewise.
28643 (grub_host_to_target32): Likewise.
28644 (grub_host_to_target16): Likewise.
28645 (grub_host_to_target_addr): Likewise.
28646 (generate_image): Handle multiimage.
28647 (main): Require -O parameter. All users updated.
28648 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28649 util/efi/grub-mkimage.c
28650 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28651 New option --rom-directory.
28652 Use xorriso.
28653 * util/i386/efi/grub-mkimage.c: Removed.
28654 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28655 (grub_target_to_host32): Likewise.
28656 (grub_target_to_host64): Likewise.
28657 (grub_host_to_target16): Likewise.
28658 (grub_host_to_target32): Likewise.
28659 (grub_host_to_target64): Likewise.
28660 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28661 (grub_target_to_host32): Likewise.
28662 (grub_target_to_host64): Likewise.
28663 (grub_host_to_target16): Likewise.
28664 (grub_host_to_target32): Likewise.
28665 (grub_host_to_target64): Likewise.
28666
28667 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28668
28669 Source tree is reorganized for emu build.
28670
28671 * include/grub/util/console.h: Move from here...
28672 * include/grub/emu/console.h: ...to here.
28673 * include/grub/util/getroot.h: Move from here...
28674 * include/grub/emu/getroot.h: ...to here.
28675 * include/grub/util/hostdisk.h: Move from here...
28676 * include/grub/emu/hostdisk.h: ...to here.
28677 * util/console.c: Move from here...
28678 * kern/emu/console.c: ...to here.
28679 * util/getroot.c: Move from here...
28680 * kern/emu/getroot.c: ...to here.
28681 * util/grub-emu.c: Move from here...
28682 * kern/emu/main.c: ...to here.
28683 * util/hostdisk.c: Move from here...
28684 * kern/emu/hostdisk.c: ...to here.
28685 * util/hostfs.c: Move from here...
28686 * kern/emu/hostfs.c: ...to here.
28687 * util/mm.c: Move from here...
28688 * kern/emu/mm.c: ...to here.
28689 * util/pci.c: Move from here...
28690 * bus/emu/pci.c: ...to here.
28691 * util/sdl.c: Move from here...
28692 * video/emu/sdl.c: ...to here.
28693 * util/time.c: Move from here...
28694 * kern/emu/time.c: ...to here.
28695 * util/usb.c: Move from here...
28696 * bus/usb/emu/usb.c: ...to here.
28697
28698 * include/grub/emu/misc.h: New header for grub-emu functions.
28699 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28700
28701 * conf/any-emu.rmk: Rule updates for above renames.
28702 * conf/common.rmk: Likewise.
28703 * conf/i386-pc.rmk: Likewise.
28704 * conf/i386-qemu.rmk: Likewise.
28705 * conf/mips.rmk: Likewise.
28706 * conf/sparc64-ieee1275.rmk: Likewise.
28707 * conf/x86-efi.rmk: Likewise.
28708
28709 * disk/lvm.h: #include updates for above renames.
28710 * util/grub-mkrelpath.c: Likewise.
28711 * util/grub-probe.c: Likewise.
28712 * util/i386/pc/grub-setup.c: Likewise.
28713 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28714 * kern/emu/console.c: Likewise.
28715 * kern/emu/getroot.c: Likewise.
28716 * kern/emu/hostdisk.c: Likewise.
28717 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28718
28719 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28720 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28721 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28722 * util/misc.c: Remove grub-emu functions.
28723
28724 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28725
28726 Fix gfxmenu crash.
28727 Reported by: Thorsten Grützmacher.
28728
28729 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28730 timeout hook.
28731 (circprog_set_property): Register and unregister timeout hook.
28732 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28733 (label_destroy): Free template. and unregister hook.
28734 (label_set_state): New function.
28735 (label_set_property): Handle templates and hooks.
28736 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28737 timeout hook.
28738 (progress_bar_set_property): Register and unregister timeout hook.
28739 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28740 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28741 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28742 (update_timeout_visit): Removed.
28743 (update_timeouts): New function.
28744 (redraw_timeouts): Likewise.
28745 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28746 (grub_gfxmenu_clear_timeout): Likewise.
28747 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28748 (grub_gfxmenu_timeout_notify): Likewise.
28749 (grub_gfxmenu_timeout_notifications): New external variable.
28750 (grub_gfxmenu_timeout_register): New function.
28751 (grub_gfxmenu_timeout_unregister): Likewise.
28752
28753 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28754
28755 Transform (broken) vga terminal into (working) vga video driver.
28756
28757 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28758 video/i386/pc/vga.c.
28759 * include/grub/video.h (grub_video_driver_id):
28760 Add GRUB_VIDEO_DRIVER_VGA.
28761 * term/i386/pc/vga.c: Renamed to ...
28762 * video/i386/pc/vga.c: ...this
28763 (DEBUG_VGA): Removed.
28764 (CHAR_WIDTH): Likewise.
28765 (CHAR_HEIGHT): Likewise.
28766 (TEXT_WIDTH): Likewise.
28767 (TEXT_HEIGHT): Likewise.
28768 (DEFAULT_FG_COLOR): Likewise.
28769 (DEFAULT_BG_COLOR): Likewise.
28770 (colored_char): Likewise.
28771 (xpos): Likewise.
28772 (ypos): Likewise.
28773 (cursor_state): Likewise.
28774 (fg_color): Likewise.
28775 (bg_color): Likewise.
28776 (text_buf): Likewise.
28777 (page): Likewise.
28778 (font): Likewise.
28779 (framebuffer): New variable.
28780 (set_read_map): Disabled.
28781 (setup): New variable.
28782 (is_target): Likewise.
28783 (grub_vga_mod_init): Likewise.
28784 (grub_vga_mod_fini): Likewise.
28785 (check_vga_mem): Likewise.
28786 (write_char): Likewise.
28787 (write_cursor): Likewise.
28788 (scroll_up): Likewise.
28789 (grub_vga_putchar): Likewise.
28790 (grub_vga_getcharwidth): Likewise.
28791 (grub_vga_getwh): Likewise.
28792 (grub_vga_getxy): Likewise.
28793 (grub_vga_gotoxy): Likewise.
28794 (grub_vga_cls): Likewise.
28795 (grub_vga_setcolorstate): Likewise.
28796 (grub_vga_setcursor): Likewise.
28797 (grub_video_vga_init): New function.
28798 (grub_video_vga_setup): Likewise.
28799 (grub_video_vga_fini): Likewise.
28800 (update_target): Likewise.
28801 (grub_video_vga_blit_bitmap): Likewise.
28802 (grub_video_vga_blit_render_target): Likewise.
28803 (grub_video_vga_set_active_render_target): Likewise.
28804 (grub_video_vga_get_active_render_target): Likewise.
28805 (grub_video_vga_swap_buffers): Likewise.
28806 (grub_video_vga_set_palette): Likewise.
28807 (grub_video_vga_get_info_and_fini): Likewise.
28808 (grub_vga_term): Removed.
28809 (grub_video_vga_adapter): New variable.
28810 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28811 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28812
28813 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28814
28815 * video/readers/jpeg.c: Indented.
28816
28817 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 Various jpeg cleanups.
28820
28821 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28822 (grub_jpeg_decode_quan_table): Use sizeof.
28823 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28824
28825 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
28826
28827 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28828 tables. Ignore non-last ac bit.
28829 (grub_jpeg_decode_quan_table): Likewise.
28830
28831 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28832
28833 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28834 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28835 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28836 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28837 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28838 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28839
28840 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28841
28842 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28843 error.
28844
28845 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28846
28847 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28848
28849 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28850
28851 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28852 condition.
28853
28854 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28855
28856 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28857 part.
28858
28859 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28860
28861 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28862 pointers.
28863
28864 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28865
28866 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28867
28868 2010-05-01 Christian Franke <franke@computer.org>
28869
28870 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28871 Remove broken Cygwin path conversion.
28872 * util/misc.c: [__CYGWIN__] Add include and define.
28873 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28874 for Cygwin 1.7.
28875 (make_system_path_relative_to_its_root): Simplify loop, replace early
28876 return by break.
28877 [__CYGWIN__] Add conversion to win32 path.
28878 Include "/" case in trailing slash removal.
28879
28880 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28881
28882 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28883 Reported by: Seth Goldberg
28884
28885 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28886
28887 * commands/help.c (grub_cmd_help): Fix a typo.
28888 Reported by: Seth Goldberg
28889
28890 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28891
28892 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28893 name and add N_.
28894 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28895 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28896 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28897 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28898 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28899 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28900 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28901 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28902 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28903 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28904 * normal/context.c (GRUB_MOD_INIT): Likewise.
28905 * normal/main.c (GRUB_MOD_INIT): Likewise.
28906 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28907 * term/serial.c (GRUB_MOD_INIT): Likewise.
28908 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28909
28910 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28911
28912 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28913 extra == 0.
28914
28915 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28916
28917 * commands/iorw.c: New file.
28918 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28919 (iorw_mod_SOURCES): New variable.
28920 (iorw_mod_CFLAGS): Likewise.
28921 (iorw_mod_LDFLAGS): Likewise.
28922
28923 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28924
28925 Hotkey support
28926
28927 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28928 * normal/main.c (hotkey_aliases): New variable.
28929 (grub_normal_add_menu_entry): Parse "--hotkey".
28930 * normal/menu_text.c (run_menu): Handle hotkeys.
28931
28932 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28933
28934 * kern/i386/coreboot/init.c (grub_machine_init): Call
28935 grub_machine_mmap_init on qemu.
28936
28937 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28938
28939 * boot/i386/qemu/boot.S: Add a missing .code16.
28940
28941 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28942
28943 Use LBIO on coreboot.
28944
28945 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28946 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28947 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28948 New declaration.
28949 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28950 grub_machine_mmap_init on coreboot.
28951 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28952 GRUB_LINUXBIOS_MEMBER_LINK.
28953 (grub_machine_mmap_iterate): Fix declaration.
28954 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28955
28956 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28957
28958 Split coreboot and multiboot ports.
28959
28960 * conf/i386-multiboot.rmk: New file.
28961 * configure.ac: Add multiboot port.
28962 * include/grub/i386/multiboot/boot.h: New file.
28963 * include/grub/i386/multiboot/console.h: Likewise.
28964 * include/grub/i386/multiboot/init.h: Likewise.
28965 * include/grub/i386/multiboot/kernel.h: Likewise.
28966 * include/grub/i386/multiboot/loader.h: Likewise.
28967 * include/grub/i386/multiboot/memory.h: Likewise.
28968 * include/grub/i386/multiboot/serial.h: Likewise.
28969 * include/grub/i386/multiboot/time.h: Likewise.
28970 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28971 * loader/multiboot.c: Likewise.
28972 * loader/multiboot_mbi2.c: Likewise.
28973 * util/grub-mkrescue.in: Generate multiboot rescue.
28974
28975 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28976
28977 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28978
28979 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28980
28981 Merge handling of input and output terminals. Fix a hang.
28982
28983 * commands/terminal.c (abstract_terminal): New struct.
28984 (handle_command): New function. Based on grub_cmd_terminal_input.
28985 (grub_cmd_terminal_input): Use handle_command.
28986 (grub_cmd_terminal_output): Use handle_command.
28987
28988 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28989
28990 Fix comment handling.
28991
28992 * tests/grub_script_comments.in: New testcase.
28993 * conf/tests.rmk: Rules for new testcase.
28994 * script/yylex.l: Updated flex rules.
28995
28996 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28997
28998 * docs/grub.texi (play): Document that zero pitches produce rests.
28999 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
29000 if argc is 1.
29001
29002 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29003
29004 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
29005 autogen issues.
29006
29007 2010-04-26 Christian Franke <franke@computer.org>
29008
29009 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
29010 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
29011 (grub_get_prefix): Remove function.
29012 * util/grub-emu.c (main): Replace grub_get_prefix () call by
29013 make_system_path_relative_to_its_root ().
29014 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
29015
29016 2010-04-24 Christian Franke <franke@computer.org>
29017
29018 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
29019 (kernel_img_LDFLAGS): Remove -static-libgcc.
29020
29021 2010-04-24 Christian Franke <franke@computer.org>
29022
29023 * configure.ac: Do not CHECK_BSS_START_SYMBOL
29024 and CHECK_END_SYMBOL if grub-emu is built.
29025 Unset TARGET_OBJ2ELF if grub-emu is built
29026 without module support.
29027
29028 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
29029
29030 Nilfs2 support.
29031
29032 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
29033 (grub_fstest_SOURCES): Likewise.
29034 (pkglib_MODULES): Add nilfs2.mod.
29035 (nilfs2_mod_SOURCES): New variable.
29036 (nilfs2_mod_CFLAGS): Likewise.
29037 (nilfs2_mod_LDFLAGS): Likewise.
29038 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
29039 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
29040 * fs/nilfs2.c: New file.
29041
29042 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
29043
29044 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
29045 is not supported.
29046
29047 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
29048
29049 Add grub-mkconfig support for NetBSD.
29050
29051 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
29052 * util/grub-mkconfig.in: export new NetBSD specific variables.
29053 * po/POTFILES-shell: added 10_netbsd.in.
29054 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
29055
29056 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
29057
29058 Fix emu build with grub-emu-pci and grub-emu-modules.
29059
29060 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
29061 functions.
29062 * include/grub/libpciaccess.h: New file.
29063 * conf/any-emu.rmk: Update kernel headers for emu build.
29064
29065 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
29066
29067 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
29068
29069 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
29070
29071 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
29072
29073 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29074
29075 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
29076 Retrieve chosen/bootpath if bootpath isn't hardcoded.
29077 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
29078 util/ieee1275/ofpath.c.
29079 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
29080 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
29081 * include/grub/sparc64/ieee1275/boot.h
29082 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
29083 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
29084 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
29085 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
29086 const char *.
29087 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
29088 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
29089 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
29090 install.
29091
29092 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
29093
29094 * util/grub-mkconfig.in: Corrected two == equality tests.
29095 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
29096 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
29097 expect a number appended to it.
29098 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
29099 expects a number appended to it.
29100
29101 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29102
29103 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
29104
29105 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29106
29107 * util/hostdisk.c (make_device_name): Change to new partition naming.
29108
29109 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
29110
29111 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
29112
29113 2010-04-17 Christian Franke <franke@computer.org>
29114
29115 * Makefile.in: Add missing localedir setting.
29116
29117 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
29118
29119 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
29120 mistake in r2156. Noticed by Anthony Fok.
29121
29122 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
29123 @localedir@.
29124 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29125
29126 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
29127
29128 Fix a spurious, uninitialized variable warning.
29129
29130 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
29131 Initialize variable, shdr.
29132 (grub_freebsd_load_elfmodule): Likewise.
29133 (grub_freebsd_load_elf_meta): Likewise.
29134
29135 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
29136
29137 Fix for escaped dollar in double quoted strings.
29138
29139 * script/yylex.l: Updated flex rules.
29140 * conf/tests.rmk: Rule for new testcase.
29141 * tests/grub_script_dollar.in: New testcase.
29142
29143 2010-04-13 Carles Pina i Estany <carles@pina.cat>
29144 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
29145
29146 Enclose all translated strings in grub.cfg in single quotes, and
29147 escape them appropriately (Ubuntu bug #552921).
29148
29149 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
29150 * util/grub.d/10_hurd.in: Use it.
29151 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29152 * util/grub.d/10_linux.in (linux_entry): Likewise.
29153
29154 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29155
29156 Fix cygwin compilation.
29157
29158 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
29159 * include/grub/misc.h (__register_frame_info)
29160 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
29161 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29162 * kern/misc.c (__register_frame_info)
29163 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
29164 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29165
29166 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29167
29168 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
29169
29170 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29171
29172 Unify libgcc processing.
29173
29174 * Makefile.in (kernel_img_LDFLAGS): New variable.
29175 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
29176 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
29177 overwriting.
29178 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
29179 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
29180 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
29181 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
29182 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
29183 overwriting. Remove -lgcc and -static-libgcc
29184 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
29185 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29186 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29187 (kernel_img_LDFLAGS): Append instead of overwriting.
29188 Remove -lgcc and -static-libgcc
29189 * conf/sparc64-ieee1275.rmk: Likewise.
29190 * include/grub/powerpc/libgcc.h: Move to ...
29191 * include/grub/libgcc.h: .. this.
29192 * include/grub/libgcc.h: Don't export most of the function on x86.
29193 (__bswapsi2): New export.
29194 (__bswapdi2): Likewise.
29195 * include/grub/mips/libgcc.h: Removed.
29196 * include/grub/sparc64/libgcc.h: Likewise.
29197
29198 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29199
29200 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
29201 disk_info_msg (conflicts with gettexting into languages with cases).
29202
29203 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
29204
29205 Add grub-probe support for NetBSD.
29206
29207 * util/getroot.c (find_root_device): Convert block device to
29208 character device on NetBSD.
29209 * util/probe.c (probe): Require character device on NetBSD.
29210 * util/hostdisk.c: NetBSD specific headers.
29211 (configure_device_driver): new function to tune device driver
29212 parameters (currently only for NetBSD floppy driver).
29213 (grub_util_biosdisk_open): NetBSD specific code (get disk size
29214 via disklabel ioctl).
29215 (open_device): call configure_device_driver on NetBSD.
29216 (convert_system_partition_to_system_disk): NetBSD specific code.
29217 (device_is_wholedisk): Likewise.
29218 (grub_util_biosdisk_get_grub_dev): Likewise.
29219 (make_device_name): Fixed a typo in bsd_part_str.
29220 * configure.ac: check for opendisk() and getrawpartition() on
29221 NetBSD and set LIBUTIL.
29222 * Makefile.in: add LIBUTIL to LIBS.
29223
29224 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29225
29226 Documentation fix.
29227
29228 * util/grub-script-check.c: Better help message.
29229
29230 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29231
29232 Fix FreeBSD build.
29233
29234 * configure.ac: Flex version check.
29235 * conf/common.rmk: Add -Wno-error to sh.mod.
29236 * script/yylex.l: Remove all #pragma.
29237
29238 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29239
29240 * include/grub/util/misc.h (canonicalise_file_name): Add missing
29241 prototype.
29242 Reported by: Seth Goldberg.
29243
29244 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29245
29246 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29247 Rename "module" to "module2".
29248 Reported by: Seth Goldberg.
29249
29250 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29251
29252 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29253 EXPORT_FUNC.
29254 Reported by: Seth Goldberg.
29255
29256 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29257
29258 * lib/posix_wrap/locale.h: Add missing file.
29259 Reported by: Seth Goldberg.
29260
29261 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29262
29263 grub-emu module load support.
29264
29265 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29266 NO_DYNAMIC_MODULES switched to this.
29267 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29268 (CFLAGS): Likewise.
29269 * conf/any-emu.rmk: Generate symlist.
29270 (kernel_img_HEADERS): Add util/datetime.h.
29271 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29272 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29273 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29274 kern/$(target_cpu)/cache.S.
29275 * configure.ac (grub-emu-modules): New option.
29276 * genmk.rb: Handle multiple source lists.
29277 * include/grub/sdl.h: New file.
29278 * include/grub/libusb.h: Likewise.
29279 * util/grub-emu.c (main): Hanle (host) root.
29280 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29281 GRUB_ERR_UNKNOWN_DEVICE.
29282 * util/misc.c: Move mm functions to ...
29283 * util/mm.c: ... here. All users updated.
29284
29285 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29286
29287 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29288 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29289 missing files.
29290 (maintainer-clean): Remove libgcrypt-grub.
29291
29292 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29293
29294 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29295
29296 2010-04-09 EFI Coder <eficoder@hotmail.com>
29297
29298 * normal/menu_text.c (print_message): Clean up the message and show
29299 the Fn information when on EFI
29300 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29301
29302 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29303
29304 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29305 All users updated.
29306 * normal/crypto.c (read_crypto_list): Likewise.
29307 * normal/dyncmd.c (read_command_list): Likewise.
29308 * normal/term.c (read_terminal_list): Likewise.
29309 * normal/main.c (read_lists): Use explicit prefix.
29310 (read_lists_hook): Use read_lists.
29311 (grub_normal_execute): Likewise.
29312
29313 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29314
29315 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29316 Reported by: Thomas Schmitt.
29317 Add -no-emul-boot to grub-mkisofs parameters.
29318
29319 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29320
29321 * font/font.c: Indented.
29322
29323 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29324
29325 Elif support to GRUB script (by Deepak Vankadaru).
29326
29327 * tests/grub_script_if.in: New testcase.
29328 * conf/tests.rmk: Rule for new testcase.
29329 * script/parser.y: Grammar rules for elif.
29330
29331 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29332
29333 While and until loops support to GRUB script.
29334
29335 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29336 (grub_script_create_cmdwhile): New function prototype.
29337 (grub_script_execute_cmdwhile): New function prototype.
29338 * script/execute.c (grub_script_execute_cmdwhile): New function.
29339 * script/parser.y (command): New commands.
29340 (whilecmd): New grammar rule.
29341 (untilcmd): New grammar rule.
29342 * script/script.c (grub_script_create_cmdwhile): New function.
29343 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29344 function.
29345
29346 * tests/grub_script_while1.in: New testcase.
29347 * conf/tests.rmk: Rule for new testcase.
29348
29349 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29350
29351 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29352 as *.jpg.
29353
29354 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
29355
29356 GRUB_BACKGROUND support.
29357
29358 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29359 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29360
29361 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29362
29363 Load fonts and modules for gfxmenu in grub-mkconfig.
29364 Idea by: Mario Vazquez
29365
29366 * util/grub.d/00_header.in: Load pf2 and image modules.
29367
29368 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29369
29370 grub-mkconfig multiple terminal support.
29371
29372 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29373 * util/grub.d/00_header.in: Likewise.
29374
29375 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29376
29377 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29378 we use cd $(srcdir).
29379
29380 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
29381
29382 * util/grub.d/10_linux.in: Only use the first word of
29383 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29384 spaces in GRUB_DISTRIBUTOR.
29385 * util/grub.d/10_kfreebsd.in: Likewise.
29386 * util/grub.d/10_hurd.in: Likewise.
29387
29388 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29389
29390 Fix unit testing framework for Qemu 0.12.
29391
29392 * tests/util/grub-shell.in: Remove -serial stdio option.
29393
29394 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29395
29396 POSIX header file wrappers.
29397
29398 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29399 equivalents.
29400 * lib/posix_wrap/ctype.h: Likewise.
29401 * lib/posix_wrap/errno.h: Likewise.
29402 * lib/posix_wrap/langinfo.h: Likewise.
29403 * lib/posix_wrap/limits.h: Likewise.
29404 * lib/posix_wrap/localcharset.h: Likewise.
29405 * lib/posix_wrap/stdint.h: Likewise.
29406 * lib/posix_wrap/stdio.h: Likewise.
29407 * lib/posix_wrap/stdlib.h: Likewise.
29408 * lib/posix_wrap/string.h: Likewise.
29409 * lib/posix_wrap/sys/types.h: Likewise.
29410 * lib/posix_wrap/unistd.h: Likewise.
29411 * lib/posix_wrap/wchar.h: Likewise.
29412 * lib/posix_wrap/wctype.h: Likewise.
29413 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29414 (grub_script.yy.h): Likewise.
29415 * script/yylex.l: Remove POSIX emulation #defines.
29416 * Makefile.in (POSIX_CFLAGS): New variable.
29417 (GNULIB_UTIL_CFLAGS): Likewise.
29418
29419 Regexp support.
29420
29421 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29422 (regexp_mod_SOURCES): New variable.
29423 (regexp_mod_CFLAGS): Likewise.
29424 (regexp_mod_LDFLAGS): Likewise.
29425 * commands/regexp.c: New file.
29426 * gnulib/regcomp.c: New file. Imported from gnulib.
29427 * gnulib/regex.c: Likewise.
29428 * gnulib/regex_internal.c: Likewise.
29429 * gnulib/regex_internal.h: Likewise.
29430 * gnulib/regexec.c: Likewise.
29431 * gnulib/regex.h: Likewise.
29432
29433 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29434
29435 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29436 unsupported video mode types.
29437
29438 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29439
29440 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29441
29442 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29443
29444 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29445 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29446
29447 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29448
29449 Remove unused grub_vga_get_font.
29450
29451 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29452 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29453
29454 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29455
29456 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29457 * include/grub/misc.h: Likewise.
29458
29459 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29460
29461 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29462 for which failure is fatal.
29463
29464 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29465
29466 * util/grub-install.in: Use mkdir -p to create grub directory.
29467 * util/i386/efi/grub-install.in: Likewise.
29468 * util/ieee1275/grub-install.in: Likewise.
29469
29470 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29471
29472 * Makefile.in (LEX): new variable.
29473
29474 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29475
29476 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29477 `=' and added double quotes on operands of this equality test.
29478
29479 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29480
29481 * Makefile.in (uninstall): Remove a leftover debug echo.
29482 Reported by: Grégoire Sutre
29483
29484 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29485
29486 MIPS multiboot2 support.
29487
29488 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29489 (multiboot2_mod_SOURCES): New variable.
29490 (multiboot2_mod_CFLAGS): Likewise.
29491 (multiboot2_mod_LDFLAGS): Likewise.
29492 (multiboot2_mod_ASFLAGS): Likewise.
29493 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29494 definition.
29495 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29496 (MULTIBOOT_MBI_REGISTER): Likewise.
29497 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29498 (MULTIBOOT_ELF32_MACHINE): Likewise.
29499 (MULTIBOOT_ELF64_MACHINE): Likewise.
29500 * include/grub/mips/multiboot.h: New file.
29501 * include/grub/video.h (grub_video_driver_id): New type
29502 GRUB_VIDEO_DRIVER_SM712.
29503 (grub_video_get_info_and_fini): Export.
29504 (grub_video_get_palette): Likewise.
29505 (grub_video_get_driver_id): Likewise.
29506 * include/multiboot2.h: Resynced with spec.
29507 * loader/i386/multiboot.c: Moved from here ...
29508 * loader/multiboot.c: ... here. All users updated.
29509 (grub_multiboot_boot): Use platform-specific macros.
29510 * loader/i386/multiboot_elfxx.c: Moved from here ...
29511 * loader/multiboot_elfxx.c: ... here. All users updated.
29512 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29513 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29514 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29515
29516 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29517
29518 Import gnulib argp module.
29519
29520 * gnulib/argp-ba.c: New file.
29521 * gnulib/argp-eexst.c: Likewise.
29522 * gnulib/argp-fmtstream.c: Likewise.
29523 * gnulib/argp-fmtstream.h: Likewise.
29524 * gnulib/argp-fs-xinl.c: Likewise.
29525 * gnulib/argp-help.c: Likewise.
29526 * gnulib/argp-namefrob.h: Likewise.
29527 * gnulib/argp-parse.c: Likewise.
29528 * gnulib/argp-pin.c: Likewise.
29529 * gnulib/argp-pv.c: Likewise.
29530 * gnulib/argp-pvh.c: Likewise.
29531 * gnulib/argp-version-etc.c: Likewise.
29532 * gnulib/argp-version-etc.h: Likewise.
29533 * gnulib/argp-xinl.c: Likewise.
29534 * gnulib/argp.h: Likewise.
29535
29536 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29537
29538 * kern/device.c (grub_device_iterate): Clear errors after failed
29539 opening device.
29540
29541 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29542
29543 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29544 returned by firmware.
29545
29546 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29547
29548 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29549 compilation on coreboot and qemu
29550
29551 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29552
29553 * include/multiboot2.h: Resync with spec.
29554
29555 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29556
29557 Multiboot2 tag support
29558
29559 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29560 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29561 Remove loader/multiboot_loader.c.
29562 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29563 (grub_multiboot2_real_boot): Likewise.
29564 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29565 (grub_get_multiboot_mmap_count): New proto.
29566 (grub_fill_multiboot_mmap): Likewise.
29567 (grub_multiboot_set_video_mode): Likewise.
29568 (grub_multiboot_set_console): Likewise.
29569 (grub_multiboot_load): Likewise.
29570 (grub_multiboot_load_elf): Likewise.
29571 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29572 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29573 * include/multiboot.h: Resynced with specification.
29574 * include/multiboot2.h: Resynced with specification.
29575 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29576 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29577 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29578 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29579 users updated.
29580 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29581 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29582 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29583 Removed.
29584 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29585 Moved from here...
29586 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29587 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29588 Moved from here...
29589 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29590 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29591 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29592 All users updated.
29593 * loader/i386/multiboot_mbi2.c: New file.
29594
29595 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29596
29597 Resync with gnulib.
29598
29599 * Makefile.in (GNULIB_CFLAGS): New variable.
29600 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29601 (grub_script_check_CFLAGS): New variable.
29602 * gnulib/alloca.h: Resync with gnulib.
29603 * gnulib/error.c: Likewise.
29604 * gnulib/error.h: Likewise.
29605 * gnulib/fnmatch.c: Likewise.
29606 * gnulib/fnmatch_loop.c: Likewise.
29607 * gnulib/getdelim.c: Likewise.
29608 * gnulib/getline.c: Likewise.
29609 * gnulib/getopt.c: Likewise.
29610 * gnulib/getopt1.c: Likewise.
29611 * gnulib/getopt_int.h: Likewise.
29612 * gnulib/gettext.h: Likewise.
29613 * gnulib/progname.c: Likewise.
29614 * gnulib/progname.h: Likewise.
29615
29616 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29617
29618 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29619 which is the case with --disabled-nls.
29620
29621 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29622 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29623 * util/misc.c: Likewise.
29624 * util/mkisofs/mkisofs.c: Likewise.
29625 * util/mkisofs/mkisofs.h: Likewise.
29626
29627 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29628
29629 Simplify Apple CC support.
29630
29631 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29632 Add 0 byte at the end not to have a symbol with empty target.
29633 * mmap/i386/pc/mmap_helper.S: Likewise.
29634 * genmk.rb: Ignore errors 2030 and 2050.
29635 * kern/i386/pc/startup.S: Use LOCAL when possible.
29636
29637 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29638
29639 Testcase and the fix for final semicolon on cmdline.
29640
29641 * tests/grub_script_final_semicolon.in: New testcase.
29642 * conf/tests.rmk: Rules for the new testcase.
29643 * script/parser.y: Grammar fix.
29644
29645 2010-03-26 BVK Chaitanya <bvk@localhost>
29646
29647 Blank lines testcase for GRUB script.
29648
29649 * tests/grub_script_blanklines.in: New testcase.
29650 * conf/tests.rmk: Rules for the new testcase.
29651
29652 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29653
29654 Don't use __FILE__.
29655
29656 * genmk.rb: Add -DGRUB_FILE to all C targets.
29657 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29658 * include/grub/list.h: Likewise.
29659 * include/grub/misc.h: Likewise.
29660 * include/grub/mm.h: Likewise.
29661 * include/grub/test.h: Likewise.
29662 * kern/mm.c: Likewise.
29663 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29664
29665 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29666
29667 Sunpc partitions support.
29668
29669 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29670 (grub_fstest_SOURCES): Likewise.
29671 (pkglib_MODULES): Add part_sunpc.mod.
29672 (part_sunpc_mod_SOURCES): New variable.
29673 (part_sunpc_mod_CFLAGS): Likewise.
29674 (part_sunpc_mod_LDFLAGS): Likewise.
29675 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29676 * partmap/sunpc.c: New file.
29677
29678 2010-03-26 BVK Chaitanya <bvk@localhost>
29679
29680 For loop support to GRUB script.
29681
29682 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29683 (grub_script_create_cmdfor): New function prototype.
29684 (grub_script_execute_cmdfor): New function prototype.
29685 * script/execute.c (grub_script_execute_cmdfor): New function.
29686 * script/parser.y (command): New for command.
29687 (forcmd): New grammar rule.
29688 * script/script.c (grub_script_create_cmdfor): New function.
29689 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29690 function.
29691 * tests/grub_script_for1.in: New testcase.
29692 * conf/tests.rmk: Rules for new testcase.
29693
29694 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29695
29696 Nested partitions
29697
29698 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29699 'partition' is NULL, grub_partition_get_start already does that.
29700 * commands/loadenv.c (check_blocklists): Likewise.
29701 (write_blocklists): Likewise.
29702 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29703 (grub_fstest_SOURCES): Likewise.
29704 (pkglib_MODULES): Add part_bsd.mod.
29705 (part_bsd_mod_SOURCES): New variable.
29706 (part_bsd_mod_CFLAGS): Likewise.
29707 (part_bsd_mod_LDFLAGS): Likewise.
29708 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29709 (grub_emu_SOURCES): Likewise.
29710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29711 * include/grub/bsdlabel.h: New file.
29712 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29713 'get_name'.
29714 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29715 (grub_partition_map_list): New variable.
29716 (grub_partition_map_register): Inline.
29717 (grub_partition_map_unregister): Likewise.
29718 (FOR_PARTITION_MAPS): New macro.
29719 (grub_partition_map_iterate): Removed.
29720 (grub_partition_get_start): Handle nested partitions.
29721 * include/grub/msdos_partition.h: Remove bsd-related entries.
29722 (grub_pc_partition): Remove.
29723 * kern/disk.c (grub_disk_close): Free partition data.
29724 (grub_disk_adjust_range): Handle nested partitions.
29725 * kern/partition.c (grub_partition_map_probe): New function.
29726 (grub_partition_probe): Parse name to number, handle subpartitions.
29727 (get_partmap): New function.
29728 (grub_partition_iterate): Handle subpartitions.
29729 (grub_partition_get_name): Likewise.
29730 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29731 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29732 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29733 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29734 Set 'number'.
29735 (acorn_partition_map_probe): Remove.
29736 (acorn_partition_map_get_name): Likewise.
29737 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29738 Set 'number'.
29739 Set 'index' to 0 since there can be only one partition entry per sector.
29740 (amiga_partition_map_probe): Remove.
29741 (amiga_partition_map_get_name): Likewise.
29742 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29743 Set 'number'.
29744 Set 'offset' and 'index' to real positions of partitions.
29745 (apple_partition_map_probe): Remove.
29746 (apple_partition_map_get_name): Likewise.
29747 * partmap/bsdlabel.c: New file.
29748 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29749 Set 'number'.
29750 Allocate 'data' so it can be correctly freed.
29751 Set 'index' to offset inside sector.
29752 (gpt_partition_map_probe): Remove.
29753 (gpt_partition_map_get_name): Likewise.
29754 * partmap/msdos.c (grub_partition_parse): Remove.
29755 (pc_partition_map_iterate): Don't force raw access.
29756 Set 'number'.
29757 Make 'ext_offset' a local variable.
29758 (pc_partition_map_probe): Remove.
29759 (pc_partition_map_get_name): Remove.
29760 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29761 Set 'number'.
29762 (sun_partition_map_probe): Remove.
29763 (sun_partition_map_get_name): Likewise.
29764 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29765 (grub_pcpart_type): Likewise.
29766 * util/hostdisk.c (open_device): Handle new numbering scheme.
29767 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29768 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29769 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29770 * util/grub-install.in: Insert all subpartition modules.
29771 * util/ieee1275/grub-install.in: Likewise.
29772
29773 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29774
29775 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29776 grammar.
29777
29778 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
29779
29780 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29781
29782 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
29783
29784 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29785 match where 'make install' puts them.
29786 * util/i386/efi/grub-install.in: Likewise.
29787
29788 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
29789
29790 * .bzrignore: Add gentrigtables, grub-script-check,
29791 grub_script_check_init.c, grub_script_check_init.h, and
29792 trigtables.c.
29793
29794 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29795
29796 * kern/parser.c: Indented.
29797
29798 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29799
29800 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29801
29802 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29803
29804 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29805 alpha_mask_size == 0 case.
29806
29807 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29808
29809 GRUB shell lexer and parser improvements.
29810
29811 * conf/any-emu.rmk: Build rule updates.
29812 * conf/common.rmk: Likewise.
29813 * conf/i386-coreboot.rmk: Likewise.
29814 * conf/i386-efi.rmk: Likewise.
29815 * conf/i386-ieee1275.rmk: Likewise.
29816 * conf/i386-pc.rmk: Likewise.
29817 * conf/powerpc-ieee1275.rmk: Likewise.
29818 * conf/x86_64-efi.rmk: Likewise.
29819
29820 * configure.ac: Configure check for flex.
29821
29822 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29823 types.
29824 (grub_lexer_param): Struct member updates.
29825 (grub_parser_param): Likewise.
29826 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29827 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29828 (grub_script_lexer_init): Prototype update.
29829 (grub_script_lexer_record_start): Likewise.
29830 (grub_script_lexer_record_stop): Likewise.
29831 (grub_script_lexer_yywrap): New function prototype.
29832 (grub_script_lexer_fini): Likewise.
29833 (grub_script_execute_argument_to_string): Removed by...
29834 (grub_script_execute_argument_to_argv): ...better version.
29835
29836 * script/execute.c (ROUND_UPTO): New macro.
29837 (grub_script_execute_cmdline): Out of memory fixes.
29838 (grub_script_execute_menuentry): Likewise.
29839 (grub_script_execute_argument_to_string): Removed. Update all
29840 users by...
29841 (grub_script_execute_argument_to_argv): ...better version.
29842 * script/function.c (grub_script_function_create): Use
29843 grub_script_execute_argument_to_argv instead of
29844 grub_script_execute_argument_to_string.
29845
29846 * script/lexer.c (check_varstate): Removed.
29847 (check_textstate): Removed.
29848 (grub_script_lexer_record_start): Likewise.
29849 (grub_script_lexer_record_stop): Likewise.
29850 (recordchar): Replaced with...
29851 (grub_script_lexer_record): ...new function.
29852 (nextchar): Removed.
29853 (grub_script_lexer_init): Rewritten.
29854 (grub_script_yylex): Rewritten.
29855 (append_newline): New function.
29856 (grub_script_lexer_yywrap): New function.
29857 (grub_script_lexer_fini): New function.
29858 (grub_script_yyerror): Sets error flag.
29859
29860 * script/yylex.l: New file.
29861 (grub_lexer_yyfree): Wrapper for flex yyffre.
29862 (grub_lexer_yyalloc): Likewise.
29863 (grub_lexer_yyrealloc): Likewise.
29864 * script/parser.y: Refactored.
29865
29866 * script/script.c (grub_script_arg_add): Out of memory fixes.
29867 (grub_script_add_arglist): Likewise.
29868 (grub_script_create_cmdline): Likewise.
29869 (grub_script_create_cmdmenu): Likewise.
29870 (grub_script_add_cmd): Likewise.
29871 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29872 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29873 unnecessary code.
29874
29875 * tests/grub_script_echo1.in: New testcase.
29876 * tests/grub_script_vars1.in: New testcase.
29877 * tests/grub_script_echo_keywords.in: New testcase.
29878
29879 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29880
29881 Remove some redundancy in build system.
29882
29883 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29884 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29885 (TARGET_LDFLAGS): Add -nostdlib.
29886 (TARGET_IMG_LDFLAGS): Likewise.
29887 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29888 anything since mmap isn't available.
29889 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29890 Add util/time.c.
29891 (pkglib_MODULES): Remove reboot.mod.
29892 (reboot_mod_SOURCES): Removed.
29893 (reboot_mod_CFLAGS): Likewise.
29894 (reboot_mod_LDFLAGS): Likewise.
29895 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29896 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29897 (DEFSYMFILES): Add kernel_syms.lst.
29898 (kernel_img_HEADERS): Add common headers.
29899 (symlist.c): New target.
29900 (kernel_syms.lst): Likewise.
29901 (pkglib_MODULES): Add memdisk.mod.
29902 (memdisk_mod_SOURCES): New variable.
29903 (memdisk_mod_CFLAGS): Likewise.
29904 (memdisk_mod_LDFLAGS): Likewise.
29905 (pkglib_MODULES): Add reboot.mod.
29906 (reboot_mod_SOURCES): New variable.
29907 (reboot_mod_CFLAGS): Likewise.
29908 (reboot_mod_LDFLAGS): Likewise.
29909 (pkglib_MODULES): Add date.mod.
29910 (date_mod_SOURCES): New variable.
29911 (date_mod_CFLAGS): Likewise.
29912 (date_mod_LDFLAGS): Likewise.
29913 (pkglib_MODULES): Add datehook.mod.
29914 (datehook_mod_SOURCES): New variable.
29915 (datehook_mod_CFLAGS): Likewise.
29916 (datehook_mod_LDFLAGS): Likewise.
29917 (pkglib_MODULES): Add lsmmap.mod.
29918 (lsmmap_mod_SOURCES): New variable.
29919 (lsmmap_mod_CFLAGS): Likewise.
29920 (lsmmap_mod_LDFLAGS): Likewise.
29921 (pkglib_MODULES): Add boot.mod.
29922 (boot_mod_SOURCES): New variable.
29923 (boot_mod_CFLAGS): Likewise.
29924 (boot_mod_LDFLAGS): Likewise.
29925 * conf/i386-coreboot.rmk: Removed redundant parts.
29926 * conf/i386-ieee1275.rmk: Likewise.
29927 * conf/i386-pc.rmk: Likewise.
29928 * conf/mips-yeeloong.rmk: Likewise.
29929 * conf/mips.rmk: Likewise.
29930 * conf/powerpc-ieee1275.rmk: Likewise.
29931 * conf/sparc64-ieee1275.rmk: Likewise.
29932 * conf/x86_64-efi.rmk: Likewise.
29933 * conf/i386-coreboot.rmk: Moved qemu parts ..
29934 * conf/i386-qemu.rmk: ... here
29935 * conf/i386-efi.rmk: Moved common parts to...
29936 * conf/x86-efi.rmk: ... here.
29937 * conf/i386.rmk: Added modules common to all x86 variants.
29938 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29939 * disk/memdisk.c: Remove grub/machine/kernel.h.
29940 * gensymlist.sh.in: Include symbol.h.
29941 * hook/datehook.c: Correct module name.
29942 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29943 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29944 * include/grub/i386/efi/serial.h: New file.
29945 * include/grub/x86_64/efi/serial.h: Likewise.
29946 * util/time.c: Likewise.
29947 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29948
29949 2010-03-14 Colin King <colin.king@ubuntu.com>
29950 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29951
29952 Shrink the pre-partition-table part of boot.img by eight bytes.
29953
29954 * boot/i386/pc/boot.S (ERR): New macro.
29955 (chs_mode): Use ERR.
29956 (geometry_error): Likewise.
29957 (hd_probe_error): Remove. This is only used once, so we wrwite
29958 it inline instead.
29959 (read_error): Instead of printing read_error_string, just set up
29960 %si and fall through to ...
29961 (error_message): ... this new function, also used by ERR.
29962
29963 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29964
29965 Speed up consecutive hostdisk operations on the same device.
29966
29967 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29968 (grub_util_biosdisk_open): Initialise disk->data.
29969 (struct linux_partition_cache): New structure.
29970 (linux_find_partition): Cache partition start positions; these are
29971 expensive to compute on every read and write.
29972 (open_device): Cache open file descriptor in disk->data, so that we
29973 don't have to reopen it and flush the buffer cache for consecutive
29974 operations on the same device.
29975 (grub_util_biosdisk_close): New function.
29976 (grub_util_biosdisk_dev): Set `close' member.
29977
29978 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29979 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29980 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29981 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29982 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29983
29984 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29985
29986 Compile parts of grub-emu as modules.
29987
29988 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29989 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29990 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29991 (all-local): Add $(GRUB_EMU).
29992 (install-local): Install $(GRUB_EMU).
29993 (uninstall): Uninstall $(GRUB_EMU).
29994 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29995 * kern/dl.c: Likewise.
29996 * commands/sleep.c: Not include machine/time.h.
29997 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29998 (COMMON_CFLAGS): Likewise.
29999 (sbin_UTILITIES): Remove grub-emu.
30000 (grub_emu_SOURCES): Removed.
30001 (kernel_img_RELOCATABLE): New variable.
30002 (pkglib_PROGRAMS): Add kernel.img.
30003 (kernel_img_SOURCES): New variable
30004 (kernel_img_CFLAGS): Likewise.
30005 (kernel_img_LDFLAGS): Likewise.
30006 (TARGET_NO_STRIP): Likewise.
30007 (TARGET_NO_DYNAMIC_MODULES): Likewise.
30008 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
30009 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
30010 (grub-emu): New target.
30011 (GRUB_EMU): New variable.
30012 * configure.ac: Whitelist -emu as possible x86_64 architecture.
30013 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
30014 * loader/xnu.c: Likewise.
30015 * include/grub/pci.h: Likewise.
30016 * genemuinit.sh: New file.
30017 * genemuinitheader.sh: Likewise.
30018 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
30019 Support TARGET_NO_DYNAMIC_MODULES.
30020 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
30021 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
30022 * disk/loopback.c: Likewise.
30023 * font/font_cmd.c: Likewise.
30024 * partmap/acorn.c: Likewise.
30025 * partmap/amiga.c: Likewise.
30026 * partmap/apple.c: Likewise.
30027 * partmap/gpt.c: Likewise.
30028 * partmap/msdos.c: Likewise.
30029 * partmap/sun.c: Likewise.
30030 * parttool/msdospart.c: Likewise.
30031 * term/gfxterm.c: Likewise.
30032 * video/bitmap.c: Likewise.
30033 * video/readers/jpeg.c: Likewise.
30034 * video/readers/png.c: Likewise.
30035 * video/readers/tga.c: Likewise.
30036 * video/video.c: Likewise.
30037 * util/grub-emu.c (read_command_list): Removed.
30038 (main): Don't call util_init_nls.
30039 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
30040 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
30041
30042 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30043
30044 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
30045 date.mod, datehook.mod.
30046 (datetime_mod_SOURCES): New variable.
30047 (datetime_mod_CFLAGS): Likewise.
30048 (datetime_mod_LDFLAGS): Likewise.
30049 (date_mod_SOURCES): Likewise.
30050 (date_mod_CFLAGS): Likewise.
30051 (date_mod_LDFLAGS): Likewise.
30052 (datehook_mod_SOURCES): Likewise.
30053 (datehook_mod_CFLAGS): Likewise.
30054 (datehook_mod_LDFLAGS): Likewise.
30055 * conf/sparc64-ieee1275.rmk: Likewise.
30056 * lib/ieee1275/datetime.c: New file.
30057
30058 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30059
30060 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
30061 (ieee1275_fb_mod_SOURCES): New variable.
30062 (ieee1275_fb_mod_CFLAGS): Likewise.
30063 (ieee1275_fb_mod_LDFLAGS): Likewise.
30064 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
30065 New proto.
30066 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
30067 (HEAP_MAX_ADDR): Likewise.
30068 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
30069 type.
30070 Correct stop condition.
30071 (grub_ieee1275_devices_iterate): New function.
30072 * video/ieee1275.c: New file.
30073
30074 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30075
30076 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
30077
30078 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
30079 as scratch.
30080 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
30081 SCRATCH_PAD_DISKBOOT as scratch.
30082 (bootit): Pass Openfirmware pointer in %o4.
30083 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
30084 of 0x200000.
30085 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
30086 with util/grub-mkrawimage.c.
30087 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
30088 * include/grub/aout.h (AOUT_MID_SUN): New definition.
30089 (grub_aout_get_type) [GRUB_UTIL]: Removed.
30090 (grub_aout_load) [GRUB_UTIL]: Likewise.
30091 * include/grub/kernel.h (grub_modules_get_end): New proto.
30092 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
30093 (SCRATCH_PAD_BOOT): New definition.
30094 (SCRATCH_PAD_DISKBOOT): Likewise.
30095 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
30096 * include/grub/sparc64/ieee1275/ieee1275.h
30097 (grub_ieee1275_original_stack): New variable
30098 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30099 New definition
30100 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
30101 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
30102 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
30103 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
30104 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
30105 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
30106 (grub_platform_image_format_t): New type.
30107 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
30108 * kern/main.c (grub_modules_get_end)
30109 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
30110 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
30111 (codestart): Switch stacks.
30112 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
30113 variable.
30114 (grub_heap_init): Use grub_modules_get_end.
30115 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
30116 stack.
30117 * util/grub-mkrawimage.c (generate_image): Support sparc64.
30118 (main): Likewise.
30119 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
30120
30121 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
30122
30123 * util/grub-mkrescue.in: Base ISO UUID on UTC.
30124
30125 2010-03-08 Matt Kraai <kraai@ftbfs.org>
30126
30127 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
30128 bug #559005).
30129
30130 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
30131
30132 * genmoddep.awk: Output all missing symbols and not only first.
30133
30134 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30135
30136 * NEWS: Put the date of 1.98 release.
30137
30138 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30139
30140 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
30141 ft2build.h.
30142
30143 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30144
30145 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
30146 completition in the middle of string.
30147
30148 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30149
30150 * util/grub-mkrescue.in: Use mktemp with explicit template.
30151
30152 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30153
30154 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
30155
30156 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30157
30158 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
30159 right pointer.
30160
30161 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30162
30163 Fix FreeBSD compilation.
30164
30165 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
30166 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
30167
30168 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30169
30170 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
30171
30172 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30173
30174 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
30175
30176 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30177
30178 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
30179
30180 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
30181
30182 Support relative image path in theme file.
30183
30184 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
30185 (image_set_property): Handle theme_dir and relative path.
30186
30187 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30188
30189 * configure.ac: Alias amd64 to x86_64.
30190
30191 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30192
30193 * NEWS: mention multiboot on EFI.
30194
30195 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30196
30197 * kern/main.c (grub_load_modules): Handle errors from init functions of
30198 embeded modules.
30199
30200 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30201
30202 * normal/autofs.c (autoload_fs_module): Handle errors.
30203
30204 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30205
30206 Disable linux.mod on qemu-mips since it's not functional and leads
30207 to compilation failure.
30208
30209 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
30210 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
30211 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
30212 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
30213 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
30214 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
30215 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
30216 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
30217 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
30218 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
30219 Reported by: BVK Chaitanya
30220
30221 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
30222
30223 * INSTALL: Add gettext as a dependency and add qemu to a new section
30224 "Prerequisites for make-check".
30225
30226 2010-03-04 Christian Franke <franke@computer.org>
30227
30228 * util/grub-pe2elf.c: Add missing include "progname.h".
30229
30230 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30231
30232 * normal/crypto.c (read_crypto_list): Fix a typo.
30233 Reported by: Seth Goldberg.
30234
30235 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30236
30237 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
30238 Reported by: Seth Goldberg.
30239
30240 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30241
30242 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
30243 ascii.bitmaps.
30244
30245 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30246
30247 * genmk.rb: Remove terminal*.lst in make clean.
30248 Reported by: Seth Goldberg.
30249
30250 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30251
30252 * util/i386/efi/grub-install.in: Copy gettext files.
30253
30254 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30255
30256 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30257
30258 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30259
30260 Wait for user entry basing on presence of output rather than on errors.
30261
30262 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30263 (grub_install_newline_hook): Likewise.
30264 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30265 * normal/menu.c (show_menu): Check line_counter to determine presence
30266 of output.
30267 * normal/term.c (grub_normal_line_counter): New variable.
30268 (grub_normal_get_line_counter): New function.
30269 (grub_install_newline_hook): Likewise.
30270
30271 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30272
30273 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30274
30275 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30276
30277 * configure.ac: Update version to 1.98.
30278
30279 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30280
30281 * util/grub.d/10_linux.in (linux_entry): Don't default to
30282 gfxpayload=keep if Linux doesn't support video handover.
30283
30284 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30285
30286 Don't compile video modules on yeeloong since video subsystem is part
30287 of kernel.
30288
30289 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30290 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30291 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30292 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30293 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30294 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30295 * include/grub/bitmap_scale.h: Likewise.
30296 * include/grub/bufio.h: Likewise.
30297 * include/grub/font.h: Likewise.
30298 * include/grub/gfxterm.h: Likewise.
30299 * include/grub/video.h: Likewise.
30300 * include/grub/vbe.h: Don't include video_fb.h.
30301 * video/i386/pc/vbe.c: Include video_fb.h.
30302 * commands/i386/pc/vbetest.c: Include video.h.
30303
30304 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30305
30306 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30307 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30308 default entry if GRUB_SAVEDEFAULT=true. This allows using
30309 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30310 saving a new default on every boot.
30311
30312 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30313
30314 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30315 * normal/term.c (read_terminal_list): Likewise.
30316 * normal/main.c (grub_normal_init_page): Likewise.
30317 (grub_normal_read_line_real): Likewise.
30318
30319 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30320
30321 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30322 memory leak.
30323 Reported by: Seth Goldberg.
30324
30325 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30326
30327 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30328 duplicate declaration of `start'.
30329
30330 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30331
30332 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30333 filename.
30334 Reported by: Georgy Buranov
30335
30336 2010-02-20 Carles Pina i Estany <carles@pina.cat>
30337
30338 * util/grub-mkrawimage.c (usage): Change string formatting to
30339 improve gettext.
30340
30341 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30342
30343 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30344 backspace keys.
30345
30346 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30347
30348 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30349 Reported by: Michael Suchanek.
30350
30351 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
30352
30353 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30354 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30355
30356 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30357
30358 Remove any reference to non-free fonts.
30359
30360 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30361 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30362 uses non-free components.
30363 * font/font.c (grub_font_get_name): Remove example name.
30364 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30365 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30366 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30367 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30368
30369 2010-02-16 Georgy Buranov <gburanov@gmail.com>
30370
30371 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30372
30373 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30374
30375 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30376 Double divisor.
30377 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30378 features.
30379 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30380
30381 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30382
30383 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30384
30385 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30386
30387 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30388 * docs/grub.texi (Command-line and menu entry commands): Document play
30389 command.
30390
30391 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30392
30393 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30394 parse arguments as inline tempo and notes. Move code for playing notes
30395 to...
30396 (play): ... new function.
30397
30398 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30399
30400 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30401 grub_uint16_t instead of short.
30402 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30403 disk from little endian to cpu endianness.
30404
30405 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30406
30407 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30408 GRUB_TICKS_PER_SECOND instead of 120.
30409
30410 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30411
30412 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30413 escape sequence after \e.
30414
30415 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30416
30417 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30418 non-ASCII characters.
30419
30420 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30421
30422 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30423 set root in single quotes to prevent \, from being unescaped.
30424
30425 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30426
30427 Prevent unknown commands from stopping menuentry execution.
30428
30429 * script/execute.c (grub_script_execute_cmdline): Print error after
30430 unknown command.
30431
30432 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30433
30434 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30435 Reported by: Pavel Pisa.
30436
30437 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30438
30439 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30440
30441 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30442
30443 Merge grub_ieee1275_map_physical into grub_map and rename to
30444 grub_ieee1275_map
30445
30446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30447 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30448 Remove.
30449 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30450 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30451 necessary.
30452 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30453
30454 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30455
30456 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30457 opening and not after.
30458
30459 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30460
30461 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30462 constants.
30463
30464 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30465
30466 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30467 (alloc_phys): Use ALIGN_UP instead of align_addr.
30468
30469 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30470
30471 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30472
30473 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30474
30475 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30476
30477 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30478
30479 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30480 verbose dprintf.
30481
30482 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30483
30484 Fix over-4GiB seek on sparc64.
30485
30486 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30487 Replace pos_i and pos_lo with pos. All users updated.
30488 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30489 New constant.
30490 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30491 Likewise.
30492 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30493 and pos_lo.
30494
30495 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30496
30497 * util/grub-mkrawimage.c (main): Call set_program_name.
30498
30499 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30500
30501 Properly align 64-bit targets.
30502
30503 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30504 (generate_image): Use ALIGN_ADDR.
30505
30506 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30507
30508 Properly create cross-endian images.
30509
30510 * include/grub/types.h (grub_host_to_target_addr): New macro
30511 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30512
30513 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30514
30515 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30516
30517 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30518
30519 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30520
30521 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30522 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30523 (grub_linux_boot): Divide by 64K when on VESA.
30524
30525 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30526
30527 Support GRUB_GFXPAYLOAD_LINUX.
30528
30529 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30530 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30531
30532 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30533
30534 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30535 to show messages instead of discarding them.
30536 Process errors after executing command and not before. Keep old method
30537 too as precaution.
30538
30539 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30540
30541 * configure.ac: Check for ft2build.h.
30542
30543 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30544
30545 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30546
30547 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30548
30549 * genkernsyms.sh.in: Use TARGET_CC.
30550
30551 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
30552
30553 * NEWS: Update.
30554
30555 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30556
30557 * include/grub/multiboot2.h: Remove leftover file.
30558 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30559 * include/grub/partition.h [GRUB_UTIL]: Likewise.
30560
30561 2010-02-07 Yves Blusseau <blusseau@zetam.org>
30562
30563 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
30564
30565 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30566
30567 Fix warnings in grub-emu when compiling with maximum warning options.
30568
30569 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30570 (grub_arch_modules_addr): Return 0 and not NULL.
30571 * util/misc.c (ENABLE_RELOCATABLE): New definition.
30572 (xstrdup): Use newstr instead of dup.
30573 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30574 of disk to dsk to avoid shadowing.
30575 (find_free_slot): Fix prototype.
30576 * util/getroot.c (grub_util_is_dmraid): Make static.
30577 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30578 Add missing prototype.
30579 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
30580
30581 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30582
30583 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30584 appropriately.
30585
30586 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30587
30588 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30589 code out.
30590
30591 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30592
30593 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30594 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30595 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30596 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30597 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30598 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30599
30600 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30601
30602 * include/grub/err.h (grub_err_printf): Don't export.
30603
30604 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30605
30606 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30607
30608 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30609
30610 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30611 * kern/misc.c (grub_gettext_dummy): Make static.
30612
30613 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30614
30615 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30616 by non-valid ones.
30617 * kern/term.c (grub_putchar): Likewise.
30618
30619 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30620
30621 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30622 buggy hook call and memory leak.
30623
30624 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30625
30626 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30627
30628 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30629
30630 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30631
30632 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30633
30634 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30635 modevar.
30636 Return grub_errno on allocation error.
30637
30638 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30639
30640 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30641
30642 2010-02-06 Yves Blusseau <blusseau@zetam.org>
30643
30644 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30645 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30646
30647 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30648
30649 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30650 non-pxe disk.
30651 (grub_pxefs_open): Likewise.
30652
30653 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30654
30655 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30656 * util/grub.d/10_kfreebsd.in: Likewise.
30657 * util/grub.d/10_linux.in: Likewise.
30658
30659 2010-02-06 Colin D Bennett <colin@gibibit.com>
30660
30661 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30662 (gfxmenu_mod_SOURCES): New variable.
30663 (gfxmenu_mod_CFLAGS): Likewise.
30664 (gfxmenu_mod_LDFLAGS): Likewise.
30665 * include/grub/term.h (grub_term_set_current_output): Declare
30666 argument as const.
30667 * docs/gfxmenu-theme-example.txt: New file.
30668 * gfxmenu/gfxmenu.c: Likewise.
30669 * gfxmenu/gui_box.c: Likewise.
30670 * gfxmenu/gui_canvas.c: Likewise.
30671 * gfxmenu/gui_circular_progress.c: Likewise.
30672 * gfxmenu/gui_image.c: Likewise.
30673 * gfxmenu/gui_label.c: Likewise.
30674 * gfxmenu/gui_list.c: Likewise.
30675 * gfxmenu/gui_progress_bar.c: Likewise.
30676 * gfxmenu/gui_string_util.c: Likewise.
30677 * gfxmenu/gui_util.c: Likewise.
30678 * gfxmenu/icon_manager.c: Likewise.
30679 * gfxmenu/model.c: Likewise.
30680 * gfxmenu/named_colors.c: Likewise.
30681 * gfxmenu/theme_loader.c: Likewise.
30682 * gfxmenu/view.c: Likewise.
30683 * gfxmenu/widget-box.c: Likewise.
30684 * include/grub/gfxmenu_model.h: Likewise.
30685 * include/grub/gfxmenu_view.h: Likewise.
30686 * include/grub/gfxwidgets.h: Likewise.
30687 * include/grub/gui.h: Likewise.
30688 * include/grub/gui_string_util.h: Likewise.
30689 * include/grub/icon_manager.h: Likewise.
30690
30691 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30692
30693 Agglomerate scrolling in gfxterm.
30694
30695 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30696 (grub_virtual_screen_setup): Initialise 'total_screen'.
30697 (write_char): Split to ...
30698 (paint_char): ... this ...
30699 (write_char): ... and this.
30700 (paint_char): Handle delayed scrolling.
30701 (draw_cursor): Likewise.
30702 (scroll_up): Split to ...
30703 (real_scroll): ... this ...
30704 (scroll_up): ... and this.
30705 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30706 characters.
30707 (grub_gfxterm_refresh): Call real_scroll.
30708
30709 2010-02-06 Colin D Bennett <colin@gibibit.com>
30710
30711 * include/grub/misc.h (grub_iscntrl): New inline function.
30712 (grub_isalnum): Likewise.
30713 (grub_strtol): Likewise.
30714
30715 2010-02-06 Colin D Bennett <colin@gibibit.com>
30716
30717 * normal/menu_text.c (get_entry_number): Move from here ...
30718 * normal/menu.c (get_entry_number): ... moved here.
30719 * include/grub/menu.h (grub_menu_get_default_entry_index):
30720 New prototype.
30721 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30722 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30723 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30724 (grub_menu_viewer_should_return): Likewise.
30725 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30726 * normal/menu_text.c (run_menu): Enable menu switching.
30727 * normal/menu_viewer.c (should_return): New variable.
30728 (menu_viewer_changed): Likewise.
30729 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30730 (grub_menu_viewer_should_return): New function.
30731 (menuviewer_write_hook): Likewise.
30732 (grub_menu_viewer_init): Likewise.
30733
30734 2010-02-06 Colin D Bennet <colin@gibibit.com>
30735 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30736
30737 Support for gfxterm in a window.
30738
30739 * include/grub/gfxterm.h: New file.
30740 * include/grub/video.h (struct grub_video_rect): New declaration.
30741 (grub_video_rect_t): Likewise.
30742 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30743 (refcount): New variable.
30744 (render_target): Likewise.
30745 (window): Likewise.
30746 (repaint_callback): Likewise.
30747 (grub_virtual_screen_setup): Use 'render_target'.
30748 (init_window): New function.
30749 (grub_gfxterm_init_window): Likewise.
30750 (grub_gfxterm_init): Check reference counter.
30751 Use init_window.
30752 (destroy_window): New function.
30753 (grub_gfxterm_destroy_window): Likewise.
30754 (grub_gfxterm_fini): Check reference counter.
30755 Use destroy_window.
30756 (redraw_screen_rect): Restore viewport.
30757 Use 'render_target' and 'window'.
30758 Call 'repaint_callback'.
30759 (write_char): Use 'render_target'.
30760 (draw_cursor): Likewise.
30761 (scroll_up): Restore viewport.
30762 Use 'render_target' and 'window'.
30763 Call 'repaint_callback'.
30764 (grub_gfxterm_cls): Likewise.
30765 (grub_gfxterm_refresh): Use 'window'.
30766 (grub_gfxterm_set_repaint_callback): New function.
30767 (grub_gfxterm_background_image_cmd): Use 'window'.
30768 (grub_gfxterm_get_term): New function.
30769 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30770
30771 2010-02-06 Colin D Bennett <colin@gibibit.com>
30772
30773 Bitmap scaling support.
30774
30775 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30776 (bitmap_scale_mod_SOURCES): New variable.
30777 (bitmap_scale_mod_CFLAGS): Likewise.
30778 (bitmap_scale_mod_LDFLAGS): Likewise.
30779 * include/grub/bitmap_scale.h: New file.
30780 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30781 (background_image_cmd_options): New variable.
30782 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30783 (cmd): Rename and change type to ...
30784 (background_image_cmd_handle): ... this. All users updated.
30785 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30786 * video/bitmap_scale.c: New file.
30787
30788 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30789
30790 SDL support.
30791
30792 * Makefile.in (LIBSDL): New variable.
30793 (enable_grub_emu_sdl): Likewise.
30794 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30795 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30796 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30797 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30798 * util/sdl.c: New file.
30799
30800 2010-02-06 Colin D Bennett <colin@gibibit.com>
30801 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30802
30803 Double buffering support.
30804
30805 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30806 * include/grub/video.h: Update comment.
30807 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30808 New type.
30809 (grub_video_fb_doublebuf_blit_init): New prototype.
30810 * term/gfxterm.c (scroll_up): Support double buffering.
30811 (grub_gfxterm_refresh): Likewise.
30812 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30813 (grub_video_fb_doublebuf_blit_init): Likewise.
30814 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30815 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30816 'displayed_page', 'render_page' and 'update_screen'.
30817 (grub_video_vbe_fini): Free offscreen buffer.
30818 (doublebuf_pageflipping_commit): New function.
30819 (doublebuf_pageflipping_update_screen): Likewise.
30820 (doublebuf_pageflipping_init): Likewise.
30821 (double_buffering_init): Likewise.
30822 (grub_video_vbe_setup): Enable doublebuffering.
30823 (grub_video_vbe_swap_buffers): Implement.
30824 (grub_video_vbe_set_active_render_target): Handle double buffering.
30825 (grub_video_vbe_get_active_render_target): Likewise.
30826 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30827 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30828 (grub_video_vbe_enable_double_buffering): Likewise.
30829 (grub_video_vbe_swap_buffers): Use update_screen.
30830 (grub_video_set_mode): Use double buffering.
30831
30832 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30833
30834 * maintainance/gentrigtables.py: Remove.
30835 * lib/trig.c: Likewise.
30836
30837 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30838
30839 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30840 `trigtables.c'.
30841 (trigtables.c): New rule.
30842 (gentrigtables): Likewise.
30843 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30844
30845 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30846
30847 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30848 integer constants.
30849
30850 2010-02-06 Colin D Bennet <colin@gibibit.com>
30851
30852 Trigonometry support.
30853
30854 * include/grub/trig.h: New file.
30855 * lib/trig.c: Likewise.
30856 * maintainance/gentrigtables.py: Likewise.
30857 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30858 (trig_mod_SOURCES): New variable.
30859 (trig_mod_CFLAGS): Likewise.
30860 (trig_mod_LDFLAGS): Likewise.
30861
30862 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30863
30864 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30865 disk devices.
30866
30867 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30868
30869 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30870 error.
30871
30872 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30873
30874 * util/hostdisk.c (open_device): Don't use partition device when reading
30875 before the partition.
30876 (grub_util_biosdisk_read): Don't read from partition and before the
30877 partition in single operation.
30878 (grub_util_biosdisk_write): Don't write to partition and before the
30879 partition in single operation.
30880
30881 2010-02-03 Torsten Landschoff <torsten@debian.org>
30882
30883 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30884 last sectors.
30885
30886 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30887
30888 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30889 CDROM reads.
30890 (grub_biosdisk_write): Refuse to write to CDROM.
30891
30892 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30893
30894 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30895
30896 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30897
30898 * font/font.c (find_glyph): Check that bmp_idx is available before
30899 using it.
30900 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30901 with (font == NULL).
30902
30903 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
30904
30905 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30906
30907 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30908
30909 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30910 * util/grub-script-check.c (getline): Fix empty lines case.
30911
30912 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30913
30914 * Makefile.in (check): Exit with fail status when one of the tests
30915 fails.
30916 * tests/example_functional_test.c (example_test): Fix reversed assert.
30917 * tests/example_unit_test.c (example_test): Likewise.
30918
30919 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
30920
30921 * util/grub.d/10_linux.in: This script does not use any of the
30922 contents of gettext.sh, only the external command `gettext', so stop
30923 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30924 the same prefix as GRUB.)
30925 * util/grub.d/10_kfreebsd.in: Likewise.
30926
30927 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30928
30929 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30930 of the line.
30931
30932 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30933
30934 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30935 last sectors.
30936
30937 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30938
30939 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30940 having a 4KiB and not 32KiB buffer size.
30941
30942 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30943
30944 * util/hostfs.c: Include `<errno.h>'.
30945 (grub_hostfs_read): Handle errors from fseeko() and fread().
30946
30947 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30948
30949 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30950 loop when using read hooks on files whose size isn't sector-aligned.
30951
30952 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30953
30954 Remove unused parameter.
30955
30956 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30957 (grub_iso9660_open): Remove initialization of `data->length'.
30958
30959 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30960
30961 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30962 memleak conditions.
30963
30964 2010-01-27 Carles Pina i Estany <carles@pina.cat>
30965
30966 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30967 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30968
30969 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30970
30971 * util/bin2h.c (usage): Fix warning (space after backslash).
30972
30973 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30974
30975 * font/font.c: Include `grub/fontformat.h.
30976 Remove font file format constants.
30977 (grub_font_load): Use the new macros.
30978 * include/grub/fontformat.h: New file.
30979 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30980 (write_font_pf2): Use the new macros.
30981
30982 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30983
30984 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30985 does.
30986
30987 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30988
30989 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30990
30991 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30992 (_start): Macroify `0x7F'.
30993
30994 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30995 (make_install_device): Use "(pxe)" as fallback prefix when booting
30996 via PXE.
30997
30998 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30999
31000 * configure.ac: Reset LIBS after check for libgcc symbols.
31001
31002 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
31003
31004 * util/hostdisk.c (open_device): Add trailing newline to debug
31005 message.
31006
31007 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
31008
31009 * configure.ac: Check for `limits.h'.
31010 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
31011
31012 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
31013
31014 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
31015 capitalize error strings.
31016
31017 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
31018
31019 * util/grub.d/10_hurd.in: Add a recovery mode.
31020
31021 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
31022
31023 * configure.ac: Check for libgcc symbols with -nostdlib.
31024
31025 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
31026
31027 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
31028
31029 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31030
31031 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
31032 stack since heap may be unavailable at that point.
31033 (grub_ofconsole_gotoxy): Likewise.
31034
31035 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31036
31037 * configure.ac: Check for _restgpr_14_x.
31038 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
31039 and _savegpr_* prototypes.
31040
31041 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
31042
31043 Use generic grub_reboot() for i386-efi.
31044
31045 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
31046 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
31047 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
31048
31049 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31050
31051 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
31052 presence of "prefix" variable as it breaks when normal.mod is
31053 embedded.
31054
31055 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31056
31057 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
31058 stack since heap is unavailable at that point.
31059
31060 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31061
31062 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
31063 (grub_freebsd_bootinfo): Rewritten.
31064 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
31065
31066 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31067
31068 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
31069
31070 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
31071
31072 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
31073 domain now.
31074
31075 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
31076
31077 * util/misc.c (make_system_path_relative_to_its_root): Change the work
31078 around for handling "/" to the correct fix. Fix a memory leak. Use
31079 xstrdup instead of strdup.
31080
31081 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31082
31083 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
31084
31085 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31086
31087 Optimise glyph lookup by Basic Multilingual Plane lookup array.
31088
31089 * font/font.c (struct grub_font): New member 'bmp_idx'.
31090 (font_init): Initialise 'bmp_idx'.
31091 (load_font_index): Fill 'bmp_idx'.
31092 (find_glyph): Make inline. Use bmp_idx for BMP characters.
31093
31094 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31095
31096 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
31097 unnecessary calls.
31098
31099 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31100
31101 Move context handling out of the kernel.
31102
31103 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
31104 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
31105 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
31106 * conf/i386-efi.rmk: Likewise.
31107 * conf/i386-ieee1275.rmk: Likewise.
31108 * conf/i386-pc.rmk: Likewise.
31109 * conf/powerpc-ieee1275.rmk: Likewise.
31110 * conf/sparc64-ieee1275.rmk: Likewise.
31111 * conf/x86_64-efi.rmk: Likewise.
31112 * include/grub/env.h: Include grub/menu.h.
31113 (grub_env_var_type): Removed.
31114 (grub_env_var): Replaced field 'type' with 'global'.
31115 (grub_env_find): New prototype.
31116 (grub_env_context_open): Remove EXPORT_FUNC.
31117 (grub_env_context_close): Likewise.
31118 (grub_env_export): Likewise.
31119 (grub_env_set_data_slot): Removed.
31120 (grub_env_get_data_slot): Likewise.
31121 (grub_env_unset_data_slot): Likewise.
31122 (grub_env_unset_menu): New prototype.
31123 (grub_env_set_menu): Likewise.
31124 (grub_env_get_menu): Likewise.
31125 * include/grub/env_private.h: New file.
31126 * include/grub/normal.h (grub_context_init): New prototype.
31127 (grub_context_fini): Likewise.
31128 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
31129 * normal/context.c (grub_cmd_export): ... to here.
31130 * kern/env.c: Include env_private.h.
31131 (HASHSZ): Moved to include/grub/env_private.h.
31132 (grub_env_context): Likewise.
31133 (grub_env_sorted_var): Likewise.
31134 (current_context): Renamed from this ...
31135 (grub_current_context): ...to this. 'static' removed. All users updated.
31136 (grub_env_find): Removed 'static'.
31137 (grub_env_context_open): Moved to normal/context.c.
31138 (grub_env_context_close): Likewise.
31139 (grub_env_export): Likewise.
31140 (mangle_data_slot_name): Removed.
31141 (grub_env_set_data_slot): Likewise.
31142 (grub_env_get_data_slot): Likewise.
31143 (grub_env_unset_data_slot): Likewise.
31144 * kern/main.c (grub_set_root_dev): Don't export root.
31145 It will be done later.
31146 (grub_main): Don't export prefix.
31147 It will be done later.
31148 * normal/context.c: New file.
31149 * normal/main.c (free_menu): Use grub_env_unset_menu.
31150 (grub_normal_add_menu_entry): Use grub_env_get_menu.
31151 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
31152 (GRUB_MOD_INIT(normal)): Call grub_context_init.
31153 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
31154
31155 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31156
31157 setpci support.
31158
31159 * commands/setpci.c: New file.
31160 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
31161 (setpci_mod_SOURCES): New variable.
31162 (setpci_mod_CFLAGS): Likewise.
31163 (setpci_mod_LDFLAGS): Likewise.
31164
31165 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31166
31167 Byte-addressable PCI configuration space.
31168
31169 * bus/pci.c (grub_pci_make_address): Use byte address instead of
31170 dword address.
31171 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
31172 GRUB_PCI_REG_CACHELINE.
31173 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
31174 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
31175 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
31176 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
31177 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
31178 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
31179 grub_pci_make_address.
31180 (lock_rom_area): Likewise.
31181 * commands/lspci.c (grub_lspci_iter): Use macroses
31182 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
31183 of grub_pci_make_address.
31184 * disk/ata.c (grub_ata_pciinit): Likewise.
31185 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
31186 (GRUB_PCI_REG_VENDOR): Likewise.
31187 (GRUB_PCI_REG_DEVICE): Likewise.
31188 (GRUB_PCI_REG_COMMAND): Likewise.
31189 (GRUB_PCI_REG_STATUS): Likewise.
31190 (GRUB_PCI_REG_REVISION): Likewise.
31191 (GRUB_PCI_REG_CLASS): Likewise.
31192 (GRUB_PCI_REG_CACHELINE): Likewise.
31193 (GRUB_PCI_REG_LAT_TIMER): Likewise.
31194 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
31195 (GRUB_PCI_REG_BIST): Likewise.
31196 (GRUB_PCI_REG_ADDRESSES): Likewise.
31197 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31198 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31199 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31200 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31201 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31202 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31203 (GRUB_PCI_REG_CIS_POINTER): Likewise.
31204 (GRUB_PCI_REG_SUBVENDOR): Likewise.
31205 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
31206 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
31207 (GRUB_PCI_REG_CAP_POINTER): Likewise.
31208 (GRUB_PCI_REG_IRQ_LINE): Likewise.
31209 (GRUB_PCI_REG_IRQ_PIN): Likewise.
31210 (GRUB_PCI_REG_MIN_GNT): Likewise.
31211 (GRUB_PCI_REG_MAX_LAT): Likewise.
31212 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
31213 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
31214 * video/efi_uga.c (find_framebuf): Likewise.
31215 * video/sm712.c (grub_video_sm712_setup): Likewise.
31216 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
31217 space.
31218
31219 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31220
31221 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
31222 can be reliably determined to be supported.
31223
31224 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31225
31226 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
31227 that VESA is supported.
31228 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
31229 supported.
31230
31231 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31232
31233 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
31234
31235 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31236
31237 * util/misc.c (make_system_path_relative_to_its_root): Work around
31238 special-casing of "/", as previous incarnation of this routine did.
31239
31240 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31241
31242 Fix any-emu compilation.
31243
31244 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
31245 * grub_bin2h_SOURCES: New variable.
31246
31247 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31248
31249 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31250
31251 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31252
31253 * util/grub.d/00_header.in: Fix handling of locale_dir.
31254
31255 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31256
31257 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31258 as possible unifont location (Gentoo).
31259 Reported by: Alexander Brüning
31260
31261 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31262
31263 Don't try to generate lists for kernel.img.
31264
31265 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31266 (pkglib_MODULES): Remove kernel.img.
31267 (kernel_img_EXPORTS): Removed.
31268 (kernel_img_RELOCATABLE): New variable.
31269 * conf/x86_64-efi.rmk: Likewise.
31270 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31271
31272 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31273
31274 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31275 grub_xasprintf or grub_snprintf.
31276 (grub_vsprintf): Likewise.
31277 (grub_snprintf): New proto.
31278 (grub_vsnprintf): Likewise.
31279 (grub_xasprintf): Likewise.
31280 (grub_xvasprintf): Likewise.
31281 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31282 (grub_sprintf): Removed.
31283 (grub_vsnprintf): New function.
31284 (grub_snprintf): Likewise.
31285 (grub_xvasprintf): Likewise.
31286 (grub_xasprintf): Likewise.
31287 (grub_vsprintf): Renamed to ...
31288 (grub_vsnprintf_real): ...this. New argument max_len.
31289
31290 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31291
31292 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31293 fix grub-script-check warning.
31294
31295 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31296
31297 * include/grub/font.h (grub_font_load): Fix prototype.
31298
31299 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31300
31301 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31302
31303 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31304
31305 * include/grub/x86_64/at_keyboard.h: New file.
31306
31307 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31308
31309 * loader/mips/linux.c: Include missing grub/i18n.h.
31310
31311 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31312
31313 * normal/menu.c (notify_execution_failure): Clarify error message.
31314
31315 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31316
31317 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31318 return value (and revert all return statements). Update users.
31319
31320 2010-01-20 Dan Merillat <debian@dan.merillat.org>
31321
31322 * kern/device.c (grub_device_iterate): Allocate new part_ent
31323 structure based on sizeof (*p) rather than sizeof (p->next), to
31324 account for structure padding.
31325
31326 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31327 disk is NULL, which might happen for LVM physical volumes with no
31328 LVM signature.
31329
31330 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31331
31332 * loader/mips/linux.c (grub_cmd_initrd)
31333 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31334
31335 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31336
31337 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31338 (grub_video_video_init, grub_video_bitmap_init)
31339 (grub_font_manager_init, grub_term_gfxterm_init)
31340 (grub_at_keyboard_init): New extern declarations.
31341 (grub_machine_init): Initialize gfxterm and at_keyboard.
31342
31343 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31344
31345 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31346 `gfxterm.mod' into core image.
31347
31348 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31349 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31350 (kernel_img_FORMAT): Copy to ...
31351
31352 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31353 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31354 (kernel_img_FORMAT): ... here, and ...
31355
31356 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31357 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31358 (kernel_img_FORMAT): ... here.
31359
31360 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31361 and input (at_keyboard) terminals in kernel.
31362 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31363
31364 (pkglib_MODULES): Remove `pci.mod'.
31365 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31366 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31367 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31368 (at_keyboard_mod_LDFLAGS): Remove variables.
31369
31370 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
31371
31372 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31373
31374 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31375
31376 * include/grub/mips/libgcc.h: Only export symbols for functions
31377 that libgcc provides.
31378
31379 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31380
31381 MIPS support.
31382
31383 * bus/bonito.c: New file.
31384 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31385 GRUB_PCI_NUM_DEVICES.
31386 * term/i386/pc/serial.c: Move to ...
31387 * term/serial.c: ... here. All users updated.
31388 * util/i386/pc/grub-mkimage.c: Move to ...
31389 * util/grub-mkrawimage.c: ... here. All users updated.
31390 * term/i386/pc/at_keyboard.c: Move to ...
31391 * term/at_keyboard.c: ... here. All users updated.
31392 * conf/mips-qemu-mips.rmk: New file.
31393 * conf/mips-yeeloong.rmk: Likewise.
31394 * conf/mips.rmk: Likewise.
31395 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31396 mipsel-qemu-mips.
31397 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31398 to port addresses.
31399 (grub_ata_pciinit): Support CS5536.
31400 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31401 * font/font_cmd.c (loadfont_command): Open file before passing it to
31402 grub_font_load.
31403 (pseudo_file_read): New function.
31404 (pseudo_file_close): Likewise.
31405 (pseudo_fs): New structure.
31406 (load_font_module): New function.
31407 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31408 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31409 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31410 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31411 * include/grub/i386/at_keyboard.h: Split into ...
31412 * include/grub/at_keyboard.h: ... this ...
31413 * include/grub/i386/at_keyboard.h: ... and this.
31414 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31415 New prototype.
31416 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31417 updated.
31418 (grub_elf64_size): Likewise.
31419 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31420 filename.
31421 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31422 * include/grub/i386/coreboot/serial.h: Rewritten.
31423 * include/grub/i386/ieee1275/serial.h: Include
31424 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31425 * include/grub/i386/pc/serial.h: Moved from here ...
31426 * include/grub/serial.h: ... to here. All users updated.
31427 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31428 (GRUB_PCI_NUM_BUS): Likewise.
31429 (GRUB_PCI_NUM_DEVICES): Likewise.
31430 (grub_pci_device_map_range): Add missing volatile keyword.
31431 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31432 * include/grub/mips/at_keyboard.h: New file.
31433 * include/grub/mips/cache.h: Likewise.
31434 * include/grub/mips/io.h: Likewise.
31435 * include/grub/mips/kernel.h: Likewise.
31436 * include/grub/mips/libgcc.h: Likewise.
31437 * include/grub/mips/pci.h: Likewise.
31438 * include/grub/mips/qemu-mips/boot.h: Likewise.
31439 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31440 * include/grub/mips/qemu-mips/loader.h: Likewise.
31441 * include/grub/mips/qemu-mips/memory.h: Likewise.
31442 * include/grub/mips/qemu-mips/serial.h: Likewise.
31443 * include/grub/mips/qemu-mips/time.h: Likewise.
31444 * include/grub/mips/relocator.h: Likewise.
31445 * include/grub/mips/time.h: Likewise.
31446 * include/grub/mips/types.h: Likewise.
31447 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31448 * include/grub/mips/yeeloong/boot.h: Likewise.
31449 * include/grub/mips/yeeloong/kernel.h: Likewise.
31450 * include/grub/mips/yeeloong/loader.h: Likewise.
31451 * include/grub/mips/yeeloong/memory.h: Likewise.
31452 * include/grub/mips/yeeloong/pci.h: Likewise.
31453 * include/grub/mips/yeeloong/serial.h: Likewise.
31454 * include/grub/mips/yeeloong/time.h: Likewise.
31455 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31456 * kern/elf.c (grub_elf32_size): New parameter. All users
31457 updated.
31458 (grub_elf64_size): Likewise.
31459 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31460 Load modules before saying "Welcome to GRUB!".
31461 Call grub_refresh after saying "Welcome to GRUB!".
31462 * kern/mips/cache.S: New file.
31463 * kern/mips/cache_flush.S: Likewise.
31464 * kern/mips/dl.c: Likewise.
31465 * kern/mips/init.c: Likewise.
31466 * kern/mips/qemu-mips/init.c: Likewise.
31467 * kern/mips/startup.S: Likewise.
31468 * kern/mips/yeeloong/init.c: Likewise.
31469 * kern/term.c (grub_putcode): Handle NULL terminal.
31470 (grub_getcharwidth): Likewise.
31471 (grub_getkey): Likewise.
31472 (grub_checkkey): Likewise.
31473 (grub_getkeystatus): Likewise.
31474 (grub_getxy): Likewise.
31475 (grub_getwh): Likewise.
31476 (grub_gotoxy): Likewise.
31477 (grub_cls): Likewise.
31478 (grub_setcolorstate): Likewise.
31479 (grub_setcolor): Likewise.
31480 (grub_getcolor): Likewise.
31481 (grub_refresh): Likewise.
31482 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31483 (write_jump): Add hatch nop.
31484 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31485 * lib/mips/setjmp.S: New file.
31486 * loader/mips/linux.c: Likewise.
31487 * term/i386/pc/at_keyboard.c: Move from here ...
31488 * term/at_keyboard.c: ... to here.
31489 * term/i386/pc/serial.c: Moved from here ...
31490 * term/serial.c: ... to here. All users updated.
31491 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31492 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31493 (serial_translate_key_sequence): Avoid deadlock.
31494 (grub_serial_getkey): Handle backspace.
31495 (grub_serial_putchar): Fix newline handling.
31496 * util/i386/pc/grub-mkimage.c: Move from here ...
31497 * util/grub-mkrawimage.c: ... to here. All users updated.
31498 (generate_image): New parameters 'font_path' and 'format'.
31499 Support embedding font.
31500 Use grub_host_to_target* instead of grub_cpu_to_le*.
31501 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31502 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31503 (options): New option "--font".
31504 (usage): Likewise.
31505 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31506 (main): Handle "--font".
31507 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31508 (grub_virtual_screen_setup): Set bg_color_display.
31509 (redraw_screen_rect): Use bg_color_display instead of incorrect
31510 bg_color.
31511 (grub_gfxterm_cls): Likewise.
31512 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31513 Support embedding config file.
31514 (add_segments): Likewise.
31515 (options): New option "--config".
31516 (main): Handle "--config".
31517 * video/sm712.c: New file.
31518
31519 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31520
31521 Fix parallel builds.
31522
31523 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31524 font.c depend on ascii.h).
31525
31526 2010-01-12 Carles Pina i Estany <carles@pina.cat>
31527
31528 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31529
31530 2010-01-11 Carles Pina i Estany <carles@pina.cat>
31531
31532 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31533 By default: disabled.
31534 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31535 parameter.
31536
31537 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31538
31539 * font/font.c: Update copyright years.
31540 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31541
31542 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31543
31544 * font/font.c: Include `ascii.h'.
31545 (ASCII_BITMAP_SIZE): New macro.
31546 (ascii_font_glyph): Define.
31547 (ascii_glyph_lookup): New function.
31548 (grub_font_get_string_width): Change comment. If glyph not found, use
31549 ascii_glyph_lookup.
31550 (grub_font_get_glyph_with_fallback): If glyph not available returns
31551 ascii_glyph_lookup.
31552 * util/grub-mkfont.c (file_formats): New enum.
31553 (options): Add `ascii-bitmaps' new option.
31554 (usage): Add `asii-bitmaps' new option.
31555 (write_font_ascii_bitmap): New function.
31556 (write_font): Rename to ...
31557 (write_font_p2): ... this. Remove print_glyphs call.
31558 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31559 used. Call print_glyphs.
31560 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31561
31562 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31563
31564 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31565 (grub_bin2h_SOURCES): New variable.
31566 * util/bin2h.c: New file.
31567
31568 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31569
31570 * include/multiboot.h: Resynced with spec.
31571 * include/multiboot2.h: Likewise.
31572 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31573 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31574
31575 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31576
31577 * include/grub/term.h (grub_term_register_input,
31578 grub_term_register_output): Check return of terminal init()
31579 routines, and abort if errors are raised.
31580
31581 * commands/terminal.c: Update copyright year.
31582
31583 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31584
31585 * commands/terminal.c (grub_cmd_terminal_input)
31586 (grub_cmd_terminal_output): Check return of terminal init()
31587 routines, and abort if errors are raised.
31588
31589 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31590
31591 * include/grub/i386/bsd.h: Fix include pathes.
31592
31593 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31594
31595 Add missing *BSD copyright headers.
31596
31597 * include/grub/aout.h: Add BSD licence.
31598 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31599 * include/grub/i386/freebsd_linker.h: ... here,
31600 * include/grub/i386/freebsd_reboot.h: ... here,
31601 * include/grub/i386/netbsd_bootinfo.h: ... here,
31602 * include/grub/i386/netbsd_reboot.h: ... here,
31603 * include/grub/i386/openbsd_bootarg.h: ... here,
31604 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31605 licence to each file.
31606
31607 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31608
31609 * acinclude.m4: Remove `nop' assembly instruction; it's not
31610 implemented by all architectures.
31611
31612 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31613
31614 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31615 ELILO. This is no longer necessary.
31616
31617 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31618
31619 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31620
31621 * util/grub-script-check.c: grub-script-check tool.
31622 * conf/common.rmk: Make rules for grub-script-check.
31623
31624 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31625
31626 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31627 spotting it back in 2008. Shame on me for forgetting he did.
31628
31629 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31630
31631 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31632
31633 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31634 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31635 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31636 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31637 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31638 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31639
31640 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31641
31642 * include/grub/test.h: Add license header.
31643 * tests/example_functional_test.c: Likewise.
31644 * tests/example_unit_test.c: Likewise.
31645 * tests/lib/functional_test.c: Likewise.
31646 * tests/lib/test.c: Likewise.
31647 * tests/lib/unit_test.c: Likewise.
31648
31649 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31650
31651 Use flag-based instead of hook-based video mode selection and "auto"
31652 keyword.
31653
31654 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31655 (grub_video_set_mode): Changed prototype. All users updated.
31656 (grub_video_check_mode_flag): New inline function.
31657 * video/video.c (parse_modespec): New function.
31658 (grub_video_set_mode): Parse flags and keywords.
31659
31660 2010-01-17 Carles Pina i Estany <carles@pina.cat>
31661
31662 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31663 fprintf call.
31664
31665 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31666
31667 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31668
31669 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31670
31671 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31672 string.
31673 * util/grub-emu.c (usage): Likewise.
31674 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31675 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31676 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31677 * util/i386/pc/grub-setup.c (usage): Likewise.
31678
31679 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31680
31681 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31682 the message.
31683 (grub_util_info): Likewise.
31684 (grub_util_error): Likewise.
31685 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31686 and/or new lines in `grub_util_warna', `grub_util_info',
31687 `grub_util_error' calls.
31688 * util/getroot.c: Likewise.
31689 * util/grub-editenv.c: Likewise.
31690 * util/grub-emu.c: Likewise.
31691 * util/grub-fstest.c: Likewise.
31692 * util/grub-mkdevicemap.c: Likewise.
31693 * util/grub-mkfont.c: Likewise.
31694 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31695 * util/grub-mkrelpath.c: Likewise.
31696 * util/grub-pe2elf.c: Likewise.
31697 * util/grub-probe.c: Likewise.
31698 * util/hostdisk.c: Likewise.
31699 * util/i386/efi/grub-mkimage.c: Likewise.
31700 * util/i386/pc/grub-mkimage.c: Likewise.
31701 * util/i386/pc/grub-setup.c: Likewise.
31702 * util/ieee1275/ofpath.c: Likewise.
31703 * util/mkisofs/eltorito.c: Likewise.
31704 * util/mkisofs/rock.c: Likewise.
31705 * util/mkisofs/write.c: Likewise.
31706 * util/raid.c: Likewise.
31707 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31708 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31709
31710 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31711
31712 Enable multiboot on non-pc.
31713
31714 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31715 multiboot.mod and multiboot2.mod to ...
31716 * conf/i386.rmk (pkglib_MODULES): ... here.
31717 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31718 Moved to ...
31719 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31720 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31721 Moved to ...
31722 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31723 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31724 Moved to ...
31725 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31726 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31727 Moved to ...
31728 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31729 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31730 relocator.mod.
31731 (ata_mod_SOURCES): Removed.
31732 (ata_mod_CFLAGS): Likewise.
31733 (ata_mod_LDFLAGS): Likewise.
31734 (relocator_mod_SOURCES): Removed.
31735 (relocator_mod_CFLAGS): Likewise.
31736 (relocator_mod_ASFLAGS): Likewise.
31737 (relocator_mod_LDFLAGS): Likewise.
31738 Include i386.mk.
31739 * include/grub/x86_64/multiboot.h: New file.
31740 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31741 Terminate EFI.
31742
31743 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31744
31745 Video multiboot support.
31746
31747 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31748 New prototype.
31749 * include/multiboot.h: Resynced with multiboot specification.
31750 * include/multiboot2.h: Likewise.
31751 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31752 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31753 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31754 (HAS_VGA_TEXT): Likewise.
31755 (accepts_video): New variable.
31756 (grub_multiboot_set_accepts_video): New function.
31757 (grub_multiboot_get_mbi_size): Account for video structures.
31758 (set_video_mode): New function.
31759 (retrieve_video_parameters): Likewise.
31760 (grub_multiboot_make_mbi): Fill video fields.
31761
31762 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31763
31764 Video driver ids.
31765
31766 * include/grub/video.h (grub_video_driver_id): New type.
31767 (grub_video_adapter): New member 'id'. All users updated.
31768 (grub_video_get_driver_id): New proto.
31769 * video/video.c (grub_video_get_driver_id): New function.
31770
31771 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31772
31773 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31774 `var=val'.
31775
31776 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31777
31778 * normal/cmdline.c (print_completion): Gettextizze.
31779
31780 2001-01-14 Carles Pina i Estany <carles@pina.cat>
31781
31782 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31783
31784 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31785
31786 * gettext/gettext.c (grub_gettext_translate): Push and pop
31787 grub_errno.
31788 (grub_gettext_delete_list): Change comment style.
31789 * kern/err.c (grub_error): Gettextizze.
31790 (grub_fatal): Gettextizze.
31791
31792 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31793
31794 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31795 (grub_linux16_real_boot): ... this.
31796 * kern/i386/loader.S: Likewise.
31797 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31798 (grub_linux16_boot): New function. Switches to text mode and calls
31799 grub_linux16_real_boot().
31800
31801 * loader/i386/bsd.c: Include `<grub/video.h>'.
31802 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31803 text mode before calling grub_unix_real_boot().
31804
31805 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31806 (grub_multiboot_boot): Switch to text mode before calling
31807 grub_relocator32_boot().
31808
31809 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31810 (grub_chainloader_boot): Switch to text mode before calling
31811 grub_chainloader_real_boot().
31812
31813 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31814 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31815
31816 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31817 non-empty value.
31818
31819 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31820 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31821
31822 * util/grub.d/00_header.in: Define a "savedefault" function for use
31823 in menu entries.
31824 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31825
31826 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31827 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31828
31829 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31830 saved_entry if boot_once is unset.
31831 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31832 previous saved entry (i.e. grub-reboot).
31833
31834 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31835
31836 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31837
31838 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31839
31840 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31841 `var=val'.
31842 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31843
31844 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31845
31846 * util/grub-reboot.in: Fix --version output.
31847 * util/grub-set-default.in: Likewise.
31848
31849 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31850
31851 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31852 blocks.
31853
31854 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31855
31856 * util/grub.d/00_header.in: Quote the value assigned to `default',
31857 in case it contains spaces.
31858
31859 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31860
31861 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31862 `save_default_entry' call from the macosx case to the linux case.
31863
31864 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
31865 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
31866
31867 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31868 in `chosen' environment variable.
31869 * normal/menu_text.c (get_entry_number): Check if the variable
31870 matches the title of a menu entry.
31871 (run_menu): Pass menu to get_entry_number.
31872
31873 * util/grub-reboot.in: New file.
31874 * util/grub-set-default.in: New file.
31875 * conf/common.rmk (grub-reboot): New utility.
31876 (grub-set-default): New utility.
31877
31878 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31879 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31880 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31881 move it to `saved_entry' for the next boot. Load environment on
31882 initialisation.
31883 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31884 * util/grub.d/10_hurd.in: Likewise.
31885 * util/grub.d/10_linux.in (linux_entry): Likewise.
31886 * util/grub.d/10_windows.in: Likewise.
31887 * util/grub.d/30_os-prober.in: Likewise.
31888
31889 * util/grub-install.in: Create environment block.
31890 * util/i386/efi/grub-install.in: Likewise.
31891 * util/ieee1275/grub-install.in: Likewise.
31892 * util/sparc64/ieee1275/grub-install.in: Likewise.
31893
31894 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31895
31896 Unit testing framework for GRUB.
31897
31898 * Makefile.in: Test framework build rules for 'make check'.
31899 * conf/tests.rmk: Build rules for individual tests and framework.
31900
31901 * include/grub/test.h: Header file for whitebox tests.
31902 * tests/lib/functional_test.c: Framework support for whitebox
31903 functional tests.
31904 * tests/lib/test.c: Common whitebox testing code for unit and
31905 functional tests.
31906 * tests/lib/unit_test.c: Framework support for whitebox unit
31907 tests.
31908
31909 * tests/util/grub-shell-tester.in: Support utility for grub-script
31910 tests.
31911 * tests/util/grub-shell.in: Utility to execute grub-script
31912 commands in a Qemu instance.
31913
31914 * tests/example_functional_test.c: Example whitebox functional
31915 test.
31916 * tests/example_grub_script_test.in: Example grub-script test.
31917 * tests/example_scripted_test.in: Example scripted test.
31918 * tests/example_unit_test.c: Example whitebox unit test.
31919
31920 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31921
31922 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31923 Add loader/i386/multiboot_mbi.c.
31924 (multiboot2_mod_SOURCES): Likewise.
31925 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31926 (multiboot2_mod_SOURCES): Likewise.
31927 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31928 (grub_multiboot_make_mbi): Likewise.
31929 (grub_multiboot_free_mbi): Likewise.
31930 (grub_multiboot_init_mbi): Likewise.
31931 (grub_multiboot_add_module): Likewise.
31932 (grub_multiboot_set_bootdev): Likewise.
31933 * loader/i386/multiboot.c (mbi): Removed.
31934 (mbi_dest): Likewise.
31935 (alloc_mbi): New variable.
31936 (grub_multiboot_payload_size): Removed. All users updated.
31937 (grub_multiboot_pure_size): New variable.
31938 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31939 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31940 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31941 (grub_fill_multiboot_mmap): Likewise.
31942 (grub_multiboot_get_bootdev): Likewise.
31943 (grub_multiboot): Use multiboot_mbi functions.
31944 * loader/i386/multiboot_mbi.c: New file.
31945
31946 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31947
31948 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31949 it would result in module crash.
31950
31951 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31952
31953 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31954 (grub_ofconsole_getwh): Split to ...
31955 (grub_ofconsole_getwh): ... this.
31956 (grub_ofconsole_dimensions): ...and this.
31957 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31958
31959 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31960
31961 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31962
31963 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31964
31965 * loader/i386/pc/multiboot2.c: Removed stalled file.
31966
31967 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31968
31969 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31970 Reported by: Grégoire Sutre
31971
31972 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31973
31974 * util/misc.c (canonicalize_file_name): New function.
31975 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31976 instead of realpath().
31977
31978 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
31979
31980 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31981 and make it clearer that it's optional. Based on confusion
31982 witnessed on IRC.
31983
31984 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31985
31986 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31987 in premature implicit newline.
31988
31989 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31990
31991 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31992 which resulted in garbled command line at the end of screen.
31993
31994 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31995
31996 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31997 initialization with similar approach as with other Linux loaders.
31998
31999 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
32000
32001 Fix i386-ieee1275 build.
32002
32003 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
32004 and grub_term_height() for video_{width,height} initialization.
32005
32006 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
32007
32008 Fix grub-emu build.
32009
32010 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
32011
32012 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32013 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32014
32015 Support for multiple terminals.
32016
32017 * Makefile.in (pkglib_DATA): terminal.lst.
32018 (terminal.lst): New target.
32019 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
32020 (GRUB_MOD_INIT(handler)): Likewise.
32021 (GRUB_MOD_FINI(handler)): Likewise.
32022 * commands/help.c (grub_cmd_help): Handle multiple terminals.
32023 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
32024 * commands/sleep.c (do_print): Use grub_term_restore_pos.
32025 (grub_cmd_sleep): Use grub_term_save_pos.
32026 * commands/terminal.c: New file.
32027 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
32028 commands/terminal.c and lib/charset.c.
32029 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
32030 (pkglib_MODULES): Add terminal.mod.
32031 (terminal_mod_SOURCES): New variable.
32032 (terminal_mod_CFLAGS): Likewise.
32033 (terminal_mod_LDFLAGS): Likewise.
32034 * genhandlerlist.sh: Don't handle terminals.
32035 * genmk.rb: Generate terminal-*.lst.
32036 * genterminallist.sh: New file.
32037 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
32038 (grub_is_valid_utf8): Likewise.
32039 (grub_utf8_to_ucs4_alloc): Likewise.
32040 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
32041 (grub_menu_register_viewer): Changed argument.
32042 (grub_menu_try_text): New proto.
32043 (grub_gfxmenu_try_hook): New declaration.
32044 * include/grub/normal.h (grub_normal_exit_level): New declaration.
32045 (grub_menu_init_page): Additional argument term.
32046 (grub_normal_init_page): Likewise.
32047 (grub_cmdline_get): Arguments simplified.
32048 (grub_utf8_to_ucs4_alloc): Removed.
32049 (grub_print_ucs4): Additional argument term.
32050 (grub_getstringwidth): Likewise.
32051 (grub_print_message_indented): Likewise.
32052 (grub_menu_text_register_instances): New proto.
32053 (grub_show_menu): Likewise.
32054 (read_terminal_list): Likewise.
32055 (grub_set_more): Likewise.
32056 * include/grub/parser.h: Include handler.h.
32057 * include/grub/reader.h: Rewritten.
32058 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
32059 (GRUB_TERM_WIDTH): Changed to function.
32060 (GRUB_TERM_HEIGHT): Likewise.
32061 (GRUB_TERM_BORDER_WIDTH): Likewise.
32062 (GRUB_TERM_BORDER_HEIGHT): Likewise.
32063 (GRUB_TERM_NUM_ENTRIES): Likewise.
32064 (GRUB_TERM_ENTRY_WIDTH): Likewise.
32065 (GRUB_TERM_CURSOR_X): Likewise.
32066 (grub_term_input_class): Likewise.
32067 (grub_term_output_class): Likewise.
32068 (grub_term_outputs_disabled): New declaration.
32069 (grub_term_inputs_disabled): Likewise.
32070 (grub_term_outputs): Likewise.
32071 (grub_term_inputs): Likewise.
32072 (grub_term_register_input): Rewritten.
32073 (grub_term_register_output): Likewise.
32074 (grub_term_unregister_input): Likewise.
32075 (grub_term_unregister_output): Likewise.
32076 (FOR_ACTIVE_TERM_INPUTS): New macro.
32077 (FOR_DISABLED_TERM_INPUTS): Likewise.
32078 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
32079 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
32080 * include/grub/terminfo.h: Add oterm argument to all protypes.
32081 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
32082 Use grub_rescue_run.
32083 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
32084 All users updated.
32085 * kern/reader.c: Removed. All users updated.
32086 * kern/rescue_reader.c (grub_rescue_init): Removed.
32087 (grub_rescue_reader): Likewise.
32088 (grub_register_rescue_reader): Likewise.
32089 (grub_rescue_run): New function based on kern/reader.c.
32090 * kern/term.c: Adapted for multiterm.
32091 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
32092 (grub_is_valid_utf8): Likewise.
32093 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
32094 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
32095 right terminal.
32096 * loader/i386/linux.c (grub_linux_boot): Likewise.
32097 * normal/auth.c (grub_username_get): New function.
32098 (grub_auth_check_authentication): Use grub_username_get.
32099 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
32100 * normal/color.c: Adapt for multiterm.
32101 * normal/main.c (read_config_file): Don't use grub_reader_loop.
32102 (grub_normal_init_page): Additional argument term.
32103 (read_lists): Call read_terminal_lists.
32104 (grub_enter_normal_mode): Call grub_cmdline_run.
32105 Handle grub_normal_exit_level.
32106 (grub_cmd_normal): Make reentrant.
32107 (grub_cmd_normal_exit): New function.
32108 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
32109 * normal/menu.c: Adapt for multiterm.
32110 * normal/menu_entry.c: Likewise.
32111 * normal/menu_text.c: Likewise.
32112 * normal/menu_viewer.c: Removed. All users updated.
32113 * normal/term.c: New file.
32114 * util/console.c: Change order of includes to workaround a bug in
32115 ncurses headers.
32116 * term/terminfo.c: New argument oterm on all exported functions.
32117 All users updated.
32118 * util/grub-editenv.c (grub_term_input_class): Removed.
32119 (grub_term_output_class): Likewise.
32120
32121 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32122
32123 Make loader output a bit more user-friendly.
32124
32125 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
32126 is being loaded. Likewise for the Hurd.
32127
32128 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
32129 that kernel of FreeBSD ${version} is being loaded.
32130
32131 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
32132 grub_dprintf().
32133 (grub_cmd_initrd): Likewise.
32134 * util/grub.d/10_linux.in (linux_entry): Print message indicating
32135 that Linux ${version} is being loaded. Likewise for initrd.
32136
32137 2010-01-09 Carles Pina i Estany <carles@pina.cat>
32138
32139 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
32140
32141 2010-01-08 Carles Pina i Estany <carles@pina.cat>
32142
32143 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
32144 (GRUB_MOD_INIT): Gettextizze.
32145 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
32146 (GRUB_MOD_INIT): Gettextizze.
32147 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
32148 (grub_cmd_linux): Capitalise Linux.
32149 (GRUB_MOD_INIT): Gettextizze.
32150 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
32151 (grub_cmd_linux): Capitalise Linux.
32152 (GRUB_MOD_INIT): Gettextizze.
32153 * loader/i386/linux.c: Include `<grub/i18n.h>'.
32154 (grub_cmd_linux): Capitalise Linux.
32155 (GRUB_MOD_INIT): Gettextizze.
32156 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
32157 (GRUB_MOD_INIT): Gettextizze.
32158 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
32159 (grub_cmd_linux): Capitalise Linux.
32160 (GRUB_MOD_INIT): Gettextizze.
32161 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
32162 (grub_cpu_xnu_init): Gettextizze.
32163 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
32164 (GRUB_MOD_INIT): Gettextizze.
32165 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
32166 (GRUB_MOD_INIT): Gettextizze.
32167 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
32168 (grub_linux_load64): Capitalise Linux.
32169 (GRUB_MOD_INIT): Gettextizze.
32170 * loader/xnu.c: Include `<grub/i18n.h>'.
32171 (GRUB_MOD_INIT): Gettextizze.
32172 * po/POTFILES: Add `loader/efi/appleloader.c',
32173 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
32174 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
32175 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
32176 `loader/i386/xnu.c', `loader/multiboot_loader.c',
32177 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
32178 and `loader/xnu.c'.
32179
32180 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32181
32182 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
32183
32184 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32185
32186 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
32187 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
32188 * util/mkisofs/mkisofs.c (main): Readjust --version output.
32189
32190 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32191
32192 Reset Multiboot 2 support. New loader implements the draft in
32193 /branches/multiboot2 and shares as much code as possible with the
32194 production Multiboot 1 implementation.
32195
32196 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
32197 * loader/multiboot2.c: Likewise.
32198 * loader/i386/multiboot_helper.S: Likewise.
32199 * include/multiboot2.h: Replace with latest version from the draft
32200 in /branches/multiboot2.
32201
32202 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
32203 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
32204 and `loader/multiboot2.c'.
32205 (pkglib_MODULES): Add `multiboot2.mod'.
32206 (multiboot2_mod_SOURCES): New variable.
32207 (multiboot2_mod_LDFLAGS): Likewise.
32208 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
32209
32210 * conf/i386-pc.rmk: Likewise.
32211
32212 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32213 (multiboot_mod_SOURCES): Remove variable.
32214 (multiboot_mod_LDFLAGS): Likewise.
32215 (multiboot_mod_CFLAGS): Likewise.
32216
32217 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
32218 `<multiboot2.h>' instead of `<multiboot.h>'.
32219 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
32220 (MULTIBOOT_HEADER_MAGIC): New macros.
32221
32222 * loader/multiboot_loader.c (module_version_status): Remove variable.
32223 (find_multi_boot2_header): Remove function.
32224 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
32225 logic. Always check for the Multiboot version we're compiling for.
32226 (grub_cmd_module_loader): Likewise.
32227 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
32228 command instead of `multiboot'.
32229
32230 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32231
32232 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
32233 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
32234 all users.
32235
32236 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32237 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32238
32239 Fix breakage introduced with previous commit.
32240
32241 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
32242 commands.
32243 * normal/handler.c (read_handler_list): Revert part of previous commit
32244 affecting this file.
32245 * normal/main.c (read_lists): Move read_handler_list() call back to ...
32246 (grub_normal_execute): ... here.
32247
32248 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32249
32250 Merge prefix-redefinition-fix branch.
32251
32252 * normal/autofs.c (read_fs_list): Make function capable of being
32253 run multiple times, gracefuly replacing the previous data
32254 structures.
32255 * normal/dyncmd.c (read_command_list): Likewise.
32256 * normal/handler.c (read_handler_list): Likewise.
32257 * normal/main.c (read_lists): New function. Calls all the
32258 list reading functions.
32259 (grub_normal_execute): Use read_lists() instead of calling all
32260 list reading functions explicitly. Register read_lists() as a
32261 variable hook attached to ${prefix}.
32262
32263 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32264
32265 Merge crypto branch.
32266
32267 * Makefile.in (pkglib_DATA): Add crypto.lst.
32268 (crypto.lst): New target.
32269 * commands/hashsum.c: New file.
32270 * commands/password.c (check_password): Use grub_crypto_memcmp.
32271 * commands/password_pbkdf2.c: New file.
32272 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32273 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32274 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32275 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32276 -I$(srcdir)/lib/libgcrypt_wrap.
32277 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32278 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32279 password_pbkdf2.mod.
32280 (crypto_mod_SOURCES): New variable.
32281 (crypto_mod_CFLAGS): Likewise.
32282 (crypto_mod_LDFLAGS): Likewise.
32283 (hashsum_mod_SOURCES): New variable.
32284 (hashsum_mod_CFLAGS): Likewise.
32285 (hashsum_mod_LDFLAGS): Likewise.
32286 (pbkdf2_mod_SOURCES): New variable.
32287 (pbkdf2_mod_CFLAGS): Likewise.
32288 (pbkdf2_mod_LDFLAGS): Likewise.
32289 (password_pbkdf2_mod_SOURCES): New variable.
32290 (password_pbkdf2_mod_CFLAGS): Likewise.
32291 (password_pbkdf2_mod_LDFLAGS): Likewise.
32292 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32293 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32294 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32295 Include conf/gcry.rmk.
32296 * include/grub/auth.h: Rewritten.
32297 * include/grub/crypto.h: New file.
32298 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32299 * include/grub/normal.h (read_crypto_list): New prototype.
32300 * lib/crypto.c: New file.
32301 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32302 * lib/pbkdf2.c: Likewise.
32303 * normal/auth.c (grub_auth_strcmp): Removed.
32304 (grub_iswordseparator): Likewise.
32305 (grub_auth_strword): Likewise.
32306 (is_authenticated): Use grub_strword.
32307 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32308 and grub_strword. Pass entered password to authentication callback.
32309 * normal/crypto.c: New file.
32310 * normal/main.c: Call read_crypto_list.
32311 * util/grub-mkpasswd-pbkdf2.c: New file.
32312 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32313
32314 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32315
32316 Fix descent and ascent calculation.
32317
32318 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32319 (options): New option "asce".
32320 (usage): Likewise.
32321 (add_char): Ignore invalid glyphs for descent calculation.
32322 Calculate ascent from actual content.
32323 (print_glyphs): Use 'asce'.
32324 (write_font): Likewise. Allow ascent override.
32325 (main): Handle "asce" option.
32326
32327 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32328
32329 * kern/err.c: Include `<grub/i18n.h>'.
32330 (grub_print_error): Add full stop. Gettextizze.
32331 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32332 (grub_bsd_load_elf): Capitalise ELF.
32333 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32334 (grub_cmd_freebsd_module): Likewise.
32335 (grub_cmd_freebsd_module_elf): Likewise.
32336 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32337
32338 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32339
32340 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32341 * commands/search_file.c (HELP_MESSAGE): New macro.
32342 * commands/search_label.c (HELP_MESSAGE): Likewise.
32343 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32344 * po/POTFILES: Add `commands/search_file.c',
32345 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32346 `commands/search.c'.
32347
32348 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32349
32350 * config.rpath: Update from Gnulib.
32351
32352 2010-01-05 Yves Blusseau <blusseau@zetam.org>
32353
32354 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32355
32356 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32357
32358 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32359
32360 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32361
32362 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32363 arguments to fread so that we get a return value in bytes, rather
32364 than something that will normally be rounded down to 0.
32365 Adjust error handling to avoid producing garbage when size_t is not
32366 the same size as long long.
32367
32368 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32369
32370 * util/mkisofs/write.c (padblock_write): Check return value of
32371 fread.
32372
32373 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32374
32375 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32376 floppy images now.
32377
32378 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32379
32380 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32381
32382 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32383 instead of manual alignment.
32384 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32385 verbose). Avoid attempts to read past end of the device
32386 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32387 but GRUB_DISK_CACHE_SIZE may exceed that).
32388
32389 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32390
32391 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32392 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32393 it to upper layer.
32394
32395 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32396
32397 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32398 New constant.
32399 (grub_efi_piwg_device_path): New structure
32400 (grub_efi_piwg_device_path_t): New type.
32401 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32402 (devpath_1): Transform to a structure. All users updated.
32403 (devpath_2): Likewise.
32404 (devpath_3): Likewise.
32405 (devpath_4): Likewise.
32406 (devpath_5): Likewise.
32407
32408 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32409
32410 * loader/efi/appleloader.c: Restored. Update all users.
32411
32412 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32413
32414 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32415
32416 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32417 (struct boot_blocklist): Move from here ...
32418 * include/grub/i386/pc/boot.h [ASM_FILE]
32419 (struct grub_boot_blocklist): ... to here. Update all users.
32420 (setup): Only initialize `start' member of `first_block'
32421 structure. Add assert() calls to verify the other members.
32422
32423 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32424 (generate_image): Fix broken blocklist length initialization.
32425 Add assert() call to verify blocklist `segment' field.
32426
32427 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32428
32429 * loader/efi/appleloader.c: Remove. Update all users.
32430
32431 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32432
32433 * boot/i386/pc/boot.S: Update copyright year.
32434 * boot/i386/pc/cdboot.S: Likewise.
32435 * boot/i386/pc/diskboot.S: Likewise.
32436 * boot/i386/pc/lnxboot.S: Likewise.
32437 * boot/i386/pc/pxeboot.S: Likewise.
32438 * bus/pci.c: Likewise.
32439 * commands/cmp.c: Likewise.
32440 * commands/help.c: Likewise.
32441 * commands/hexdump.c: Likewise.
32442 * commands/i386/pc/halt.c: Likewise.
32443 * commands/i386/pc/play.c: Likewise.
32444 * commands/i386/pc/vbeinfo.c: Likewise.
32445 * commands/ls.c: Likewise.
32446 * commands/test.c: Likewise.
32447 * disk/dmraid_nvidia.c: Likewise.
32448 * disk/i386/pc/biosdisk.c: Likewise.
32449 * disk/ieee1275/nand.c: Likewise.
32450 * disk/ieee1275/ofdisk.c: Likewise.
32451 * disk/lvm.c: Likewise.
32452 * disk/raid.c: Likewise.
32453 * disk/raid6_recover.c: Likewise.
32454 * disk/scsi.c: Likewise.
32455 * fs/affs.c: Likewise.
32456 * fs/cpio.c: Likewise.
32457 * fs/ext2.c: Likewise.
32458 * fs/hfs.c: Likewise.
32459 * fs/iso9660.c: Likewise.
32460 * fs/ntfs.c: Likewise.
32461 * fs/sfs.c: Likewise.
32462 * fs/udf.c: Likewise.
32463 * fs/ufs.c: Likewise.
32464 * fs/xfs.c: Likewise.
32465 * gencmdlist.sh: Likewise.
32466 * genmk.rb: Likewise.
32467 * include/grub/disk.h: Likewise.
32468 * include/grub/efi/api.h: Likewise.
32469 * include/grub/efi/efi.h: Likewise.
32470 * include/grub/efi/pe32.h: Likewise.
32471 * include/grub/elf.h: Likewise.
32472 * include/grub/fs.h: Likewise.
32473 * include/grub/i386/at_keyboard.h: Likewise.
32474 * include/grub/i386/pc/memory.h: Likewise.
32475 * include/grub/i386/pc/vbe.h: Likewise.
32476 * include/grub/i386/pci.h: Likewise.
32477 * include/grub/i386/tsc.h: Likewise.
32478 * include/grub/ieee1275/ieee1275.h: Likewise.
32479 * include/grub/ntfs.h: Likewise.
32480 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32481 * include/grub/sparc64/libgcc.h: Likewise.
32482 * include/grub/symbol.h: Likewise.
32483 * include/grub/types.h: Likewise.
32484 * include/multiboot2.h: Likewise.
32485 * io/gzio.c: Likewise.
32486 * kern/device.c: Likewise.
32487 * kern/disk.c: Likewise.
32488 * kern/efi/efi.c: Likewise.
32489 * kern/efi/mm.c: Likewise.
32490 * kern/elf.c: Likewise.
32491 * kern/file.c: Likewise.
32492 * kern/i386/dl.c: Likewise.
32493 * kern/i386/pc/init.c: Likewise.
32494 * kern/i386/pc/startup.S: Likewise.
32495 * kern/ieee1275/ieee1275.c: Likewise.
32496 * kern/ieee1275/init.c: Likewise.
32497 * kern/main.c: Likewise.
32498 * kern/mm.c: Likewise.
32499 * kern/powerpc/dl.c: Likewise.
32500 * kern/sparc64/dl.c: Likewise.
32501 * kern/x86_64/dl.c: Likewise.
32502 * lib/hexdump.c: Likewise.
32503 * loader/efi/appleloader.c: Likewise.
32504 * loader/i386/ieee1275/linux.c: Likewise.
32505 * loader/i386/pc/chainloader.c: Likewise.
32506 * loader/i386/pc/linux.c: Likewise.
32507 * loader/i386/pc/multiboot2.c: Likewise.
32508 * loader/ieee1275/multiboot2.c: Likewise.
32509 * loader/multiboot2.c: Likewise.
32510 * loader/multiboot_loader.c: Likewise.
32511 * loader/powerpc/ieee1275/linux.c: Likewise.
32512 * normal/completion.c: Likewise.
32513 * normal/menu_entry.c: Likewise.
32514 * partmap/apple.c: Likewise.
32515 * util/grub.d/10_hurd.in: Likewise.
32516 * util/hostfs.c: Likewise.
32517 * video/readers/png.c: Likewise.
32518
32519 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
32520
32521 * include/grub/misc.h (GNUC_PREREQ): New macro.
32522 (ATTRIBUTE_ERROR): New macro.
32523 * include/grub/list.h (grub_bad_type_cast_real): Use
32524 ATTRIBUTE_ERROR.
32525
32526 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32527
32528 * normal/menu_text.c (print_message): Change messages.
32529
32530 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32531
32532 * normal/menu_entry.c (store_completion): Gettextizze.
32533
32534 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32535
32536 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32537
32538 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32539
32540 * po/POTFILES: Sort correctly.
32541
32542 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32543
32544 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32545 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32546 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32547 full stop.
32548 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32549 summary. Gettextizze the strings.
32550 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32551 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32552 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32553 full stop.
32554 (GRUB_MOD_INIT): Remove command name from summary.
32555 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32556 summary.
32557 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32558 * term/i386/pc/serial.c (options): Add full stops.
32559 (GRUB_MOD_INIT): Remove command name from the summary.
32560
32561 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32562
32563 * commands/acpi.c: Gettextizze help strings and/or options. Include
32564 `grub/i18n.h' if needed.
32565 * commands/blocklist.c: Likewise.
32566 * commands/boot.c: Likewise.
32567 * commands/cat.c: Likewise.
32568 * commands/cmp.c: Likewise.
32569 * commands/configfile.c: Likewise.
32570 * commands/crc.c: Likewise.
32571 * commands/date.c: Likewise.
32572 * commands/echo.c: Likewise.
32573 * commands/efi/fixvideo.c: Likewise.
32574 * commands/efi/loadbios.c: Likewise.
32575 * commands/gptsync.c: Likewise.
32576 * commands/halt.c: Likewise.
32577 * commands/handler.c: Likewise.
32578 * commands/hdparm.c: Likewise.
32579 * commands/hexdump.c: Likewise.
32580 * commands/i386/cpuid.c: Likewise.
32581 * commands/i386/pc/drivemap.c: Likewise.
32582 * commands/i386/pc/halt.c: Likewise.
32583 * commands/i386/pc/pxecmd.c: Likewise.
32584 * commands/i386/pc/vbeinfo.c: Likewise.
32585 * commands/i386/pc/vbetest.c: Likewise.
32586 * commands/ieee1275/suspend.c: Likewise.
32587 * commands/keystatus.c: Likewise.
32588 * commands/loadenv.c: Likewise.
32589 * commands/ls.c: Likewise.
32590 * commands/lsmmap.c: Likewise.
32591 * commands/lspci.c: Likewise.
32592 * commands/memrw.c: Likewise.
32593 * commands/minicmd.c: Likewise.
32594 * commands/parttool.c: Likewise.
32595 * commands/password.c: Likewise.
32596 * commands/probe.c: Likewise.
32597 * commands/read.c: Likewise.
32598 * commands/reboot.c: Likewise.
32599 * commands/search.c: Likewise.
32600 * commands/sleep.c: Likewise.
32601 * commands/test.c: Likewise.
32602 * commands/true.c: Likewise.
32603 * commands/usbtest.c: Likewise.
32604 * commands/videotest.c: Likewise.
32605 * commands/xnu_uuid.c: Likewise.
32606 * disk/loopback.c: Likewise.
32607 * hello/hello.c: Likewise.
32608 * loader/i386/bsd.c: Likewise.
32609 * term/i386/pc/serial.c: Likewise.
32610 * po/POTFILES: Add new files.
32611
32612 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
32613
32614 * term/i386/pc/at_keyboard.c
32615 (keyboard_controller_wait_untill_ready): Rename to ...
32616 (keyboard_controller_wait_until_ready): ... this. Update all users.
32617
32618 2010-01-01 Carles Pina i Estany <carles@pina.cat>
32619
32620 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32621 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32622 string using string width.
32623 * normal/menu_text.c (grub_print_message_indented): Use
32624 grub_print_spaces and not print_spaces.
32625 (print_timeout): Likewise.
32626 (print_spaces): Move to...
32627 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32628
32629 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32630
32631 Import from Gnulib.
32632
32633 * gnulib/getdelim.c: New file.
32634 * gnulib/getline.c: Likewise.
32635
32636 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32637
32638 * include/grub/list.h (grub_assert_fail): Removed.
32639 (grub_bad_type_cast_real): New function.
32640 (grub_bad_type_cast): New macro.
32641 (GRUB_AS_LIST): Use grub_bad_type_cast.
32642 (GRUB_AS_LIST_P): Likewise.
32643 (GRUB_AS_NAMED_LIST): Likewise.
32644 (GRUB_AS_NAMED_LIST_P): Likewise.
32645 (GRUB_AS_PRIO_LIST): Likewise.
32646 (GRUB_AS_PRIO_LIST_P): Likewise.
32647 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
32648
32649 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32650
32651 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32652 Fix syntax error.
32653
32654 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32655
32656 * configure.ac: Check for TARGET_CFLAGS initialization before we
32657 initialize it ourselves (sigh).
32658 Move a few modifications to TARGET_CFLAGS to be unconditional
32659 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32660 eh_frame)
32661
32662 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32663 * term/i386/pc/at_keyboard.c
32664 (keyboard_controller_wait_untill_ready): Likewise.
32665 (keyboard_controller_led): Rename `led_status' paramter to avoid
32666 name conflict.
32667
32668 2009-12-28 Carles Pina i Estany <carles@pina.cat>
32669
32670 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32671 quotes.
32672
32673 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32674
32675 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32676
32677 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32678
32679 * normal/menu_text.c (grub_print_message_indented): Prevent
32680 past-the-end-of-array dereference.
32681
32682 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32683
32684 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32685 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32686
32687 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32688
32689 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32690 * normal/main.c (grub_normal_read_line): Remove a space from the
32691 default prompt.
32692
32693 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32694
32695 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32696 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32697 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32698 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32699 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32700 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32701 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32702
32703 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32704
32705 * video/readers/jpeg.c (cmd): Declare.
32706 (grub_cmd_jpegtest): Use `grub_command_t' type.
32707 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32708 Assign to `cmd'.
32709 (GRUB_MOD_FINI): Use `cmd' to unregister.
32710 * video/readers/png.c (cmd): Declare.
32711 (grub_cmd_pngtest): Use `grub_command_t' type.
32712 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32713 Assign to `cmd'.
32714 (GRUB_MOD_FINI): Use `cmd' to unregister.
32715 * video/readers/tga.c (cmd): Declare.
32716 (grub_cmd_tgatest): Use `grub_command_t' type.
32717 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32718 Assign to `cmd'.
32719 (GRUB_MOD_FINI): Use `cmd' to unregister.
32720
32721 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32722
32723 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32724 stops.
32725 * kern/corecmd.c (grub_register_core_commands): Likewise.
32726 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32727 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32728 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32729 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32730 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32731 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32732 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32733 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32734 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32735 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32736 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32737 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32738 * normal/handler.c (insert_handler): Likewise.
32739 * normal/main.c (GRUB_MOD_INIT): Likewise.
32740 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32741
32742 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32743
32744 * commands/help.c (grub_cmd_help): Print the command name before the
32745 summary.
32746 (GRUB_MOD_INIT): Remove command name from the summary.
32747 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
32748 string as summary.
32749 * lib/arg.c (find_long): Print the command name before the summary.
32750 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32751 summary.
32752 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32753 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32754 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32755 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32756 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32757 * commands/date.c (GRUB_MOD_INIT): Likewise.
32758 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32759 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32760 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32761 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32762 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32763 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32764 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32765 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32766 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32767 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32768 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32769 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32770 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32771 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32772 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32773 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32774 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32775 * commands/password.c (GRUB_MOD_INIT): Likewise.
32776 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32777 * commands/read.c (GRUB_MOD_INIT): Likewise.
32778 * commands/search.c (GRUB_MOD_INIT): Likewise.
32779 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32780 * commands/test.c (GRUB_MOD_INIT): Likewise.
32781 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32782 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32783 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32784 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32785 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32786 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32787 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32788 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32789 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32790 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32791 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32792 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32793 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32794 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32795
32796 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32797
32798 Use search command for preliminar UUID search.
32799
32800 * commands/search.c: Split into ...
32801 * commands/search_wrap.c: ...this
32802 * commands/search.c: ...and this.
32803 * commands/search_file.c: New file.
32804 * commands/search_label.c: New file.
32805 * commands/search_uuid.c: New file.
32806 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32807 Add commands/search_wrap.c, commands/search_file.c,
32808 commands/search_label.c and commands/search_uuid.c.
32809 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32810 (search_mod_SOURCES): Set to commands/search_wrap.c.
32811 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32812 search_label.mod.
32813 (search_fs_file_mod_SOURCES): New variable.
32814 (search_fs_file_mod_CFLAGS): Likewise.
32815 (search_fs_file_mod_LDFLAGS): Likewise.
32816 (search_label_mod_SOURCES): Likewise.
32817 (search_label_mod_CFLAGS): Likewise.
32818 (search_label_mod_LDFLAGS): Likewise.
32819 (search_fs_uuid_mod_SOURCES): New variable.
32820 (search_fs_uuid_mod_CFLAGS): Likewise.
32821 (search_fs_uuid_mod_LDFLAGS): Likewise.
32822 (fs_file_mod_SOURCES): Removed.
32823 (fs_file_mod_CFLAGS): Likewise.
32824 (fs_file_mod_LDFLAGS): Likewise.
32825 (fs_uuid_mod_SOURCES): Removed.
32826 (fs_uuid_mod_CFLAGS): Likewise.
32827 (fs_uuid_mod_LDFLAGS): Likewise.
32828 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32829 Set to util/grub-install.in.
32830 * disk/fs_file.c: Removed.
32831 * disk/fs_uuid.c: Likewise.
32832 * include/grub/search.h: New file.
32833 * util/grub-install.in: Handle sparc64.
32834 Create and use load.cfg.
32835 * util/sparc64/ieee1275/grub-install.in: Removed.
32836
32837 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32838
32839 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32840 Ignore return status if CF is cleared.
32841 (grub_biosdisk_get_diskinfo_standard): Likewise.
32842
32843 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32844
32845 * term/i386/pc/at_keyboard.c
32846 (keyboard_controller_wait_untill_ready): New function.
32847 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32848 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32849 for keyboard polling, rather than duplicate the same loop. This
32850 saves a few bytes in code size.
32851
32852 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32853
32854 Support for (pxe[:server[:gateway]]) syntax and
32855 use environment variable for PXE.
32856
32857 * commands/i386/pc/pxecmd.c (options): Removed.
32858 (print_ip): Removed.
32859 (grub_cmd_pxe): Removed
32860 (grub_cmd_pxe_unload): New function.
32861 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32862 (grub_pxe_your_ip): Made static.
32863 (grub_pxe_default_server_ip): Likewise.
32864 (grub_pxe_default_gateway_ip): Likewise.
32865 (grub_pxe_blksize): Likewise.
32866 (parse_ip): New function.
32867 (grub_pxe_open): Support server and gateway specification.
32868 (grub_pxe_close): Free disk->data.
32869 (grub_pxefs_open): Use disk->data.
32870 (grub_pxefs_read): Likewise.
32871 (grub_env_write_readonly): New function.
32872 (set_mac_env): Likewise.
32873 (set_env_limn_ro): Likewise.
32874 (parse_dhcp_vendor): Likewise.
32875 (grub_pxe_detect): Set the environment variables.
32876 (set_ip_env): New function.
32877 (write_ip_env): Likewise.
32878 (grub_env_write_pxe_default_server): Likewise.
32879 (grub_env_write_pxe_default_gateway): Likewise.
32880 (grub_env_write_pxe_blocksize): Likewise.
32881 (GRUB_MOD_INIT(pxe)): Set environment variables.
32882 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32883 (grub_pxe_mac_addr_t): ... this. All users updated.
32884 (grub_pxe_your_ip): Removed.
32885 (grub_pxe_server_ip): Likewise.
32886 (grub_pxe_gateway_ip): Likewise.
32887 (grub_pxe_blksize): Likewise.
32888
32889 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32890
32891 * commands/help.c: Include `<grub/i18n.h>'.
32892 (grub_cmd_help): Gettextizze.
32893 (GRUB_MOD_INIT): Likewise.
32894 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32895 (GRUB_MOD_INIT): Gettextizze.
32896 * commands/search.c: Include `<grub/i18n.h>'.
32897 (options): Gettextizze.
32898 (GRUB_MOD_INIT): Gettextizze.
32899 * lib/arg.c: Include `<grub/i18n.h>'.
32900 (help_options): Gettextizze.
32901 (find_long): Likewise.
32902 (grub_arg_show_help): Likewise.
32903 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32904 (read_command_list): Gettextizze.
32905 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
32906 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
32907
32908 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32909
32910 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32911 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32912 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32913 (led_status): New variable.
32914 (keyboard_controller_led): New function.
32915 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32916 update led status for caps lock, num lock and scroll lock.
32917
32918 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
32919
32920 * util/hostdisk.c (open_device): Fix a comment.
32921
32922 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32923
32924 * util/grub-install.in (host_os): New variable.
32925 * util/i386/efi/grub-install.in (host_os): Likewise.
32926
32927 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32928
32929 * util/mkisofs/write.c (padblock_write): Abort when given an
32930 excedingly large embed image, instead of silently truncating it.
32931
32932 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32933
32934 * include/multiboot.h: Indentation fixes.
32935
32936 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32937
32938 * include/multiboot.h (struct multiboot_aout_symbol_table)
32939 (struct multiboot_elf_section_header_table): New structure
32940 declarations (stolen from GRUB Legacy).
32941 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32942 table information.
32943
32944 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32945 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32946 type aliases.
32947
32948 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32949
32950 * include/multiboot.h: Make comments src2texi-friendly.
32951
32952 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32953
32954 For consistency with [multiboot]/docs/boot.S.
32955
32956 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32957 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32958 (MULTIBOOT_MAGIC2): Rename from this ...
32959 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32960
32961 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32962
32963 * include/multiboot.h: Remove `<grub/types.h>'.
32964 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32965 types. Update all users.
32966
32967 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32968
32969 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32970 `couldn't' and `can not' by `cannot'.
32971 * commands/i386/pc/drivemap.c: Likewise.
32972 * disk/ata.c: Likewise.
32973 * disk/ieee1275/nand.c: Likewise.
32974 * fs/affs.c: Likewise.
32975 * fs/fat.c: Likewise.
32976 * fs/hfs.c: Likewise.
32977 * fs/hfsplus.c: Likewise.
32978 * fs/iso9660.c: Likewise.
32979 * fs/jfs.c: Likewise.
32980 * fs/minix.c: Likewise.
32981 * fs/reiserfs.c: Likewise.
32982 * fs/sfs.c: Likewise.
32983 * fs/udf.c: Likewise.
32984 * fs/ufs.c: Likewise.
32985 * fs/xfs.c: Likewise.
32986 * loader/powerpc/ieee1275/linux.c: Likewise.
32987 * loader/sparc64/ieee1275/linux.c: Likewise.
32988 * util/grub-probe.c: Likewise.
32989 * util/misc.c: Likewise.
32990
32991 2009-12-24 Carles Pina i Estany <carles@pina.cat>
32992
32993 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32994 grub_errno calls.
32995 * commands/acpi.c: Likewise.
32996 * commands/blocklist.c: Likewise.
32997 * commands/efi/loadbios.c: Likewise.
32998 * commands/i386/pc/drivemap.c: Likewise.
32999 * commands/loadenv.c: Likewise.
33000 * commands/memrw.c: Likewise.
33001 * commands/password.c: Likewise.
33002 * commands/videotest.c: Likewise.
33003 * disk/ata.c: Likewise.
33004 * disk/ata_pthru.c: Likewise.
33005 * disk/dmraid_nvidia.c: Likewise.
33006 * disk/ieee1275/nand.c: Likewise.
33007 * disk/ieee1275/ofdisk.c: Likewise.
33008 * disk/loopback.c: Likewise.
33009 * disk/lvm.c: Likewise.
33010 * disk/mdraid_linux.c: Likewise.
33011 * disk/raid.c: Likewise.
33012 * disk/raid6_recover.c: Likewise.
33013 * disk/scsi.c: Likewise.
33014 * efiemu/main.c: Likewise.
33015 * efiemu/mm.c: Likewise.
33016 * efiemu/pnvram.c: Likewise.
33017 * efiemu/symbols.c: Likewise.
33018 * font/font.c: Likewise.
33019 * fs/cpio.c: Likewise.
33020 * fs/hfsplus.c: Likewise.
33021 * fs/iso9660.c: Likewise.
33022 * fs/jfs.c: Likewise.
33023 * fs/minix.c: Likewise.
33024 * fs/ntfs.c: Likewise.
33025 * fs/ntfscomp.c: Likewise.
33026 * fs/reiserfs.c: Likewise.
33027 * fs/ufs.c: Likewise.
33028 * fs/xfs.c: Likewise.
33029 * gettext/gettext.c: Likewise.
33030 * include/grub/auth.h: Likewise.
33031 * kern/elf.c: Likewise.
33032 * kern/file.c: Likewise.
33033 * kern/ieee1275/init.c: Likewise.
33034 * kern/ieee1275/mmap.c: Likewise.
33035 * kern/ieee1275/openfw.c: Likewise.
33036 * kern/powerpc/dl.c: Likewise.
33037 * kern/sparc64/dl.c: Likewise.
33038 * lib/arg.c: Likewise.
33039 * loader/i386/bsd.c: Likewise.
33040 * loader/i386/bsdXX.c: Likewise.
33041 * loader/i386/efi/linux.c: Likewise.
33042 * loader/i386/efi/xnu.c: Likewise.
33043 * loader/i386/ieee1275/linux.c: Likewise.
33044 * loader/i386/linux.c: Likewise.
33045 * loader/i386/multiboot.c: Likewise.
33046 * loader/i386/pc/linux.c: Likewise.
33047 * loader/i386/pc/multiboot2.c: Likewise.
33048 * loader/i386/xnu.c: Likewise.
33049 * loader/ieee1275/multiboot2.c: Likewise.
33050 * loader/macho.c: Likewise.
33051 * loader/machoXX.c: Likewise.
33052 * loader/multiboot2.c: Likewise.
33053 * loader/multiboot_loader.c: Likewise.
33054 * loader/powerpc/ieee1275/linux.c: Likewise.
33055 * loader/sparc64/ieee1275/linux.c: Likewise.
33056 * loader/xnu.c: Likewise.
33057 * loader/xnu_resume.c: Likewise.
33058 * mmap/i386/pc/mmap.c: Likewise.
33059 * normal/menu_viewer.c: Likewise.
33060 * partmap/acorn.c: Likewise.
33061 * partmap/amiga.c: Likewise.
33062 * partmap/apple.c: Likewise.
33063 * script/lexer.c: Likewise.
33064 * term/gfxterm.c: Likewise.
33065 * term/i386/pc/serial.c: Likewise.
33066 * term/i386/pc/vga.c: Likewise.
33067 * term/ieee1275/ofconsole.c: Likewise.
33068 * term/terminfo.c: Likewise.
33069 * video/bitmap.c: Likewise.
33070 * video/efi_gop.c: Likewise.
33071 * video/efi_uga.c: Likewise.
33072 * video/fb/video_fb.c: Likewise.
33073 * video/i386/pc/vbe.c: Likewise.
33074 * video/readers/tga.c: Likewise.
33075 * video/video.c: Likewise.
33076
33077 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
33078
33079 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
33080 * commands/lspci.c: Likewise.
33081 * commands/probe.c: Likewise.
33082 * commands/xnu_uuid.c: Likewise.
33083 * conf/i386-coreboot.rmk: Likewise.
33084 * conf/i386-efi.rmk: Likewise.
33085 * conf/i386-ieee1275.rmk: Likewise.
33086 * conf/i386-pc.rmk: Likewise.
33087 * conf/powerpc-ieee1275.rmk: Likewise.
33088 * conf/sparc64-ieee1275.rmk: Likewise.
33089 * conf/x86_64-efi.rmk: Likewise.
33090 * fs/i386/pc/pxe.c: Likewise.
33091 * gettext/gettext.c: Likewise.
33092 * include/grub/efi/graphics_output.h: Likewise.
33093 * include/grub/i386/pc/memory.h: Likewise.
33094 * kern/env.c: Likewise.
33095 * kern/i386/qemu/startup.S: Likewise.
33096 * lib/i386/pc/biosnum.c: Likewise.
33097 * lib/i386/relocator.c: Likewise.
33098 * lib/i386/relocator_asm.S: Likewise.
33099 * lib/relocator.c: Likewise.
33100 * loader/i386/bsd.c: Likewise.
33101 * loader/i386/multiboot.c: Likewise.
33102 * loader/i386/pc/chainloader.c: Likewise.
33103 * loader/i386/xnu.c: Likewise.
33104 * loader/xnu.c: Likewise.
33105 * normal/main.c: Likewise.
33106 * normal/menu_text.c: Likewise.
33107 * util/getroot.c: Likewise.
33108 * util/grub-mkconfig_lib.in: Likewise.
33109 * util/grub.d/00_header.in: Likewise.
33110 * util/i386/pc/grub-mkimage.c: Likewise.
33111 * util/mkisofs/eltorito.c: Likewise.
33112 * util/mkisofs/exclude.h: Likewise.
33113 * util/mkisofs/hash.c: Likewise.
33114 * util/mkisofs/iso9660.h: Likewise.
33115 * util/mkisofs/joliet.c: Likewise.
33116 * util/mkisofs/mkisofs.c: Likewise.
33117 * util/mkisofs/mkisofs.h: Likewise.
33118 * util/mkisofs/multi.c: Likewise.
33119 * util/mkisofs/name.c: Likewise.
33120 * util/mkisofs/rock.c: Likewise.
33121 * util/mkisofs/tree.c: Likewise.
33122 * util/mkisofs/write.c: Likewise.
33123 * video/efi_gop.c: Likewise.
33124
33125 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
33126
33127 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
33128 size counting.
33129
33130 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33131
33132 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
33133 * genmk.rb (class SCRIPT): Modify the target file instead of source.
33134
33135 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33136
33137 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
33138 (GRUB_MOD_INIT(memrw)): Update help line.
33139
33140 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33141
33142 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
33143 Use grub_extcmd_t. All users updated.
33144 (options): New variable.
33145 (grub_cmd_read): Restructure for readability. Support "-v" option.
33146 (grub_cmd_write): Restructure for readability.
33147
33148 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33149
33150 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
33151
33152 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33153
33154 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
33155 with the actual contents of the correspondending make variable.
33156 * util/grub-mkrescue.in (pkglib_DATA): New variable.
33157 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
33158 specifying `*.lst' and `efiemu??.o'
33159
33160 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33161
33162 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
33163 after function name.
33164 Noticed by Rene Engelhard <rene@debian.org>.
33165
33166 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33167
33168 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
33169 (options): New variable.
33170 (iospace): Likewise.
33171 (grub_lspci_iter): List IO spaces if "-i" was given.
33172 (grub_cmd_lspci): Parse options.
33173 (GRUB_MOD_INIT(lspci)): Use extcmd.
33174 (GRUB_MOD_FINI(lspci)): Likewise.
33175
33176 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33177
33178 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
33179 `function' keyword.
33180 Patch by Tony Mancill <tmancill@debian.org>.
33181
33182 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33183
33184 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
33185 (grub_uhci_portstatus): Likewise.
33186 (grub_uhci_portstatus): Add necessary delay.
33187 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
33188
33189 2009-12-21 Carles Pina i Estany <carles@pina.cat>
33190
33191 * commands/acpi.c (options): Fix capitalizations and/or full stops.
33192 (GRUB_MOD_INIT): Likewise.
33193 * commands/boot.c (GRUB_MOD_INIT): Likewise.
33194 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
33195 * commands/echo.c (options): Fix capitalizations and/or full stops.
33196 * commands/efi/loadbios.c (enable_rom_area): Likewise.
33197 (enable_rom_area): Likewise.
33198 (GRUB_MOD_INIT): Likewise.
33199 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
33200 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
33201 * commands/handler.c (GRUB_MOD_INIT): Likewise.
33202 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
33203 * commands/hexdump.c (options): Likewise.
33204 * commands/i386/cpuid.c (options): Likewise.
33205 (GRUB_MOD_INIT): Likewise.
33206 * commands/i386/pc/drivemap.c (options): Likewise.
33207 (GRUB_MOD_INIT): Likewise.
33208 * commands/i386/pc/halt (options): Likewise.
33209 (GRUB_MOD_INIT): Likewise.
33210 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
33211 * commands/i386/pc/pxecmd.c (options): Likewise.
33212 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
33213 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
33214 * commands/keystatus.c (options): Likewise.
33215 (GRUB_MOD_INIT): Likewise.
33216 * commands/loadenv.c (options): Likewise.
33217 * commands/ls.c (options): Likewise.
33218 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
33219 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
33220 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
33221 * commands/parttool.c (helpmsg): Likewise.
33222 * commands/probe.c (options): Likewise.
33223 * commands/read.c (GRUB_MOD_INIT): Likewise.
33224 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
33225 * commands/search.c (options): Likewise.
33226 * commands/sleep.c (options): Likewise.
33227 * commands/test.c (GRUB_MOD_INIT): Likewise.
33228 * commands/true.c (GRUB_MOD_INIT): Likewise.
33229 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
33230 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
33231 * lib/arg.c (help_options): Likewise.
33232 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
33233 `$(XGETTEXT)'.
33234 * po/POTFILES: Add `commands/loadenv.c'.
33235
33236 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
33237
33238 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
33239 instead of specifying them explicit.
33240
33241 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33242
33243 * NEWS: Add grub-probe support for GNU/Hurd.
33244
33245 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33246
33247 * NEWS: gettext was added after 1.97.
33248
33249 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33250
33251 * util/mkisofs/msdos_partition.h: New file (based on
33252 include/grub/msdos_partition.h).
33253 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33254 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33255 (ld_options, main): Recognize --protective-msdos-label.
33256 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33257 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33258 (padblock_write): If `use_protective_msdos_label' is set, patch a
33259 protective DOS-style label in the output image.
33260
33261 * util/grub-mkrescue.in: Use --protective-msdos-label.
33262
33263 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33264
33265 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33266 boot.
33267
33268 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33269
33270 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33271 variables.
33272 (ld_options, main): Recognize `--embedded-boot'.
33273 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33274 declarations.
33275 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33276 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33277 (padblock_write): Likewise. Rewrite to support embedded boot image.
33278
33279 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33280 for BIOS-based disk boot instead of only ElTorito.
33281
33282 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33283
33284 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33285 build (not needed for bootstrap).
33286
33287 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33288
33289 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33290 from i386-pc build (not needed for bootstrap).
33291 Rewrite a pair of strings.
33292
33293 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33294
33295 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33296
33297 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
33298
33299 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33300
33301 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33302
33303 * kern/env.c (grub_env_context_open): Mark exported variable for
33304 reexport.
33305
33306 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33307
33308 * kern/env.c (grub_env_export): Create nonexistent variables before
33309 exporting.
33310
33311 2009-12-20 Carles Pina i Estany <carles@pina.cat>
33312
33313 * include/grub/auth.h: Include `<grub/i18n.h>'.
33314 (GRUB_GET_PASSWORD): Gettextizze string.
33315 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33316 menu_text.c.
33317 (grub_utf8_to_ucs4_alloc): Fix indentation.
33318 (grub_print_ucs4): Likewise.
33319 (grub_getstringwidth): Likewise.
33320 (print_message_indented): New declaration.
33321 * normal/auth.c: Include `<grub/i18n.h>'.
33322 (grub_auth_check_authentication): Gettexttize string.
33323 * normal/cmdline.c: Include `<grub/i18n.h>'.
33324 (grub_cmdline_get): Gettextizze.
33325 * normal/color.c: Include `<grub/i18n.h>'.
33326 (grub_parse_color_name_pair): Gettexttize strings.
33327 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33328 string (use `print_message_indented').
33329 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33330 `include/grub/normal.h'.
33331 (print_message_indented): Renamed to ...
33332 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33333 used in normal/main.c).
33334 (print_message): Use `grub_print_message_indented' instead of
33335 `print_message_indented'.
33336 (print_timeout): Likewise.
33337 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33338 (grub_normal_print_device_info): Gettexttize strings.
33339 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33340
33341 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33342
33343 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33344 of arguments. Return number of tokens and not arguments. All users
33345 updated.
33346
33347 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33348
33349 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33350 non-MSDOS paritions.
33351
33352 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33353
33354 * include/grub/types.h (UNUSED): Removed since it conflicts with
33355 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33356 Reported by Grégoire Sutre.
33357
33358 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33359
33360 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33361 (grub_print_ucs4_alloc): Likewise.
33362 (grub_getstringwidth): Likewise.
33363 * normal/main.c (grub_normal_init_page): Gettextize version string.
33364 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33365 (getstringwidth): Renamed to ...
33366 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33367 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33368 (grub_print_ucs4): Remove `static' qualifer (now used in
33369 normal/main.c).
33370 * po/POTFILES: Add normal/main.c.
33371
33372 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33373
33374 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33375 (print_message_indented): Add `margin_left' and `margin_right'
33376 parameters.
33377 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33378 strings.
33379 (print_timeout): Use `print_message_indented' to print the message.
33380 Deletes `second_stage' parameter.
33381 (run_menu): Update `print_timeout' calls.
33382
33383 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33384
33385 Fix console palette on OpenFirmware.
33386
33387 * term/ieee1275/ofconsole.c (MAX): Removed.
33388 (colors): Redone based on VGA palette.
33389 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33390 colors are supported.
33391 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33392
33393 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33394
33395 Fix potential EfiEmu double prepare.
33396
33397 * efiemu/main.c (prepared): New variable
33398 (grub_efiemu_unload): Set prepare to '0'.
33399 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33400
33401 set_virtual_address_map support.
33402
33403 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33404 prototype.
33405 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33406 prototype.
33407 (grub_efiemu_crc32): Likewise.
33408 (grub_efiemu_crc64): Likewise.
33409 (grub_efiemu_set_virtual_address_map): Likewise.
33410 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33411 New definition.
33412 (grub_autoefi_set_virtual_address_map): Likewise.
33413 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33414 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33415 Restructure flow to accomodate it.
33416 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33417 (grub_efiemu_crc): Recompute CRC32.
33418 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33419 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33420 * efiemu/symbols.c (relocated_handle): New variable.
33421 (grub_efiemu_free_syms): Free relocated_handle.
33422 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33423 (grub_efiemu_write_sym_markers): New function.
33424 (grub_efiemu_set_virtual_address_map): Likewise.
33425
33426 Newer XNU parameters.
33427
33428 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33429 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33430 (grub_xnu_fill_devicetree): New prototype.
33431 (grub_xnu_heap_real_start): New variable.
33432 * loader/xnu.c (get_name_ptr): New function.
33433 (grub_xnu_load_driver): Fill namelen and name.
33434
33435 64-bit xnu support.
33436
33437 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33438 and 'loader/macho64.c'.
33439 * conf/i386-pc.rmk: Likewise.
33440 * conf/x86_64-efi.rmk: Likewise.
33441 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33442 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33443 * include/grub/macho.h (grub_macho_segment64): New structure.
33444 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33445 (grub_macho_size32): ... to this.
33446 (grub_macho32_get_entry_point): Renamed from ...
33447 (grub_macho_get_entry_point32): ... to this.
33448 (grub_macho_contains_macho64): New prototype.
33449 (grub_macho_size64): Likewise.
33450 (grub_macho_get_entry_point64): Likewise.
33451 (grub_macho32_load): Renamed from ...
33452 (grub_macho_load32): ... to this.
33453 (grub_macho32_filesize): Renamed from ...
33454 (grub_macho_filesize32): ... to this.
33455 (grub_macho32_readfile): Renamed from ...
33456 (grub_macho_readfile32): ... to this.
33457 (grub_macho_filesize64): New prototype.
33458 (grub_macho_readfile64): Likewise.
33459 (grub_macho_parse32): Likewise.
33460 (grub_macho_parse64): Likewise.
33461 * loader/macho.c: Split into ...
33462 * loader/machoXX.c: ... and this. Replace 32 with XX.
33463 * loader/macho32.c: New file.
33464 * loader/macho64.c: Likewise.
33465 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33466 (grub_cmd_xnu_kernel): Make 32-bit only.
33467 (grub_cmd_xnu_kernel64): New function.
33468 (grub_xnu_load_driver): Support Mach-O 64.
33469 (grub_cmd_xnu_mkext): Likewise.
33470 * util/grub.d/30_os-prober.in (osx_entry): New function.
33471 Generate entries for 64-bit boot too.
33472
33473 Eliminate ad-hoc tree format in XNU and EfiEmu.
33474
33475 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33476 * efiemu/pnvram.c: Rewritten to use environment variables.
33477 All users updated.
33478
33479 Inline utf16_to_utf8.
33480
33481 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33482 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33483 All users updated.
33484 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33485
33486 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33487 * commands/usbtest.c (grub_usb_get_string): ... move here.
33488 (usb_print_str): Fix error handling.
33489 * include/grub/usb.h (grub_usb_get_string): Remove.
33490
33491 UTF-8 to UTF-16 transformation.
33492
33493 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33494 (charset_mod_SOURCES): New variable.
33495 (charset_mod_CFLAGS): Likewise.
33496 (charset_mod_LDFLAGS): Likewise.
33497 * include/grub/utf.h: New file.
33498 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33499
33500 Support for device properties.
33501
33502 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33503 (grub_xnu_devprop_device_header): Likewise.
33504 (grub_xnu_devprop_device_descriptor): Likewise.
33505 (grub_xnu_devprop_add_device): New prototype.
33506 (grub_xnu_devprop_remove_device): Likewise.
33507 (grub_xnu_devprop_remove_property): Likewise.
33508 (grub_xnu_devprop_add_property_utf8): Likewise.
33509 (grub_xnu_devprop_add_property_utf16): Likewise.
33510 (grub_cpu_xnu_init): Likewise.
33511 (grub_cpu_xnu_fini): Likewise.
33512 (grub_cpu_xnu_unload): Likewise.
33513 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33514 (property_descriptor): Likewise.
33515 (devices): New variable.
33516 (grub_xnu_devprop_remove_property): New function.
33517 (grub_xnu_devprop_add_device): Likewise.
33518 (grub_xnu_devprop_remove_device): Likewise.
33519 (grub_xnu_devprop_add_property): Likewise.
33520 (grub_xnu_devprop_add_property_utf8): Likewise.
33521 (grub_xnu_devprop_add_property_utf16): Likewise.
33522 (hextoval): Likewise.
33523 (grub_cpu_xnu_fill_devprop): Likewise.
33524 (grub_cmd_devprop_load): Likewise.
33525 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33526 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33527 (cmd_devprop_load): New variable.
33528 (grub_cpu_xnu_init): New function.
33529 (grub_cpu_xnu_fini): Likewise.
33530 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33531 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33532 (grub_cmd_xnu_devtree): Likewise.
33533 (hextoval): New function.
33534 (unescape): Likewise.
33535 (grub_xnu_fill_devicetree): Likewise.
33536
33537 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33538 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33539
33540 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33541
33542 Workaround for broken ATI VBE.
33543
33544 * video/i386/pc/vbe.c (last_set_mode): New variable.
33545 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33546 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33547 (grub_video_vbe_setup): Don't check for reserved flag.
33548
33549 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
33550
33551 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33552 the `find' command.
33553
33554 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33555
33556 UUID support for HFS.
33557
33558 * fs/hfs.c (grub_hfs_uuid): New function.
33559 (grub_hfs_fs): New value .uuid.
33560 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33561
33562 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
33563
33564 Fix a segfault with parsing unknown long options.
33565
33566 * util/grub-mkrelpath.c (options): Zero terminate it.
33567
33568 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33569
33570 * include/grub/misc.h (grub_puts): New declaration.
33571 (grub_puts_): Likewise.
33572 * kern/misc.c (grub_puts): New definition.
33573 (grub_puts_): Likewise.
33574
33575 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33576
33577 * util/grub-probe.c (probe): Improve error message.
33578
33579 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33580
33581 * loader/i386/multiboot_elfxx.c
33582 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33583 initialization.
33584
33585 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33586
33587 Relocator framework
33588
33589 * loader/i386/xnu_helper.S: Removed. All users updated.
33590 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33591 (relocator_mod_SOURCES): New variable.
33592 (relocator_mod_CFLAGS): Likewise.
33593 (relocator_mod_LDFLAGS): Likewise.
33594 (relocator_mod_ASFLAGS): Likewise.
33595 * conf/x86_64.rmk: Likewise.
33596 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33597 (grub_multiboot_payload_entry_offset): Likewise.
33598 (grub_multiboot_forward_relocator): Likewise.
33599 (grub_multiboot_forward_relocator_end): Likewise.
33600 (grub_multiboot_backward_relocator): Likewise.
33601 (grub_multiboot_backward_relocator_end): Likewise.
33602 (grub_multiboot_payload_eip): New variable.
33603 (grub_multiboot_payload_orig): Likewise.
33604 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33605 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33606 * include/grub/i386/memory.h
33607 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33608 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33609 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33610 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33611 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33612 * include/grub/i386/relocator.h: New file.
33613 * include/grub/x86_64/relocator.h: Likewise.
33614 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33615 (XNU_RELOCATOR): New macro.
33616 (grub_xnu_launcher_start): Remove.
33617 (grub_xnu_launcher_end): Likewise.
33618 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33619 (grub_xnu_heap_real_start): Remove.
33620 (grub_xnu_heap_start): Change to void *. All users updated.
33621 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33622 * lib/i386/relocator.c: New file.
33623 * lib/i386/relocator_asm.S: Likewise.
33624 * lib/i386/relocator_backward.S: Likewise.
33625 * lib/mips/relocator.c: Likewise.
33626 * lib/mips/relocator_asm.S: Likewise.
33627 * lib/relocator.c: Likewise.
33628 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33629 (entry): Removed.
33630 (playground): Likewise.
33631 (grub_multiboot_payload_orig): New variable.
33632 (grub_multiboot_payload_dest): Likewise.
33633 (grub_multiboot_payload_size): Likewise.
33634 (grub_multiboot_payload_eip): Likewise.
33635 (grub_multiboot_payload_esp): Likewise.
33636 (grub_multiboot_boot): Use grub_relocator32_boot.
33637 (grub_multiboot_unload): Free relocators.
33638 (grub_multiboot): Setup stack. Use relocators.
33639 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33640 (grub_multiboot_load_elfXX): Use relocators.
33641 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33642 (grub_multiboot_payload_size): Likewise.
33643 (grub_multiboot_payload_dest): Likewise.
33644 (grub_multiboot_payload_entry_offset): Likewise.
33645 (grub_multiboot_forward_relocator): Likewise.
33646 (grub_multiboot_backward_relocator): Likewise.
33647 (grub_multiboot_real_boot): Likewise.
33648 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33649 (grub_xnu_entry_point): Likewise.
33650 (grub_xnu_arg1): Likewise.
33651 (grub_xnu_stack): Likewise.
33652 (grub_xnu_launch): Removed.
33653 (grub_xnu_boot_resume): New function.
33654 (grub_xnu_boot): Use relocators.
33655 * loader/i386/xnu_helper.S: Removed.
33656 * loader/xnu.c (grub_xnu_heap_start): New variable.
33657 (grub_xnu_heap_size): Likewise.
33658 (grub_xnu_heap_malloc): Use relocators.
33659 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33660
33661 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33662
33663 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33664 anything.
33665
33666 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33667
33668 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33669 GRUB_ERR_NONE before calling grub_env_set.
33670
33671 2009-12-12 Robert Millan <rmh@aybabtu.com>
33672
33673 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33674 * genmk.rb (video): New variable.
33675 (CLEANFILES, VIDEOFILES): Add #{video}.
33676 (#{video}): New target rule.
33677 * genvideolist.sh: New file.
33678 * Makefile.in (pkglib_DATA): Add video.lst.
33679 (video.lst): New target rule.
33680 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33681 `video.lst'.
33682 * util/grub.d/30_os-prober.in: Replace `vbe' with
33683 ${GRUB_VIDEO_BACKEND}.
33684
33685 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33686
33687 * THANKS: Add David Miller.
33688
33689 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33690
33691 libpciaccess support.
33692
33693 * Makefile.in (LIBPCIACCESS): New variable.
33694 (enable_grub_emu_pci): Likewise.
33695 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33696 util/pci.c and commands/lspci.c.
33697 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33698 * configure.ac (grub-emu-pci): New option.
33699 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33700 (grub_pci_device_unmap_range): Likewise.
33701 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33702 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33703 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33704 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33705 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33706 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33707 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33708 * include/grub/pciutils.h: New file.
33709 * util/pci.c: Likewise.
33710
33711 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
33712
33713 * util/misc.c: Don't include <errno.h> twice.
33714
33715 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
33716
33717 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33718 name in an error message.
33719 (grub_biosdisk_rw): Likewise.
33720
33721 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33722
33723 Eliminate NTFS 4Gib barrier.
33724
33725 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33726 (read_run_data): Likewise.
33727 (grub_ntfs_read_run_list): Likewise.
33728 (grub_ntfs_read_block): Likewise.
33729 (grub_ntfs_iterate_dir): Likewise.
33730 (read_mft): Likewise.
33731 (read_data): Likewise.
33732 Use COM_LOG_LEN.
33733 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33734 to avoid 64-bit division
33735 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33736 (grub_ntfs_rlst): Use grub_disk_addr_t.
33737
33738 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33739
33740 Eliminate grub-fstest 4Gib barrier.
33741
33742 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33743 (read_file): Fix error reporting.
33744
33745 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33746
33747 Eliminate hexdump 4Gib barrier.
33748
33749 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33750 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33751
33752 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33753
33754 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33755 Fixes amarsh bug.
33756
33757 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33758
33759 Remove miscellaneous files in distclean target.
33760
33761 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33762
33763 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
33764
33765 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33766 if they're already set. This resolves the conflict between my
33767 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33768 fixing the --grub-probe option again.
33769 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33770 change on 2009-10-06, so that we now once again source
33771 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33772
33773 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33774
33775 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33776 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33777 `util/devicemap.c'.
33778
33779 2009-12-08 Carles Pina i Estany <carles@pina.cat>
33780
33781 * include/grub/misc.h (grub_printf_): New declaration.
33782 * kern/misc.c (grub_printf_): New definition.
33783 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33784 instead of `grub_printf' and `_'.
33785 * normal/menu_entry.c (store_completion): Likewise.
33786 (run): Likewise.
33787 (grub_menu_entry_run): Likewise.
33788 * normal/menu_text.c (grub_wait_after_message): Likewise.
33789 (notify_booting): Likewise.
33790 (notify_fallback): Likewise.
33791 (notify_execution_failure): Likewise.
33792
33793 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
33794
33795 * configure.ac: Check for vasprintf.
33796 * util/misc.c (asprintf): Move allocation from here ...
33797 (vasprintf): ... to here. New function.
33798 (xasprintf): New function.
33799 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33800 prototypes.
33801 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33802 * util/grub-mkfont.c (write_font): Likewise.
33803 * util/grub-probe.c (probe): Likewise.
33804 * util/hostdisk.c (make_device_name): Likewise.
33805
33806 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
33807
33808 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33809 anything even prefixed with 'cdrom' as a cdrom.
33810
33811 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
33812
33813 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33814 mount points.
33815
33816 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33817
33818 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33819 grub_gettext_msg_list.
33820 (grub_gettext_gettranslation_from_position): Return const char *
33821 and not char *.
33822 (grub_gettext_translate): Add the translated strings into a list,
33823 returns from the list if existing there.
33824 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33825 (grub_gettext_delete_list): Delete the list.
33826 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33827 lang environment variable is changed.
33828 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33829
33830 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33831
33832 Rename kernel.mod to kernel.img.
33833
33834 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33835 (kernel_mod_EXPORTS): Rename to ...
33836 (kernel_img_EXPORTS): ... this.
33837 (kernel_mod_SOURCES): Rename to ...
33838 (kernel_img_SOURCES): ... this.
33839 (kernel_mod_HEADERS): Rename to ...
33840 (kernel_img_HEADERS): ... this. All users updated.
33841 (kernel_mod_CFLAGS): Rename to ...
33842 (kernel_img_CFLAGS): ... this.
33843 (kernel_mod_ASFLAGS): Rename to ...
33844 (kernel_img_ASFLAGS): ... this.
33845 (kernel_mod_LDFLAGS): Rename to ...
33846 (kernel_img_LDFLAGS): ... this.
33847 * conf/x86_64-efi.rmk: Likewise.
33848 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33849 (read_kernel_image): ... this. All users updated.
33850 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33851
33852 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33853
33854 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33855 (print_spaces): New function.
33856 (grub_print_ucs4): New function.
33857 (getstringwidth): New function.
33858 (print_message_indented): New function.
33859 (print_message): Gettexttize strings using print_message_indented.
33860 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33861 width.
33862 (get_entry_number): Gettextize and uses dynamic terminal width.
33863 (notify_booting, notify_fallback, notify_execution_failure):
33864 Gettextize.
33865 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33866 string.
33867 (run): Likewise.
33868 (grub_menu_entry_run): Likewise.
33869 * PO/POTFILES: Add normal/menu_entry.c.
33870
33871 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33872
33873 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33874
33875 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33876
33877 * util/grub-install.in: Install gettext .mo files.
33878 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33879
33880 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33881
33882 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33883 grub_dprintf.
33884
33885 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33886
33887 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33888 non-firmware-dependant one in realmode.S takes precedence.
33889
33890 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33891
33892 * commands/halt.c: Replace misc arch-specific headers with
33893 `<grub/misc.h>'.
33894 * commands/reboot.c: Likewise.
33895 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33896 `<grub/misc.h>'.
33897 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33898 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33899 (kernel_img_SOURCES): ... to here.
33900
33901 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33902 * include/grub/i386/pc/init.h: Likewise.
33903 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33904 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33905
33906 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33907
33908 * include/grub/i386/halt.h: Remove.
33909 * include/grub/i386/reboot.h: Likewise.
33910
33911 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33912
33913 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
33914
33915 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33916 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33917 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33918 "progname.h"
33919 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33920 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33921 (usage): Add missing comma in printf.
33922
33923 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33924
33925 Use the same reboot approach on i386 coreboot and qemu as we do on
33926 BIOS.
33927
33928 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33929 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33930 * kern/i386/reboot.c: Remove.
33931 * include/grub/i386/reboot.h (grub_reboot): Export function.
33932 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33933 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33934 0xf000:0xfff0 instead of 0xffff:0x0000.
33935 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33936 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33937
33938 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33939
33940 Fix $srcdir != $objdir build.
33941
33942 * Makefile.in (po/%.po): Rewrite as ...
33943 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33944
33945 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33946
33947 Fix GNU/Hurd grub-install crash.
33948 * util/grub-probe.c (probe): Try to access `path' only when it is not
33949 NULL.
33950
33951 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33952
33953 Correct module naming.
33954
33955 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33956 (GRUB_MOD_INIT(efi_uga)): ... to this
33957 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33958 (GRUB_MOD_FINI(efi_uga)): ... to this
33959 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33960 (GRUB_MOD_INIT(efi_gop)): ... to this
33961 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33962 (GRUB_MOD_FINI(efi_gop)): ... to this
33963
33964 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33965
33966 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33967 translatable.
33968 (usage): Translate `arg' strings using gettext().
33969 Thanks to Jordi Mallach for the suggestion.
33970
33971 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33972
33973 GOP support. Based on patch from Bean
33974 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33975
33976 * video/efi_gop.c: New file.
33977 * include/grub/efi/graphics_output.h: Likewise.
33978 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33979 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33980 variables.
33981 * conf/x86_64-efi.rmk: Likewise.
33982
33983 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33984
33985 Rename efi_fb to efi_uga.
33986
33987 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33988 'efi_uga.mod'.
33989 (efi_fb_mod_SOURCES): Rename this ...
33990 (efi_uga_mod_SOURCES): ... to this.
33991 (efi_fb_mod_CFLAGS): Rename this ...
33992 (efi_uga_mod_CFLAGS): ... to this.
33993 (efi_fb_mod_LDFLAGS): Rename this ...
33994 (efi_uga_mod_LDFLAGS): ... to this.
33995 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33996 'efi_uga.mod'.
33997 (efi_fb_mod_SOURCES): Rename this ...
33998 (efi_uga_mod_SOURCES): ... to this.
33999 (efi_fb_mod_CFLAGS): Rename this ...
34000 (efi_uga_mod_CFLAGS): ... to this.
34001 (efi_fb_mod_LDFLAGS): Rename this ...
34002 (efi_uga_mod_LDFLAGS): ... to this.
34003 * video/efi_fb.c: Move this ...
34004 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
34005
34006 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34007
34008 * po/README: New file. Explain our PO file workflow.
34009
34010 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34011
34012 * po/ChangeLog: Remove. Move relevant entries back to ...
34013 * ChangeLog: ... here.
34014 * po/ca.po: Remove (now handled by TLP).
34015 * po/id.po: Likewise.
34016 * po/zh_CN.po: Likewise.
34017 * Makefile.in (LINGUAS): Initialize in a way that supports
34018 empty set.
34019
34020 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34021
34022 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
34023 reliing on po/LINGUAS.
34024 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
34025 (po/%.po): ... this.
34026
34027 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
34028
34029 * util/i386/efi/grub-mkimage.c: Include "progname.h".
34030 (main): Use `program_name' instead of nonexistent `progname'.
34031
34032 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
34033
34034 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34035 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
34036
34037 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
34038
34039 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
34040 commit.
34041 * conf/i386-efi.rmk: Likewise.
34042 * conf/i386-ieee1275.rmk: Likewise.
34043 * conf/powerpc-ieee1275.rmk: Likewise.
34044 * conf/sparc64-ieee1275.rmk: Likewise.
34045 * conf/x86_64-efi.rmk: Likewise.
34046
34047 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
34048
34049 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
34050
34051 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
34052
34053 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
34054
34055 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
34056
34057 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
34058 (grub_mkdevicemap_SOURCES): New variable.
34059 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
34060 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
34061 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
34062 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
34063 (grub_mkdevicemap_SOURCES): Remove.
34064 * conf/i386-efi.rmk: Likewise.
34065 * conf/i386-ieee1275.rmk: Likewise.
34066 * conf/i386-pc.rmk: Likewise.
34067 * conf/powerpc-ieee1275.rmk: Likewise.
34068 * conf/sparc64-ieee1275.rmk: Likewise.
34069 * conf/x86_64-efi.rmk: Likewise.
34070 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
34071 (usage): Fix strings to use `program_name'.
34072 (main): Initialize gettext.
34073 * util/grub-editenv.c: Likewise.
34074 * util/grub-emu.c: Likewise.
34075 * util/grub-fstest.c: Likewise.
34076 * util/grub-mkdevicemap.c: Likewise.
34077 * util/grub-mkfont.c: Likewise.
34078 * util/grub-mkrelpath.c: Likewise.
34079 * util/grub-pe2elf.c: Likewise.
34080 * util/grub-probe.c: Likewise.
34081 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
34082 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
34083 * util/sparc64/ieee1275/grub-setup.c: Likewise.
34084
34085 * util/misc.c: Include `"progname.h"'.
34086 (progname): Remove variable.
34087 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
34088
34089 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
34090
34091 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
34092 printf and print a newline after the menuentry header line.
34093 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34094
34095 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
34096
34097 autoconf >= 2.60 support $(localedir).
34098
34099 * INSTALL: Note that autoconf 2.60 is required.
34100 * configure.ac (AC_PREREQ): Bump to 2.60.
34101 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
34102 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
34103
34104 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
34105
34106 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
34107 aclocal is run.
34108
34109 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34110
34111 * normal/main.c (grub_normal_read_line): Fix off-by-one
34112 buffer overflow.
34113
34114 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34115
34116 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
34117 "parser.grub" in grub_command_execute() call.
34118
34119 2009-11-24 Carles Pina i Estany <carles@pina.cat>
34120
34121 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
34122 * conf/i386-efi.rmk: Likewise.
34123 * conf/i386-ieee1275.rmk: Likewise.
34124 * conf/i386-pc.rmk: Likewise.
34125 * conf/powerpc-ieee1275.rmk: Likewise.
34126 * conf/sparc64-ieee1275.rmk: Likewise.
34127 * conf/x86_64-efi.rmk: Likewise.
34128 * gettext/gettex.c: Include <grub/i18n.h>.
34129 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
34130 here ...
34131 * include/grub/i18n.h: ... to here
34132 * include/grub/i18n.h: ... to here.
34133 * kern/misc.c: Include <grub/i18n.h>
34134 (grub_gettext_dummy): Move above user.
34135
34136 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34137
34138 * util/Makefile.in (install-local): Convert a `for' into a normal
34139 shell expansion.
34140
34141 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
34142
34143 * autogen.sh: Add automake call.
34144 * config.guess: Remove.
34145 * config.sub: Likewise.
34146 * install-sh: Likewise.
34147
34148 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34149
34150 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
34151
34152 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34153
34154 * util/Makefile.in (install-local): Convert a make `$(foreach)'
34155 function to a normal shell `for'.
34156
34157 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34158
34159 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34160
34161 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34162
34163 * util/grub-mkrelpath.c: New file.
34164 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
34165 (grub_mkrelpath_SOURCES): New variable.
34166 * include/grub/util/misc.h: New function prototype.
34167 * util/misc.c (make_system_path_relative_to_its_root): New function.
34168
34169 * util/grub-mkconfig_lib.in (bindir): New variable.
34170 (grub_mkrelpath): Likewise.
34171 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
34172
34173 * util/probe.c (probe): Make the file path relative to its root.
34174 Change a info message to use the GRUB path. Enable again the
34175 check if we can read the file with GRUB facilities.
34176
34177 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
34178 to its root.
34179
34180 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34181
34182 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
34183 platform.
34184
34185 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34186
34187 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
34188 strncmp().
34189
34190 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34191
34192 * util/getroot.c (grub_util_is_dmraid): New function.
34193 (grub_util_get_dev_abstraction): Treat dmraid and multipath
34194 devices as normal ones, not as LVM.
34195
34196 2009-11-23 Carles Pina i Estany <carles@pina.cat>
34197
34198 * conf/common.rmk: Add grub-gettext_lib target and updates
34199 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
34200 LDFLAGS.
34201 * gettext/gettext.c: New file. (Reads mo files).
34202 * include/grub/file.h (grub_file_pread): New prototype.
34203 * include/grub/i18n.h (_): New prototype.
34204 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
34205 prototypes.
34206 * kern/misc.c (grub_gettext_dummy): New function.
34207 * normal/menu_text.c: Include <grub/i18n.h>.
34208 * normal/menu_text.c (print_timeout): Gettexttize string.
34209 * normal/menu_text.c (print_message): Gettexttize string.
34210 * po/POTFILES: Add `normal/menu_text.c'.
34211 * po/ca.po: Add new translations.
34212 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34213 gettext module and defines locale_dir and lang in grub.cfg.
34214 * NEWS: Add gettext support.
34215
34216 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34217
34218 * util/hostdisk.c: Include `<grub/i18n.h>'.
34219 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
34220 (make_device_name): Rewrite using asprintf.
34221 (convert_system_partition_to_system_disk): Replace 0 with NULL.
34222 (find_system_device): If a device is not found, generate one just
34223 by reusing the OS path name.
34224 (read_device_map): Make it permissible for device.map not to exist.
34225
34226 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34227
34228 * script/sh/execute.c: Move from here ...
34229 * script/execute.c: ... to here. Update all users.
34230 * script/sh/function.c: Move from here ...
34231 * script/function.c: ... to here. Update all users.
34232 * script/sh/lexer.c: Move from here ...
34233 * script/lexer.c: ... to here. Update all users.
34234 * script/sh/main.c: Move from here ...
34235 * script/main.c: ... to here. Update all users.
34236 * script/sh/parser.y: Move from here ...
34237 * script/parser.y: ... to here. Update all users.
34238 * script/sh/script.c: Move from here ...
34239 * script/script.c: ... to here. Update all users.
34240
34241 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34242
34243 * configure.ac: Detect all `emu' platforms. Define
34244 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
34245 --enable-grub-emu logic. Disable include/grub/machine
34246 symlink on `emu' platforms.
34247
34248 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34249 * gensymlist.sh.in: Likewise.
34250
34251 * include/grub/i386/coreboot/machine.h: Remove file.
34252 * include/grub/i386/efi/machine.h: Likewise.
34253 * include/grub/i386/ieee1275/machine.h: Likewise.
34254 * include/grub/i386/pc/machine.h: Likewise.
34255 * include/grub/i386/qemu/machine.h: Likewise.
34256 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34257 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34258 * include/grub/x86_64/efi/machine.h: Likewise.
34259
34260 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34261 * commands/halt.c: Likewise.
34262 * commands/reboot.c: Likewise.
34263 * include/grub/autoefi.h: Likewise.
34264 * include/grub/i386/at_keyboard.h: Likewise.
34265 * include/grub/i386/kernel.h: Likewise.
34266 * include/grub/i386/loader.h: Likewise.
34267 * include/grub/i386/pc/memory.h: Likewise.
34268 * kern/dl.c: Likewise.
34269 * kern/i386/coreboot/init.c: Likewise.
34270 * loader/i386/bsd.c: Likewise.
34271 * loader/i386/linux.c: Likewise.
34272 * loader/multiboot_loader.c: Likewise.
34273 * term/i386/pc/serial.c: Likewise.
34274 * term/usb_keyboard.c: Likewise.
34275
34276 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34277 `<grub/machine/machine.h>'
34278 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34279 * util/misc.c: Remove `<grub/machine/machine.h>' and
34280 `<grub/machine/time.h>'.
34281
34282 * Makefile.in (enable_grub_emu): Remove variable.
34283 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34284
34285 * conf/any-emu.rmk: New file.
34286 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34287 (grub_emu_init.c): Move from here ...
34288 * conf/any-emu.rmk: ... to here.
34289
34290 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34291 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34292 * conf/any-emu.rmk: ... to here.
34293
34294 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34295
34296 * include/grub/parser.h (grub_parser_register): Document need
34297 of `name' parameter.
34298 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34299 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34300 "sh" to "grub".
34301
34302 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34303
34304 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34305 `$(XGETTEXT)'.
34306 * include/grub/i18n.h (N_): New macro.
34307 * util/mkisofs/mkisofs.h: Likewise.
34308 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34309 around N_().
34310 (usage): Use gettext() to translate help strings when printing them.
34311
34312 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34313
34314 Based on patch from Bean
34315 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34316
34317 * video/efi_fb.c: New file.
34318 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34319 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34320 variables.
34321 * conf/x86_64-efi.rmk: Likewise.
34322
34323 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34324
34325 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34326 * util/i386/pc/grub-setup.c: Likewise.
34327
34328 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34329
34330 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34331 <hurd/fs.h>
34332 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34333 file_get_storage_info to implement grub_guess_root_device.
34334
34335 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34336
34337 * Makefile.in (target): Use make's builtin $(shell) function
34338 instead of calling directly $(SHELL) to create the locale directories,
34339 inside the $(foreach) function.
34340
34341 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34342
34343 * util/grub-mkrescue.in: Print an error and usage if output option
34344 has not been given.
34345
34346 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34347
34348 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34349 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34350 root and /boot are on different devices.
34351
34352 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34353
34354 Fix build for srcdir != objdir.
34355
34356 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34357 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34358 $(srcdir).
34359 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34360 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34361 reference for input.
34362
34363 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34364
34365 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34366 or hardlinking it). Remove -J option, Joliet is not compatible with
34367 multiple source directories.
34368
34369 2009-11-21 Carles Pina i Estany <carles@pina.cat>
34370 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34371
34372 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34373 (process_input_dir): New function. Process an arbitrary input
34374 directory.
34375 Misc adjustments to support both "override mode" and system-wide mode.
34376
34377 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34378
34379 * configure.ac (UNIFONT_BDF): Rename to ...
34380 (FONT_SOURCE): ... this. Update all users.
34381
34382 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34383
34384 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34385 to the list of unifont files to look for.
34386
34387 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34388
34389 Patch from Joe Auricchio <jauricchio@gmail.com>
34390 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34391 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34392 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34393
34394 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34395
34396 * Makefile.in (install-local): Add a missing backslash.
34397
34398 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34399
34400 * include/grub/x86_64/io.h: New file.
34401
34402 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34403
34404 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34405 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34406 Include `"progname.h"'.
34407 (main): Initialize gettext.
34408 * util/i386/pc/grub-setup.c: Gettexttize.
34409 * util/i386/pc/grub-mkimage.c: Likewise.
34410
34411 * Makefile.in (po/*.po): Redefine as ...
34412 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34413
34414 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34415
34416 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34417
34418 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34419 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34420 (program_name): Remove.
34421 (main): Initialize gettext support.
34422 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34423 Include `<libintl.h>'.
34424 (_): New macro.
34425
34426 * util/mkisofs/eltorito.c: Gettexttize.
34427 * util/mkisofs/joliet.c: Likewise.
34428 * util/mkisofs/mkisofs.c: Likewise.
34429 * util/mkisofs/multi.c: Likewise.
34430 * util/mkisofs/rock.c: Likewise.
34431 * util/mkisofs/tree.c: Likewise.
34432 * util/mkisofs/write.c: Likewise.
34433
34434 * po/POTFILES: Update with new files.
34435
34436 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34437
34438 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34439 * util/mkisofs/iso9660.h: Likewise.
34440 * util/mkisofs/joliet.c: Likewise.
34441 * util/mkisofs/mkisofs.c: Likewise.
34442 * util/mkisofs/mkisofs.h: Likewise.
34443 * util/mkisofs/rock.c: Likewise.
34444 * util/mkisofs/tree.c: Likewise.
34445 * util/mkisofs/write.c: Likewise.
34446
34447 * util/mkisofs/eltorito.c (rcsid): Remove.
34448 * util/mkisofs/hash.c: Likewise.
34449 * util/mkisofs/joliet.c: Likewise.
34450 * util/mkisofs/name.c: Likewise.
34451 * util/mkisofs/rock.c: Likewise.
34452 * util/mkisofs/tree.c: Likewise.
34453 * util/mkisofs/write.c: Likewise.
34454
34455 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34456
34457 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34458 instead of static allocation.
34459 * util/mkisofs/match.h: Likewise.
34460
34461 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34462
34463 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34464 and `util/grub.d/10_linux.in'.
34465 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34466 translatable Shell files.
34467
34468 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34469
34470 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34471
34472 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34473
34474 * INSTALL: Document Automake is needed for bootstrap.
34475 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
34476 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34477 Add gettext initialization.
34478 (kfreebsd_entry): Make menuentry output translatable.
34479
34480 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34481
34482 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34483 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34484 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34485 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34486 (LINGUAS): Auto-generate using `po/LINGUAS'.
34487 * po/LINGUAS: New file.
34488
34489 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34490
34491 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34492 other things).
34493 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34494 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34495 bindtextdomain() calls for gettext initialization.
34496
34497 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34498
34499 * gnulib/progname.c: New file (imported from Gnulib).
34500 * gnulib/progname.h: Likewise.
34501 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34502 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34503 (usage): Replace `progname' with `program_name'.
34504 (main): Use set_program_name() for program name initialization.
34505
34506 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34507
34508 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34509 from here ...
34510 * Makefile.in (CPPFLAGS): ... to here.
34511
34512 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34513
34514 * aclocal.m4: Move from here ...
34515 * acinclude.m4: ... to here.
34516 * autogen.sh: Add call to `aclocal'.
34517 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34518
34519 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34520
34521 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34522 (LINGUAS): New variable.
34523 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34524 (install-local): Install MO files.
34525 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34526 * include/grub/i18n.h: New file.
34527 * po/POTFILES: New file.
34528 * po/ca.po: New file.
34529 * util/grub.d/10_linux.in (bindir): New variable.
34530 Add gettext initialization.
34531 (linux_entry): Make menuentry output translatable.
34532 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34533 (usage): Make --help output translatable.
34534 (main): Initialize gettext.
34535
34536 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34537
34538 * import_gcry.py: New file (written by Vladimir with minor
34539 adjustments).
34540 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34541 ciphers.
34542 * INSTALL: Document that Python is required for bootstrap.
34543
34544 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34545
34546 Import ciphers from libgcrypt 1.4.4.
34547
34548 * lib/libgcrypt/cipher/ChangeLog
34549 * lib/libgcrypt/cipher/ac.c
34550 * lib/libgcrypt/cipher/arcfour.c
34551 * lib/libgcrypt/cipher/bithelp.h
34552 * lib/libgcrypt/cipher/blowfish.c
34553 * lib/libgcrypt/cipher/camellia-glue.c
34554 * lib/libgcrypt/cipher/camellia.c
34555 * lib/libgcrypt/cipher/camellia.h
34556 * lib/libgcrypt/cipher/cast5.c
34557 * lib/libgcrypt/cipher/cipher.c
34558 * lib/libgcrypt/cipher/crc.c
34559 * lib/libgcrypt/cipher/des.c
34560 * lib/libgcrypt/cipher/dsa.c
34561 * lib/libgcrypt/cipher/ecc.c
34562 * lib/libgcrypt/cipher/elgamal.c
34563 * lib/libgcrypt/cipher/hash-common.c
34564 * lib/libgcrypt/cipher/hash-common.h
34565 * lib/libgcrypt/cipher/hmac-tests.c
34566 * lib/libgcrypt/cipher/md.c
34567 * lib/libgcrypt/cipher/md4.c
34568 * lib/libgcrypt/cipher/md5.c
34569 * lib/libgcrypt/cipher/primegen.c
34570 * lib/libgcrypt/cipher/pubkey.c
34571 * lib/libgcrypt/cipher/rfc2268.c
34572 * lib/libgcrypt/cipher/rijndael-tables.h
34573 * lib/libgcrypt/cipher/rijndael.c
34574 * lib/libgcrypt/cipher/rmd.h
34575 * lib/libgcrypt/cipher/rmd160.c
34576 * lib/libgcrypt/cipher/rsa.c
34577 * lib/libgcrypt/cipher/seed.c
34578 * lib/libgcrypt/cipher/serpent.c
34579 * lib/libgcrypt/cipher/sha1.c
34580 * lib/libgcrypt/cipher/sha256.c
34581 * lib/libgcrypt/cipher/sha512.c
34582 * lib/libgcrypt/cipher/tiger.c
34583 * lib/libgcrypt/cipher/twofish.c
34584 * lib/libgcrypt/cipher/whirlpool.c
34585
34586 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34587
34588 Fix build for systems without error().
34589
34590 * gnulib/error.c: New file (imported from Gnulib).
34591 * gnulib/error.h: Likewise.
34592 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34593 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34594 (this variable is now used by error()).
34595
34596 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34597
34598 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34599 instead of relying that char is signed.
34600
34601 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34602
34603 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34604 blocksize different from specified.
34605 (grub_pxefs_read): Likewise.
34606
34607 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34608
34609 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34610
34611 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34612 (grub_ata_readwrite): Likewise. Update 2 format strings.
34613 (grub_atapi_read): Likewise.
34614
34615 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34616 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34617 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34618 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34619 (ata_mod_LDFLAGS): Move from here ...
34620 * conf/i386.rmk: ... to here ...
34621 * conf/x86_64-efi.rmk: ... and here.
34622 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34623 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34624
34625 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34626
34627 Relicense multiboot.h, with RMS' blessing.
34628
34629 * include/multiboot.h: Change to X11 license.
34630
34631 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34632
34633 Support --version in grub-mkisofs.
34634
34635 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34636 (OPTION_VERSION): New macro.
34637 (ld_options): Recognize --version.
34638 (usage): Move `program_name' from here ...
34639 (program_name): ... to here. Add `static' qualifier.
34640 (main): Recognize `OPTION_VERSION'.
34641
34642 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
34643
34644 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34645 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34646
34647 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34648
34649 Fix help2man generation for mkisofs.
34650
34651 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34652 (usage): Send output to stdout (rather than stderr).
34653
34654 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34655
34656 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34657 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34658 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34659 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34660 (bin_SCRIPTS): Add `grub-mkfloppy'.
34661 (grub_mkfloppy_SOURCES): New variable.
34662
34663 * util/grub-mkrescue.in: New file.
34664 * util/i386/pc/grub-mkfloppy.in: New file.
34665
34666 * util/i386/coreboot/grub-mkrescue.in: Remove.
34667 * util/i386/pc/grub-mkrescue.in: Remove.
34668
34669 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34670
34671 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34672 from here ...
34673 * include/multiboot.h (struct multiboot_header): ... to here. Update
34674 all users.
34675 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34676 from here ...
34677 * include/multiboot.h (struct multiboot_info): ... to here. Update
34678 all users.
34679 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34680 from here ...
34681 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34682 Update all users.
34683 * include/grub/multiboot.h (struct grub_mod_list): Move
34684 from here ...
34685 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34686 Update all users.
34687
34688 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34689
34690 * include/multiboot2.h (multiboot_word): Rename from this ...
34691 (multiboot2_word): ... to this. Update all users.
34692 (multiboot_header): Rename from this ...
34693 (multiboot2_header): ... to this. Update all users.
34694 (multiboot_tag_header): Rename from this ...
34695 (multiboot2_tag_header): ... to this. Update all users.
34696 (multiboot_tag_start): Rename from this ...
34697 (multiboot2_tag_start): ... to this. Update all users.
34698 (multiboot_tag_name): Rename from this ...
34699 (multiboot2_tag_name): ... to this. Update all users.
34700 (multiboot_tag_module): Rename from this ...
34701 (multiboot2_tag_module): ... to this. Update all users.
34702 (multiboot_tag_memory): Rename from this ...
34703 (multiboot2_tag_memory): ... to this. Update all users.
34704 (multiboot_tag_unused): Rename from this ...
34705 (multiboot2_tag_unused): ... to this. Update all users.
34706 (multiboot_tag_end): Rename from this ...
34707 (multiboot2_tag_end): ... to this. Update all users.
34708
34709 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34710
34711 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34712 this platform we should support Multiboot1 first.
34713
34714 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34715 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34716 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34717
34718 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34719
34720 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34721 of write calls (converting them to fwrite() if they aren't already).
34722 (get_torito_desc): Likewise.
34723 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34724
34725 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34726
34727 * util/i386/pc/grub-install.in: Move from here ...
34728 * util/grub-install.in: ... to here. Update all users.
34729
34730 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
34731
34732 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34733
34734 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34735
34736 Support for El Torito without floppy emulation.
34737
34738 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34739 (init_boot_catalog): Improve error handling.
34740 (get_torito_desc): Don't use floppy emulation unless requested by
34741 user. Patch boot information table when requested via
34742 `-boot-info-table'.
34743 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34744 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34745 (use_boot_info_table): New variables.
34746 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34747 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34748 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34749 `--eltorito-emul-floppy'.
34750 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34751 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34752 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34753 (use_boot_info_table, get_731): New prototypes.
34754 * util/mkisofs/write.c (get_731): New function.
34755
34756 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
34757
34758 Fix the generation of the man page.
34759
34760 * util/pc/i386/grub-install.in: Source
34761 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34762
34763 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34764
34765 Large file support for grub-mkisofs.
34766
34767 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34768 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34769 (session_start): Upgrade type to `uint64_t'. Update all users.
34770 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34771 (struct directory_entry): Upgrade type of `starting_block' and
34772 `size' to `uint64_t'. Update all users.
34773 (struct deferred): Remove unused structure.
34774 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34775 Update all users.
34776 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34777 file is larger than `UINT32_MAX'.
34778 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34779 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34780 return value.
34781 (struct deferred_write): Upgrade type of `extent' and `size' to
34782 `uint64_t'. Update all users.
34783 (last_extent_written): Upgrade type to `uint64_t'. Update all
34784 users.
34785 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34786 Update all users. Upgrade type of `remain' to `int64_t' and
34787 `use' to `size_t'. Use error() to handle fread() errors.
34788 (write_files): Rely on write_one_file() rather than calling
34789 xfwrite() directly.
34790
34791 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
34792
34793 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34794
34795 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34796
34797 * util/mkisofs/fnmatch.c: Remove.
34798 * util/mkisofs/getopt1.c: Likewise.
34799 * util/mkisofs/getopt.c: Likewise.
34800 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34801 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34802 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34803 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34804 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34805
34806 * configure.ac: Detect `mingw32msvc' host_os.
34807 Check for lstat(), getuid() and getgid().
34808
34809 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34810 instances of `u_char' with `uint8_t'.
34811
34812 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34813 [!HAVE_GETUID] (getuid): New function (stub).
34814 [!HAVE_GETGID] (getgid): Likewise.
34815 [!HAVE_LSTAT] (lstat): Likewise.
34816 [!S_IROTH] (S_IROTH): New macro (dummy).
34817 [!S_IRGRP] (S_IRGRP): Likewise.
34818
34819 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34820
34821 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34822 conditional expression).
34823
34824 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34825
34826 Import from Gnulib.
34827
34828 * gnulib/fnmatch.c: New file.
34829 * gnulib/fnmatch.h: Likewise.
34830 * gnulib/fnmatch_loop.c: Likewise.
34831 * gnulib/getopt.c: Likewise.
34832 * gnulib/getopt.h: Likewise.
34833 * gnulib/getopt1.c: Likewise.
34834 * gnulib/getopt_int.h: Likewise.
34835 * gnulib/gettext.h: Likewise.
34836
34837 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34838
34839 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34840 * normal/handler.c (read_handler_list): Likewise.
34841
34842 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34843
34844 Misc cleanup.
34845
34846 * kern/command.c (grub_register_command_prio): Use
34847 grub_zalloc() instead of explicitly zeroing data.
34848 * kern/list.c: Include `<grub/mm.h>'.
34849 (grub_named_list_find): Replace `0' with `NULL'.
34850 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34851 (fs_module_list): Change type to `grub_named_list_t'. Update all
34852 users.
34853 * normal/dyncmd.c (read_command_list): Add space between function
34854 call and parenthesis.
34855 * normal/handler.c (read_handler_list): Likewise.
34856
34857 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34858
34859 * normal/auth.c (punishment_delay): Moved from here ...
34860 (grub_auth_strcmp): ... to here (inside function).
34861
34862 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34863
34864 * include/grub/list.h (struct grub_named_list): Remove `const'
34865 qualifier from `name'.
34866 (struct grub_prio_list): Likewise.
34867
34868 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34869
34870 * normal/auth.c: Include `<grub/time.h>'.
34871 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34872
34873 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34874
34875 * normal/auth.c (punishment_delay): New variable.
34876 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34877 (grub_auth_check_authentication): Punish failed login attempts with
34878 an incremental (2^N) delay.
34879
34880 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34881
34882 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34883 path with $(srcdir).
34884
34885 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34886
34887 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34888
34889 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34890
34891 * util/i386/coreboot/grub-mkrescue.in: New file.
34892 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34893 variables.
34894
34895 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34896 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34897 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34898 requirements.
34899 * util/mkisofs/defaults.h: New file.
34900 * util/mkisofs/eltorito.c: Likewise.
34901 * util/mkisofs/exclude.h: Likewise.
34902 * util/mkisofs/fnmatch.c: Likewise.
34903 * util/mkisofs/getopt.c: Likewise.
34904 * util/mkisofs/getopt1.c: Likewise.
34905 * util/mkisofs/hash.c: Likewise.
34906 * util/mkisofs/include/fctldefs.h: Likewise.
34907 * util/mkisofs/include/mconfig.h: Likewise.
34908 * util/mkisofs/include/prototyp.h: Likewise.
34909 * util/mkisofs/include/statdefs.h: Likewise.
34910 * util/mkisofs/iso9660.h: Likewise.
34911 * util/mkisofs/joliet.c: Likewise.
34912 * util/mkisofs/match.c: Likewise.
34913 * util/mkisofs/match.h: Likewise.
34914 * util/mkisofs/mkisofs.c: Likewise.
34915 * util/mkisofs/mkisofs.h: Likewise.
34916 * util/mkisofs/multi.c: Likewise.
34917 * util/mkisofs/name.c: Likewise.
34918 * util/mkisofs/rock.c: Likewise.
34919 * util/mkisofs/tree.c: Likewise.
34920 * util/mkisofs/write.c: Likewise.
34921
34922 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34923
34924 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34925 being insecure.
34926
34927 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34928
34929 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34930 `grub-mkimage' (and use $0 when possible).
34931
34932 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34933
34934 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34935 error message for excessively large memory map.
34936
34937 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34938
34939 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34940 executable bit.
34941
34942 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34943
34944 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34945 message for coreboot users.
34946
34947 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34948
34949 Fix build with GNU gold.
34950
34951 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34952 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34953 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34954 link addresses.
34955 * aclocal.m4: Likewise.
34956
34957 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
34958
34959 * configure.ac (AC_PREREQ): Bump to 2.59d.
34960 * INSTALL: Make it more clear when Autoconf and Ruby are
34961 needed and when to run `./autogen.sh'.
34962
34963 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34964
34965 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34966 OSes.
34967
34968 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34969
34970 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34971
34972 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34973
34974 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34975 giving it to GNU Mach.
34976
34977 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34978
34979 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34980 GNU partition number to get internal GRUB partition number.
34981
34982 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34983
34984 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34985 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34986
34987 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34988
34989 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34990 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34991 case.
34992
34993 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
34994
34995 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34996
34997 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34998
34999 Fix build problem.
35000
35001 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
35002 `-isystem=$(srcdir)/include'.
35003
35004 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
35005
35006 * util/i386/pc/grub-install.in: Remove hint that device.map should be
35007 checked (grub-install doesn't currently rely on it).
35008
35009 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
35010
35011 Revert SVN r2660.
35012
35013 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
35014 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
35015 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
35016 * conf/i386-ieee1275.rmk: Likewise.
35017 * conf/i386-pc.rmk: Likewise.
35018 * conf/powerpc-ieee1275.rmk: Likewise.
35019 * conf/sparc64-ieee1275.rmk: Likewise.
35020 * conf/x86_64-efi.rmk: Likewise.
35021
35022 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35023
35024 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
35025
35026 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35027
35028 * include/grub/misc.h: Stop checking for APPLE_CC.
35029
35030 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35031
35032 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
35033 doesn't cause an infinite call loop.
35034
35035 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
35036
35037 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
35038 strings.
35039
35040 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35041
35042 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
35043 variable.
35044 * Makefile.in: Likewise.
35045
35046 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35047
35048 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
35049
35050 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35051
35052 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
35053
35054 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35055
35056 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
35057
35058 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35059
35060 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
35061 from here ...
35062 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
35063
35064 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35065
35066 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
35067 in $(MAKEINFO) invocation. This makes it clear in output that
35068 errors are being ignored.
35069
35070 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35071
35072 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
35073 from here ...
35074 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
35075 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
35076 * conf/i386-ieee1275.rmk: Likewise.
35077 * conf/i386-pc.rmk: Likewise.
35078 * conf/powerpc-ieee1275.rmk: Likewise.
35079 * conf/sparc64-ieee1275.rmk: Likewise.
35080 * conf/x86_64-efi.rmk: Likewise.
35081
35082 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
35083
35084 * util/grub-editenv.c (main): If only a command is given, use
35085 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
35086 (usage): FILENAME is now optional and has a default.
35087
35088 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
35089
35090 Improve grub-mkconfig performance when there are several menu
35091 entries on a single filesystem.
35092
35093 * util/grub.d/10_linux.in (linux_entry): Cache the output of
35094 prepare_grub_to_access_device.
35095 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
35096 * util/grub.d/30_os-prober.in: Likewise.
35097
35098 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35099
35100 * util/grub.d/10_freebsd.in: Remove.
35101 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
35102 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
35103
35104 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35105
35106 * docs/grub.cfg: Fix example usage of *BSD loaders.
35107
35108 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35109
35110 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
35111 grub_util_error() call.
35112
35113 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35114
35115 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
35116 `reserved_first_sector' member.
35117 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
35118 `reserved_first_sector' to 1.
35119 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
35120 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
35121 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
35122 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
35123 filesystems which begin at first sector.
35124 (options): New option --skip-fs-probe.
35125 (main): Handle --skip-fs-probe and pass it to setup().
35126
35127 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35128
35129 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
35130 (memset): Fix function prototype.
35131
35132 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35133 2009-10-25 Vasily Averin <vvs@parallels.com>
35134
35135 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
35136 `dirent.direntlen == 0'.
35137
35138 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35139
35140 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
35141 `cpio'.
35142 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
35143
35144 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35145
35146 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
35147 `__trampoline_setup' and `__ucmpdi2'.
35148 * include/grub/powerpc/libgcc.h: Only export symbols for functions
35149 that libgcc provides.
35150
35151 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35152
35153 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
35154 * include/grub/sparc64/libgcc.h (memset): Likewise.
35155 * include/grub/misc.h (memset, memcmp): New function prototypes.
35156
35157 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35158
35159 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
35160 `cpio'.
35161 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
35162
35163 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35164
35165 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
35166 * docs/grub.cfg: Compensate for recent change in multiboot
35167 loader (since 2009-08-14 it won't pass filename to payload).
35168 * util/grub.d/10_hurd.in: Likewise.
35169
35170 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
35171
35172 * config.guess: Update to latest version from config git
35173 repository.
35174 * config.sub: Likewise.
35175
35176 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
35177
35178 Fix build on sparc64.
35179
35180 * configure.ac: Perform checks for libgcc symbols before
35181 adding `-nostdlib' to LDFLAGS.
35182
35183 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35184
35185 Let user specify OpenBSD root device.
35186
35187 * loader/i386/bsd.c (openbsd_root): New variable.
35188 (openbsd_opts): New option 'root'.
35189 (OPENBSD_ROOT_ARG): New macro.
35190 (grub_openbsd_boot): Use 'openbsd_root'.
35191 (grub_cmd_openbsd): Fill 'openbsd_root'.
35192
35193 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35194
35195 * NEWS: Misc adjustments.
35196
35197 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35198
35199 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
35200
35201 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35202
35203 * configure.ac: Bump version to 1.97.
35204
35205 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
35206
35207 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
35208 -mno-3dnow on x86 architectures. Some toolchains enable these
35209 features by default, but they rely on registers that aren't enabled
35210 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
35211
35212 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
35213
35214 Make entry text a bit more readable.
35215
35216 * util/grub.d/10_linux.in: Add `with' before `Linux'.
35217
35218 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35219
35220 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
35221
35222 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35223
35224 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
35225 operations.
35226
35227 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35228
35229 * configure.ac: Add missing dollar.
35230
35231 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35232
35233 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
35234
35235 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
35236 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
35237 exports.
35238 * include/grub/sparc64/libgcc.h: Likewise. Use
35239 preprocessor conditionals.
35240
35241 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35242
35243 * conf/common.rmk (grub-dumpbios): Remove rule.
35244 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
35245 * util/grub-dumpbios.in: Remove file.
35246
35247 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35248
35249 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35250 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35251
35252 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35253 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35254 users.
35255
35256 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35257 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35258 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35259 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35260 users.
35261
35262 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35263
35264 * term/tparm.c: Switch to GPLv3.
35265
35266 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35267
35268 * include/grub/i386/cpuid.h: Add header protection.
35269
35270 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35271
35272 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35273
35274 * include/grub/i386/cpuid.h: New file.
35275 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35276 (has_longmode): Rename to ...
35277 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35278 `static' attribute.
35279 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35280 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35281 on a CPU that doesn't implement AMD64 instruction set.
35282
35283 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35284
35285 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35286 that version.texi is rebuilt on version number changes.
35287
35288 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35289
35290 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35291 Fixes bug #27602.
35292
35293 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35294
35295 * util/i386/pc/grub-install.in: Source
35296 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35297 that the --grub-probe option will work.
35298 * util/sparc64/ieee1275/grub-install.in: Likewise.
35299
35300 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35301
35302 * configure.ac: Bump version to 1.97~beta4.
35303
35304 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35305
35306 Resync grub-mkdevicemap in x86_64-efi.
35307
35308 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35309 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35310 `util/devicemap.c'.
35311
35312 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
35313
35314 * util/grub-editenv.c (create_envblk_file): Write new block with a
35315 .new suffix and then rename it into place, to ensure atomic
35316 creation.
35317
35318 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35319
35320 Do not automatically install headers.
35321
35322 * Makefile.in (include_DATA): Remove. Update all users.
35323
35324 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35325
35326 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35327 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35328
35329 * util/osdetect.lua: Remove.
35330 * script/lua/lauxlib.c: Likewise.
35331 * script/lua/ldebug.c: Likewise.
35332 * script/lua/grub_main.c: Likewise.
35333 * script/lua/lauxlib.h: Likewise.
35334 * script/lua/ldebug.h: Likewise.
35335 * script/lua/ltablib.c: Likewise.
35336 * script/lua/liolib.c: Likewise.
35337 * script/lua/lstrlib.c: Likewise.
35338 * script/lua/lualib.h: Likewise.
35339 * script/lua/ldo.c: Likewise.
35340 * script/lua/ldump.c: Likewise.
35341 * script/lua/ldo.h: Likewise.
35342 * script/lua/loslib.c: Likewise.
35343 * script/lua/lundump.c: Likewise.
35344 * script/lua/grub_lib.c: Likewise.
35345 * script/lua/ldblib.c: Likewise.
35346 * script/lua/lundump.h: Likewise.
35347 * script/lua/lmem.c: Likewise.
35348 * script/lua/grub_lib.h: Likewise.
35349 * script/lua/lmathlib.c: Likewise.
35350 * script/lua/lstate.c: Likewise.
35351 * script/lua/ltm.c: Likewise.
35352 * script/lua/lvm.c: Likewise.
35353 * script/lua/lmem.h: Likewise.
35354 * script/lua/lstate.h: Likewise.
35355 * script/lua/ltm.h: Likewise.
35356 * script/lua/ltable.c: Likewise.
35357 * script/lua/lvm.h: Likewise.
35358 * script/lua/llex.c: Likewise.
35359 * script/lua/lgc.c: Likewise.
35360 * script/lua/grub_lua.h: Likewise.
35361 * script/lua/loadlib.c: Likewise.
35362 * script/lua/lfunc.c: Likewise.
35363 * script/lua/lopcodes.c: Likewise.
35364 * script/lua/lparser.c: Likewise.
35365 * script/lua/ltable.h: Likewise.
35366 * script/lua/llex.h: Likewise.
35367 * script/lua/lgc.h: Likewise.
35368 * script/lua/lfunc.h: Likewise.
35369 * script/lua/lbaselib.c: Likewise.
35370 * script/lua/lopcodes.h: Likewise.
35371 * script/lua/lparser.h: Likewise.
35372 * script/lua/lzio.c: Likewise.
35373 * script/lua/linit.c: Likewise.
35374 * script/lua/lobject.c: Likewise.
35375 * script/lua/llimits.h: Likewise.
35376 * script/lua/lstring.c: Likewise.
35377 * script/lua/lzio.h: Likewise.
35378 * script/lua/lapi.c: Likewise.
35379 * script/lua/lcode.c: Likewise.
35380 * script/lua/lua.h: Likewise.
35381 * script/lua/lobject.h: Likewise.
35382 * script/lua/lstring.h: Likewise.
35383 * script/lua/lapi.h: Likewise.
35384 * script/lua/lcode.h: Likewise.
35385 * script/lua/luaconf.h: Likewise.
35386
35387 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
35388
35389 * docs/grub.texi (Command-line and menu entry commands): Document
35390 date and echo commands.
35391
35392 2009-09-24 Pavel Roskin <proski@gnu.org>
35393
35394 * include/grub/kernel.h (struct grub_module_header): Remove
35395 `grub_module_header_types'. Make `type' unsigned. Make `size'
35396 32-bit on all platforms.
35397 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35398 8-bit field. Use grub_host_to_target32() for `size'.
35399 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35400 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35401 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35402
35403 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35404
35405 Fix "lost keypress" bug in at_keyboard.
35406
35407 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35408 Checks for readyness of input buffer (without flushing it).
35409 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35410 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35411
35412 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35413
35414 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35415 size check within GRUB_MACHINE_PCBIOS section.
35416
35417 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35418
35419 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35420 return value.
35421 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35422 KEYBOARD_ISREADY check.
35423 (grub_at_keyboard_checkkey): Rename to ...
35424 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35425 Remove gratuitous cast.
35426
35427 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
35428
35429 * configure.ac: Call AC_PROG_MKDIR_P.
35430 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35431 version.texi in $(builddir) rather than $(srcdir).
35432 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35433 to makeinfo's @include search path.
35434
35435 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35436
35437 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35438
35439 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35440
35441 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35442 for `*.dpkg-new'.
35443
35444 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
35445
35446 Build info documentation. Some code borrowed from Automake.
35447
35448 * configure.ac: Check for makeinfo.
35449 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35450 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35451 docs/version.texi.
35452 (MOSTLYCLEANFILES): Add vti.tmp.
35453 (docs/version.texi, docs/stamp-vti): Update automatically.
35454 (docs/grub.info): Build info documentation. Use --force and ignore
35455 errors for now.
35456 (all-local): Add $(INFOS).
35457 (install-local): Install info files.
35458 (uninstall): Uninstall info files.
35459 * docs/version.texi: Remove from revision control. This file is
35460 automatically generated on build now.
35461 * gendistlist.sh: Add `*.info'.
35462
35463 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35464
35465 * kern/term.c: Fix indentation.
35466
35467 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35468
35469 * util/hostdisk.c: Fix a comment.
35470
35471 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35472
35473 Fix regression introduced in r2539.
35474
35475 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35476 to 0xA1.
35477
35478 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
35479
35480 * util/grub.d/30_os-prober.in: Don't throw away stderr from
35481 os-prober. Under normal operation, it does not print anything to
35482 stderr; if it does, we need to debug it, and throwing away stderr
35483 makes that excessively difficult.
35484
35485 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35486
35487 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35488
35489 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35490
35491 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35492 AC_LANG_PROGRAM from autoconf.
35493 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35494 prototypes (fixes warning).
35495
35496 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35497 `--disable-werror' was used.
35498
35499 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35500
35501 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35502 uninitialized `lastaddr'.
35503
35504 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35505
35506 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
35507
35508 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35509
35510 * commands/test.c (get_fileinfo): Return immediately if
35511 grub_fs_probe fails.
35512
35513 2009-09-14 José Martínez <xosemp@gmail.com>
35514
35515 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35516
35517 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35518
35519 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35520 output.
35521
35522 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35523
35524 * configure.ac: Remove --enable-grub-pe2elf. Only build
35525 grub-pe2elf when needed by the build system itself.
35526 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35527
35528 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35529
35530 * configure.ac: Bump version to 1.97~beta3.
35531 * docs/version.texi: Likewise.
35532
35533 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35534
35535 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35536 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35537 from here ...
35538 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35539 (grub_linux_setup_video): ... to here (with some adjustments).
35540
35541 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35542
35543 Fix memory corruption issue (spotted by Colin Watson).
35544
35545 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35546 causing returned size to be stored in an incorrect memory location.
35547 Fix use of uninitialized value when storing the returned size.
35548
35549 2009-09-12 Yves Blusseau <blusseau@zetam.org>
35550
35551 Change clean rules to properly remove files
35552
35553 * genmk.rb: add new clean rules
35554 * Makefile.in (clean): add the new targets
35555 (mostlyclean): likewise
35556
35557 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35558
35559 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35560 to grub_uint64_t.
35561 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35562 non-resident files.
35563
35564 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35565
35566 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35567 part of bug #27349.
35568
35569 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35570
35571 * util/grub-mkconfig.in: Make the created config mode 400 and
35572 print a warning if it fails.
35573
35574 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35575
35576 * util/grub.d/40_custom.in: Ask user to type custom entries below
35577 comment, rather than below 'exec tail' line.
35578
35579 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35580
35581 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35582 visible in grub.cfg.
35583
35584 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35585
35586 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35587 file.
35588
35589 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35590
35591 * docs/grub.cfg: Add an example menu entry for memtest86+.
35592
35593 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
35594
35595 * config.guess: Update to latest version from config git.
35596 * config.sub: Likewise.
35597
35598 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
35599
35600 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35601 unknown-command case. Fixes bug #27320.
35602
35603 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
35604
35605 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35606 `help' if the command exists.
35607
35608 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35609
35610 * INSTALL: Require GCC 4.1.3 or later.
35611
35612 2009-09-06 Yves Blusseau <blusseau@zetam.org>
35613
35614 * Makefile.in (RMKFILES): add i386-qemu.rmk
35615 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35616 $(srcdir)/stamp-h.in
35617
35618 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35619
35620 * util/grub-probe.c (probe): Comment out buggy codepath, which
35621 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35622 should be re-enabled after 1.97.
35623
35624 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
35625
35626 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35627 find searches for.
35628
35629 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35630
35631 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35632 unnecessary calls to grub_error.
35633
35634 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
35635
35636 * NEWS: Mention `keystatus' and Unicode fonts.
35637
35638 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35639
35640 * configure.ac: Bump version to 1.97~beta2.
35641 * docs/version.texi: Likewise.
35642
35643 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35644
35645 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35646 containing unwind information in some cases where it previously did
35647 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35648 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35649 discussion.
35650
35651 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35652
35653 Embedding loadenv module into grub-emu
35654
35655 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35656 commands/loadenv.c
35657 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35658 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35659 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35661 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35662 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35663
35664 2009-09-03 Magnus Granberg <zorry@ume.nu>
35665
35666 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35667 include -fPIE in the default specs.
35668 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35669 to TARGET_CFLAGS.
35670
35671 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
35672
35673 * INSTALL: Note that GNU Bison 2.3 or later is required.
35674
35675 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35676
35677 * kern/i386/pc/startup.S: Fix typo.
35678
35679 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35680
35681 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35682 according to GCS.
35683
35684 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35685
35686 * docs/grub.texi (Naming convention): Describe one-based partition
35687 numbering.
35688 (Device syntax): Likewise.
35689 (File name syntax): Likewise.
35690 (Block list syntax): Likewise.
35691 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35692 menu.lst.
35693 (File name syntax): Likewise.
35694 (Command-line and menu entry commands): Document acpi, blocklist,
35695 crc, export, insmod, keystatus, ls, set, and unset commands.
35696
35697 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35698
35699 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35700 to avoid implying that only one of --shift, --ctrl, or --alt may be
35701 used.
35702
35703 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35704
35705 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35706 rather than comparing against S_IFREG, which will almost never work.
35707
35708 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35709
35710 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35711 (write_blocklists): Likewise.
35712
35713 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
35714
35715 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35716 argument to grub_printf.
35717
35718 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
35719
35720 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
35721 non GNU test.
35722
35723 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35724
35725 * kern/file.c (grub_file_read): Spelling fix
35726
35727 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35728
35729 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35730 loading of headers in some cases.
35731
35732 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35733
35734 * configure.ac: Bump version to 1.97~beta1.
35735 * docs/version.texi: Likewise.
35736
35737 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
35738
35739 * include/grub/i386/xnu.h: Add license header.
35740 include grub/err.h explicitly.
35741
35742 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35743
35744 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35745 to `ufs' in the vfs.root.mountfrom kernel parameter.
35746
35747 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35748
35749 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35750
35751 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35752 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35753
35754 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35755 `ARRAY_SIZE' macro.
35756
35757 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35758
35759 * kern/file.c (grub_file_read): Check offset.
35760 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35761 * fs/jfs.c (grub_jfs_read_file): Likewise.
35762 * fs/ntfs.c (grub_ntfs_read): Likewise.
35763 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35764 * fs/minix.c (grub_minix_read_file): Correct offset check.
35765 * fs/ufs.c (grub_ufs_read_file): Likewise.
35766
35767 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35768
35769 * term/i386/pc/console.c (bios_data_area): Cast
35770 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35771
35772 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35773
35774 1-bit optimised blitters.
35775
35776 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35777 prototype.
35778 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35779 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35780 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35781 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35782 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35783 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35784 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35785 function.
35786 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35787 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35788 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35789 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35790 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35791 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35792 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35793 when possible.
35794 * video/video.c (grub_video_get_blit_format): Return
35795 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35796
35797 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35798
35799 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35800 the first argument to grub_printf.
35801
35802 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35803 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35804
35805 Add `getkeystatus' terminal method. Add a new `keystatus' command
35806 to query it.
35807
35808 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35809 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35810 modifier key bitmasks.
35811 (struct grub_term_input): Add `getkeystatus' member.
35812 (grub_getkeystatus): Add prototype.
35813 * kern/term.c (grub_getkeystatus): New function.
35814
35815 * include/grub/i386/pc/memory.h
35816 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35817 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35818 Data Area layout.
35819 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35820 (grub_console_term_input): Set `getkeystatus' member.
35821 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35822 constants.
35823 (grub_usb_keyboard_getreport): Likewise.
35824 (grub_usb_keyboard_checkkey): Likewise.
35825 (grub_usb_keyboard_getkeystatus): New function.
35826 (grub_usb_keyboard_term): Set `getkeystatus' member.
35827
35828 * commands/keystatus.c: New file.
35829 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35830 (keystatus_mod_SOURCES): New variable.
35831 (keystatus_mod_CFLAGS): Likewise.
35832 (keystatus_mod_LDFLAGS): Likewise.
35833 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35834 commands/keystatus.c.
35835 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35836 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35837 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35839 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35840 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35841
35842 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35843
35844 Split befs.mod and afs.mod into *_be.mod and *.mod
35845
35846 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35847 (grub_fstest_SOURCES): Likewise.
35848 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35849 (afs_be_mod_SOURCES): New variable.
35850 (afs_be_mod_CFLAGS): Likewise.
35851 (afs_be_mod_LDFLAGS): Likewise.
35852 (befs_be_mod_SOURCES): Likewise.
35853 (befs_be_mod_CFLAGS): Likewise.
35854 (befs_be_mod_LDFLAGS): Likewise.
35855 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35856 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35857 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35858 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35859 (grub_emu_SOURCES): Likewise.
35860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35861 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35862 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35863 * fs/afs_be.c: New file.
35864 * fs/befs_be.c: New file.
35865 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35866 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35867 (U16): Replaced with ...
35868 (grub_afs_to_cpu16): ...this. All users updated.
35869 (U32): Replaced with ...
35870 (grub_afs_to_cpu32): ...this. All users updated.
35871 (U64): Replaced with ...
35872 (grub_afs_to_cpu64): ...this. All users updated.
35873 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35874 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
35875 (grub_afs_validate_sblock): Check only one endianness.
35876 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35877 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35878 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35879 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35880 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35881 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35882 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35883 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35884
35885 2009-08-26 Bean <bean123ch@gmail.com>
35886
35887 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35888 64-bit number.
35889 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35890 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35891 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35892
35893 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35894
35895 NetBSD memory map support.
35896
35897 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35898 (grub_netbsd_btinfo_mmap_header): New structure.
35899 (grub_netbsd_btinfo_mmap_entry): Likewise.
35900 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35901
35902 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35903
35904 Enable bsd.mod on coreboot.
35905
35906 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35907 (bsd_mod_SOURCES): New variable.
35908 (bsd_mod_CFLAGS): Likewise.
35909 (bsd_mod_LDFLAGS): Likewise.
35910 (bsd_mod_ASFLAGS): Likewise.
35911 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35912 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35913
35914 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35915
35916 Cleanup NetBSD root support.
35917
35918 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35919 grub_bsd_get_device.
35920 Fix typo.
35921
35922 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
35923
35924 * util/grub.d/00_header.in: Move check for the video backend of
35925 gfxterm from here ...
35926 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35927 a suitable video backend.
35928
35929 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35930
35931 Fix breakage in grub-setup.
35932
35933 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35934 "msdos_partition_map".
35935
35936 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35937
35938 Fix breakage in normal/auth.c.
35939
35940 * normal/auth.c (grub_iswordseparator): New function.
35941
35942 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35943
35944 Authentication support.
35945
35946 * commands/password.c: New file.
35947 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35948 (password_mod_SOURCES): New variable.
35949 (password_mod_CFLAGS): Likewise.
35950 (password_mod_LDFLAGS): Likewise.
35951 (normal_mod_SOURCES): Add normal/auth.c.
35952 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35953 normal/auth.c.
35954 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35955 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35956 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35958 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35959 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35960 * include/grub/auth.h: New file.
35961 * include/grub/err.h (grub_err_t): New enum value
35962 GRUB_ERR_ACCESS_DENIED.
35963 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35964 'users'.
35965 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35966 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35967 users updated.
35968 * normal/auth.c: New file.
35969 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35970 (grub_cmdline_run): Don't allow to go to command line without
35971 authentication.
35972 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35973 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35974 menuentry without superuser rights.
35975 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35976 user isn't a superuser.
35977
35978 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35979
35980 Save space by inlining misc.c functions.
35981
35982 * kern/misc.c (grub_iswordseparator): Made static.
35983 * kern/misc.c (grub_strcat): Moved from here ...
35984 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35985 * kern/misc.c (grub_strncat): Moved from here ...
35986 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35987 * kern/misc.c (grub_strcasecmp): Moved from here ...
35988 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35989 * kern/misc.c (grub_strncasecmp): Moved from here ...
35990 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35991 * kern/misc.c (grub_isalpha): Moved from here ...
35992 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35993 * kern/misc.c (grub_isdigit): Moved from here ...
35994 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35995 * kern/misc.c (grub_isgraph): Moved from here ...
35996 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35997 * kern/misc.c (grub_tolower): Moved from here ...
35998 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35999
36000 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36001
36002 * script/sh/function.c (grub_script_function_find): Cut error message
36003 not to flood terminal.
36004 * script/sh/lexer.c (grub_script_yylex): Remove command line length
36005 limit.
36006 * script/sh/script.c (grub_script_arg_add): Duplicate string.
36007
36008 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
36009
36010 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
36011 `report' grub_uint8_t *.
36012 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
36013 Use a 50-millisecond timeout rather than just repeating
36014 grub_usb_keyboard_getreport 50 times.
36015 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
36016
36017 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36018
36019 Rename *_partition_map to part_*
36020
36021 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
36022 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
36023 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
36024 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
36025 All users updated.
36026 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
36027 All users updated.
36028 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
36029 * util/grub-probe.c (probe_partmap): Don't transform partition name
36030 to get module name.
36031
36032 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36033
36034 Fix OpenBSD and NetBSD support.
36035
36036 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
36037 memory address conflict.
36038 (OPENBSD_MMAP_ACPI): New definition.
36039 (OPENBSD_MMAP_NVS): Likewise.
36040 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
36041 and OPENBSD_MMAP_NVS.
36042 Add memory map terminator
36043 Explicit cast when calling grub_unix_real_boot.
36044 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
36045
36046 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36047
36048 Let user specify NetBSD root device.
36049
36050 * loader/i386/bsd.c (netbsd_root): New variable.
36051 (netbsd_opts): New option 'root'.
36052 (NETBSD_ROOT_ARG): New macro.
36053 (grub_netbsd_boot): Use 'netbsd_root'.
36054 (grub_bsd_unload): Free 'netbsd_root'.
36055 (grub_cmd_netbsd): Fill 'netbsd_root'.
36056
36057 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36058
36059 Support for 64-bit NetBSD.
36060
36061 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
36062 point when booting non-FreeBSD.
36063
36064 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36065
36066 Support --no-smp and --no-acpi for NetBSD.
36067
36068 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
36069 (NETBSD_AB_NOACPI): Likewise.
36070 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
36071 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
36072
36073 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36074
36075 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
36076 errors.
36077 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
36078 errors. Call grub_error when needed.
36079
36080 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36081
36082 * commands/search.c (search_fs): Try searching without autoload first.
36083 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
36084 filesystem module explicitly for faster booting.
36085
36086 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
36087
36088 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
36089
36090 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
36091
36092 * util/grub.d/30_os-prober.in: Disable os-prober if
36093 `GRUB_DISABLE_OS_PROBER' was set to true.
36094
36095 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
36096
36097 * partmap/pc.c: Rename to ...
36098 * partmap/msdos.c: ... this. Update all users.
36099 (grub_pc_partition_map): Rename to ...
36100 (grub_msdos_partition_map): ... this. Update all users.
36101
36102 * parttool/pcpart.c: Rename to ...
36103 * parttool/msdospart.c: ... this. Update all users.
36104
36105 * include/grub/pc_partition.h: Rename to ...
36106 * include/grub/msdos_partition.h: ... this. Update all users.
36107 (grub_pc_partition_bsd_entry): Rename to ...
36108 (grub_msdos_partition_bsd_entry): ... this. Update all users.
36109 (grub_pc_partition_disk_label): Rename to ...
36110 (grub_msdos_partition_disk_label): ... this. Update all users.
36111 (grub_pc_partition_entry): Rename to ...
36112 (grub_msdos_partition_entry): ... this. Update all users.
36113 (grub_pc_partition_mbr): Rename to ...
36114 (grub_msdos_partition_mbr): ... this. Update all users.
36115 (grub_pc_partition): Rename to ...
36116 (grub_msdos_partition): ... this. Update all users.
36117 (grub_pc_partition_is_empty): Rename to ...
36118 (grub_msdos_partition_is_empty): ... this. Update all users.
36119 (grub_pc_partition_is_extended): Rename to ...
36120 (grub_msdos_partition_is_extended): ... this. Update all users.
36121 (grub_pc_partition_is_bsd): Rename to ...
36122 (grub_msdos_partition_is_bsd): ... this. Update all users.
36123
36124 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
36125 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
36126 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
36127 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
36128 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
36129 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
36130 (gpt_mod_LDFLAGS): Rename to ...
36131 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
36132 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
36133 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
36134 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
36135 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
36136 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
36137 (part_gpt_mod_LDFLAGS): ... this.
36138 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
36139 `pcpart.mod' to `msdospart.mod'.
36140 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
36141 to ...
36142 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
36143 (msdospart_mod_LDFLAGS): ... this.
36144
36145 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36146
36147 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
36148 (openbsd_opts): Likewise.
36149 (netbsd_opts): Likewise.
36150 (freebsd_flags): Added 0 terminator.
36151 (openbsd_flags): Likewise.
36152 (netbsd_flags): Likewise.
36153 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
36154 (grub_cmd_freebsd): Transformed into extended command.
36155 (grub_cmd_openbsd): Likewise.
36156 (grub_cmd_netbsd): Likewise.
36157 (cmd_freebsd): Changed type to grub_extcmd_t.
36158 (cmd_openbsd): Likewise.
36159 (cmd_netbsd): Likewise.
36160 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
36161 grub_cmd_openbsd as extended commands.
36162 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
36163 cmd_netbsd and cmd_openbsd
36164
36165 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
36166
36167 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
36168
36169 2009-08-21 Pavel Roskin <proski@gnu.org>
36170
36171 * Makefile.in (install-local): When checking if a file is in the
36172 build directory, use "test -e" to detect symlinks.
36173
36174 * Makefile.in (install-local): Remove all files in
36175 $(DESTDIR)$(pkglibdir) before installing new files there.
36176
36177 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36178
36179 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
36180 grub-mkelfimage.
36181
36182 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36183
36184 * util/grub-mkconfig.in: Don't use gfxterm by default if not
36185 explicitly specified by the user.
36186
36187 2009-08-18 Pavel Roskin <proski@gnu.org>
36188
36189 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
36190 grub_uint8_t pointer for data.
36191 * include/grub/fbutil.h (struct grub_video_fbblit_info):
36192 Likewise.
36193 * video/fb/fbutil.c: Remove unnecessary casts.
36194
36195 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36196
36197 VBE cleanup.
36198
36199 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
36200 (grub_vbe_set_video_mode): Save active mode info
36201 only after setting the mode.
36202 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
36203 second argument.
36204
36205 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36206
36207 Rename variables for clarity.
36208
36209 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
36210 (active_vbe_mode_info): ... this. All users updated.
36211 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
36212 All users updated.
36213 (initial_mode): Rename to ...
36214 (initial_vbe_mode): ... this. All users updated.
36215 (mode_in_use): Rename to ..
36216 (vbe_mode_in_use): ... this. All users updated.
36217 (mode_list): Rename to ..
36218 (vbe_mode_list): ... this. All users updated.
36219 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
36220 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
36221 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
36222 'mode_list_size' to 'vbe_mode_list_size'.
36223 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
36224 'best_mode_info' to 'best_vbe_mode_info' and
36225 'best_mode' to 'best_vbe_mode'
36226
36227 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36228
36229 Remove duplicate grub_video_fb_get_video_ptr.
36230
36231 * include/grub/fbutil.h (get_data_ptr): Rename to ...
36232 (grub_video_fb_get_video_ptr): ... this.
36233 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
36234 * video/fb/fbutil.c: Add comment about addressing.
36235 (get_data_ptr): Rename to ...
36236 (grub_video_fb_get_video_ptr): ... this. All users updated.
36237 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
36238
36239 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36240
36241 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
36242 grub_dprintf() that was just added.
36243
36244 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36245
36246 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36247 (DEFAULT_VIDEO_MODE): Remove macros.
36248 (grub_linux_boot): Remove assumption that Linux has FB support,
36249 and use "text" as default video mode.
36250
36251 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36252
36253 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36254 grub_dprintf.
36255 * fs/fat.c (grub_fat_read_data): Likewise.
36256
36257 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36258
36259 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36260 payload.
36261 (grub_module): Likewise.
36262
36263 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36264
36265 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36266 mbi->cmdline but free playground.
36267
36268 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36269
36270 Handle group offset on UFS1.
36271
36272 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36273 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36274
36275 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36276
36277 Split ufs.mod into ufs1.mod and ufs2.mod.
36278
36279 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36280 (grub_fstest_SOURCES): Likewise.
36281 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36282 (ufs_mod_SOURCES): Remove.
36283 (ufs_mod_CFLAGS): Likewise.
36284 (ufs_mod_LDFLAGS): Likewise.
36285 (ufs1_mod_SOURCES): New variable.
36286 (ufs1_mod_CFLAGS): Likewise.
36287 (ufs1_mod_LDFLAGS): Likewise.
36288 (ufs2_mod_SOURCES): New variable.
36289 (ufs2_mod_CFLAGS): Likewise.
36290 (ufs2_mod_LDFLAGS): Likewise.
36291 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36292 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36293 Likewise.
36294 (grub_emu_SOURCES): Likewise.
36295 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36296 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36297 (grub_setup_SOURCES): Likewise.
36298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36299 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36300 (grub_setup_SOURCES): Likewise.
36301 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36302 Likewise.
36303 * fs/ufs2.c: New file.
36304 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36305
36306 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36307
36308 Framebuffer split.
36309
36310 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36311 subsystem at the end.
36312 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36313 (video_fb_mod_SOURCES): New variable.
36314 (video_fb_mod_CFLAGS): Likewise.
36315 (video_fb_mod_LDFLAGS): Likewise.
36316 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36317 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36318 * video/i386/pc/vbeblit.c: Moved from here ...
36319 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36320 * video/i386/pc/vbefill.c: Moved from here ...
36321 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36322 * video/i386/pc/vbeutil.c: Moved from here ...
36323 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36324 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36325 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36326 * include/grub/i386/pc/vbefill.h: Moved from here ...
36327 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36328 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36329 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36330 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36331 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36332 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36333 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36334 (grub_video_adapter): Added 'get_info_and_fini'.
36335 (grub_video_get_info_and_fini): New prototype.
36336 (grub_video_set_mode): make modestring const char *.
36337 * loader/i386/linux.c (grub_linux_setup_video): Use
36338 grub_video_get_info_and_fini.
36339 (grub_linux_boot): Move modesetting just before booting.
36340 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36341 grub_video_get_info_and_fini.
36342 * video/i386/pc/vbe.c: Moved framebuffer part ...
36343 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36344 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36345 grub_video_fbstd_colors and grub_video_fb_set_palette.
36346 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36347 grub_video_fb_init.
36348 (grub_video_vbe_fini): Use grub_video_fb_fini.
36349 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36350 render_target and use grub_video_fb_set_active_render_target and
36351 grub_video_fb_set_palette.
36352 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36353 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36354 (grub_video_vbe_adapter): Use framebuffer.
36355 * video/video.c (grub_video_get_info_and_fini): New function.
36356 (grub_video_set_mode): Make modestring const char *.
36357 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36358 values are already initialised.
36359
36360 2009-08-14 Pavel Roskin <proski@gnu.org>
36361
36362 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36363 ABS and APPLE_CC.
36364 * boot/i386/pc/diskboot.S: Likewise.
36365 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36366 sectors allow compilation on MacOSX.
36367 * conf/i386-pc.rmk: Enable unconditional compilation of
36368 lnxboot.img.
36369
36370 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
36371
36372 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36373 * util/grub.d/00_header.in: Enter interruptible sleep if
36374 GRUB_HIDDEN_TIMEOUT is set.
36375
36376 2009-08-13 Yves Blusseau <blusseau@zetam.org>
36377
36378 * include/grub/symbol.h: Add the LOCAL macro.
36379 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36380 starting with "L_".
36381
36382 2009-08-13 Pavel Roskin <proski@gnu.org>
36383
36384 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36385 any modern compilers we support.
36386
36387 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36388 Use local labels starting with "L_" so that Apple assembler
36389 knows they are local.
36390
36391 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36392
36393 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36394 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36395 (bsd_kernel_types): ... this enum.
36396
36397 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36398 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36399 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36400
36401 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36402 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36403 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36404 messages.
36405
36406 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36407
36408 * util/grub-dumpdevtree: Moved from here ...
36409 * util/i386/efi/grub-dumpdevtree: ... to here.
36410 (hexify): New function. Converts a string to its hex version.
36411 Generate hex versions of "efi" and "device-properties" by calling
36412 hexify() on the ASCII strings rather than by hardcoding numbers.
36413
36414 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36415
36416 * fs/jfs.c: Update copyright year.
36417
36418 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36419
36420 * util/grub.d/00_header.in: Fix a comment.
36421 * util/grub.d/10_linux.in: Likewise.
36422 * util/grub.d/10_windows.in: Likewise.
36423 * util/grub.d/10_hurd.in: Likewise.
36424
36425 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36426
36427 * util/grub-mkconfig.in: Allow the user to specify the used font
36428 with GRUB_FONT.
36429
36430 2009-08-08 Pavel Roskin <proski@gnu.org>
36431
36432 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36433 available, xfs.mod needs it now.
36434
36435 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36436 the "g" modifier in sed when the intention is to strip something
36437 once. This fixes comparison of kernels with multiple dashes.
36438
36439 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36440 on it. Add missing space before closing bracket. Fix
36441 misleading formatting.
36442
36443 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36444
36445 * docs/grub.texi: Major overhaul. Remove all sections that are
36446 specific to GRUB Legacy, or mostly composed of Legacy-specific
36447 information.
36448
36449 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36450
36451 * docs/version.texi: New file. Provides version information for
36452 grub.texi.
36453
36454 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36455
36456 * docs/grub.texi: Update CVS information to SVN.
36457 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36458
36459 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36460
36461 * util/grub-mkconfig.in: Remove a wrong `fi'.
36462
36463 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36464
36465 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36466 (grub_jfs_uuid): New function.
36467 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36468
36469 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36470
36471 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36472 of it to ...
36473 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36474 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36475
36476 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36477
36478 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36479 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36480 Update all users.
36481
36482 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36483 not just "vmlinu[zx]".
36484 Moved from here ...
36485 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36486 all users.
36487
36488 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36489 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36490 all users.
36491
36492 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36493
36494 * util/grub.d/10_freebsd.in: Use an absolute device path for
36495 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36496
36497 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
36498
36499 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36500 handling of multiple abstraction modules.
36501
36502 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36503
36504 Fix a bug resulting in black screen when loading Linux using a
36505 packed video mode.
36506
36507 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36508 function.
36509
36510 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36511 (grub_vbe_bios_getset_dac_palette_width): New function.
36512 (grub_vbe_bios_get_dac_palette_width)
36513 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36514 grub_vbe_bios_getset_dac_palette_width()).
36515
36516 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36517 check for return status.
36518 (grub_vbe_get_video_mode_info): When getting information for a packed
36519 mode (<= 8 bpp), obtain DAC palette width using
36520 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36521 {red,green,blue}_mark_size.
36522
36523 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
36524
36525 * commands/search.c (options): Fix help output to match actual code.
36526
36527 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36528
36529 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36530 of homegrown code.
36531
36532 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36533
36534 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36535 on XFS or ReiserFS.
36536
36537 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36538
36539 Support Apple partition map with sector size different from 512 bytes.
36540
36541 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36542 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36543 and 'apart.partmap_size'.
36544
36545 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36546 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36547
36548 Fix cpuid command.
36549
36550 * commands/i386/cpuid.c (options): New variable.
36551 (grub_cmd_cpuid): Return real error.
36552 (GRUB_MOD_INIT(cpuid)): Declare options.
36553
36554 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36555
36556 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36557 valid.
36558
36559 2009-07-31 Bean <bean123ch@gmail.com>
36560
36561 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36562 log2_inode.
36563 (grub_fshelp_node): Move inode field to the end.
36564 (grub_xfs_data): Remove inode field.
36565 (grub_xfs_inode_block): Calculate inode size using sblock.
36566 (grub_xfs_inode_offset): Likewise.
36567 (grub_xfs_read_inode): Calculate inode size using sblock.
36568 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36569 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36570 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36571 to match inode size.
36572 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36573 not accessible when data is null.
36574 (grub_xfs_open): Likewise.
36575
36576 2009-07-31 Bean <bean123ch@gmail.com>
36577
36578 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36579 Don't change pv->disk if it's already set.
36580
36581 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36582 (grub_raid_register): ... here.
36583 (grub_raid_rescan): Removed.
36584
36585 * include/grub/raid.h (grub_raid_rescan): Removed.
36586
36587 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36588 (fstest): Replace grub_raid_rescan with module fini function followed
36589 by init function.
36590
36591 * util/grub-probe.c: Add include file <grub/raid.h>.
36592 (probe_raid_level): New function.
36593 (probe): Detect abstraction by walking the disk device, support two
36594 level of abstraction (LVM on RAID) when detecting partition map.
36595
36596 2009-07-31 Pavel Roskin <proski@gnu.org>
36597
36598 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36599 to grub_zalloc(), it was erroneous.
36600 Reported by Bean <bean123ch@gmail.com>
36601
36602 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36603
36604 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
36605 embedding zone, not only the first one.
36606
36607 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
36608
36609 * term/gfxterm.c (clear_char): New function.
36610 (grub_virtual_screen_setup): Use clear_char.
36611 (scroll_up): Likewise.
36612 (grub_virtual_screen_cls): Likewise.
36613
36614 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
36615
36616 * util/deviceiter.c (get_acceleraid_disk_name): New static
36617 function.
36618 (grub_util_iterate_devices): Handle Accelraid devices.
36619 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36620
36621 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36622
36623 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36624 separator for the suggested gfxpayload string (';' collides with the
36625 parser and needs escaping).
36626
36627 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36628
36629 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36630 Clear direction flag before jumping to OS.
36631 (grub_multiboot2_real_boot): Likewise.
36632
36633 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36634
36635 * util/i386/pc/grub-install: Fix parsing of --disk-module
36636 option.
36637
36638 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36639
36640 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36641 when embedding.
36642
36643 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
36644
36645 * util/grub-mkconfig.in (package_version): New variable.
36646 Use it do display the version.
36647
36648 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36649
36650 * kern/file.c (grub_file_open): Revert to previous check with
36651 grub_errno.
36652
36653 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36654
36655 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36656 from help line. It's out of sync with code.
36657
36658 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36659
36660 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36661 entries on failed boot.
36662
36663 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36664
36665 * kern/file.c (grub_file_open): Fix an error check.
36666
36667 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36668
36669 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36670 partition map couldn't be identified.
36671
36672 2009-07-23 Pavel Roskin <proski@gnu.org>
36673
36674 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36675 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36676 case of little endian words becomes just an optimization.
36677 Respect const modifier.
36678 (md5_final): Use code that doesn't depend on endianness.
36679
36680 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36681 to avoid loss of upper bits if align is unsigned and shorter
36682 than addr.
36683
36684 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36685
36686 UUID support for UFS
36687
36688 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36689 (grub_ufs_uuid): New function.
36690 (grub_ufs_fs): add .uuid
36691
36692 2009-07-21 Pavel Roskin <proski@gnu.org>
36693
36694 * kern/dl.c (grub_dl_check_header): Make static.
36695
36696 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
36697
36698 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36699 add drivemap for Vista. It breaks Windows 7.
36700
36701 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36702
36703 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36704 128 bytes
36705
36706 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36707
36708 Add BFS support
36709
36710 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36711 (grub_fstest_SOURCES): Likewise.
36712 (pkglib_MODULES): Add befs.mod.
36713 (befs_mod_SOURCES): New variable.
36714 (befs_mod_CFLAGS): Likewise.
36715 (befs_mod_LDFLAGS): Likewise.
36716 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36717 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36719 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36720 (grub_setup_SOURCES): Likewise.
36721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36722 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36723 (grub_setup_SOURCES): Likewise.
36724 * fs/befs.c: New file.
36725 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36726 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36727 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36728 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36729 (B_KEY_INDEX_ALIGN): New declaration.
36730 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36731 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36732 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36733 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36734 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36735 (grub_afs_mount) [MODE_BFS]: Likewise.
36736 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36737 (grub_afs_fs): Use GRUB_AFS_FSNAME
36738 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36739 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36740 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36741 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36742
36743 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36744
36745 * util/getroot.c (find_root_device): Add support for MacOSX.
36746 * util/hostdisk.c: Likewise.
36747
36748 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36749
36750 * font/font.c (find_glyph): Check whether a font is present to avoid
36751 segmentation fault.
36752
36753 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
36754
36755 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36756
36757 2009-07-20 Pavel Roskin <proski@gnu.org>
36758
36759 * configure.ac: Trim excessively wordy excuses.
36760
36761 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36762
36763 Add symlink, mtime and label support to AtheFS.
36764
36765 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36766 (grub_afs_iterate_dir): Handle symlinks.
36767 (grub_afs_open): Use grub_afs_read_symlink.
36768 (grub_afs_dir): Likewise.
36769 Pass mtime.
36770 (grub_afs_label): New function.
36771 (grub_afs_fs): Add grub_afs_label.
36772 (grub_afs_read_symlink): New function.
36773
36774 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36775
36776 Fix AtheFS support.
36777
36778 * fs/afs.c: Fix comments style.
36779 (grub_afs_blockrun): Declare as packed.
36780 (grub_afs_datastream): Likewise.
36781 (grub_afs_bnode): Likewise.
36782 (grub_afs_btree): Likewise.
36783 (grub_afs_sblock): Likewise.
36784 Declare `name' as char.
36785 (grub_afs_inode): Declare as packed.
36786 Change void *vnode to grub_uint32_t unused.
36787 (grub_afs_iterate_dir): Check that key_size is positive.
36788 (grub_afs_mount): Don't read superblock twice.
36789 (grub_afs_dir): Don't free node in case of error,
36790 grub_fshelp_find_file already handles this.
36791 (grub_afs_open): Likewise.
36792
36793 2009-07-19 Pavel Roskin <proski@gnu.org>
36794
36795 * Makefile.in: Remove LIBLZO and enable_lzo.
36796 * conf/i386-pc.rmk: Remove lzo support.
36797 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36798 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36799 support.
36800 * kern/i386/pc/lzo1x.S: Remove.
36801 * kern/i386/pc/startup.S: Remove lzo support.
36802 * util/i386/pc/grub-mkimage.c: Likewise.
36803
36804 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36805
36806 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36807 * fs/xfs.c (grub_xfs_dir): Likewise.
36808 * fs/afs.c (grub_afs_dir): Likewise.
36809 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36810 (grub_iso9660_open): Likewise.
36811 * fs/jfs.c (grub_jfs_open): Likewise.
36812 * fs/ext2.c (grub_ext2_dir): Likewise.
36813 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36814 * script/sh/lexer.c (grub_script_yylex): Likewise.
36815
36816 2009-07-16 Pavel Roskin <proski@gnu.org>
36817
36818 * configure.ac: Never add "-c" to CFLAGS.
36819
36820 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36821
36822 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36823 grub_cv_cc_efiemu should be used.
36824
36825 * configure.ac: Typo fixes.
36826
36827 * kern/mm.c (grub_zalloc): New function.
36828 (grub_debug_zalloc): Likewise.
36829 * include/grub/mm.h: Declare grub_zalloc() and
36830 grub_debug_zalloc().
36831 * util/misc.c (grub_zalloc): New function.
36832 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36833 instead of grub_malloc(), remove unneeded initializations.
36834 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36835 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36836 * commands/parttool.c (grub_cmd_parttool): Likewise.
36837 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36838 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36839 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36840 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36841 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36842 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36843 (grub_cmd_efiemu_pnvram): Likewise.
36844 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36845 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36846 (grub_iso9660_iterate_dir): Likewise.
36847 * fs/jfs.c (grub_jfs_opendir): Likewise.
36848 * fs/ntfs.c (list_file): Likewise.
36849 (grub_ntfs_mount): Likewise.
36850 * kern/disk.c (grub_disk_open): Likewise.
36851 * kern/dl.c (grub_dl_load_core): Likewise.
36852 * kern/elf.c (grub_elf_file): Likewise.
36853 * kern/env.c (grub_env_context_open): Likewise.
36854 (grub_env_set): Likewise.
36855 (grub_env_set_data_slot): Likewise.
36856 * kern/file.c (grub_file_open): Likewise.
36857 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36858 * loader/i386/multiboot.c (grub_module): Likewise.
36859 * loader/xnu.c (grub_xnu_create_key): Likewise.
36860 (grub_xnu_create_value): Likewise.
36861 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36862 (read_config_file): Likewise.
36863 * normal/menu_entry.c (make_screen): Likewise.
36864 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36865 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36866 * script/sh/script.c (grub_script_parse): Likewise.
36867 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36868 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36869 * video/readers/png.c (grub_png_output_byte): Likewise.
36870 (grub_video_reader_png): Likewise.
36871
36872 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36873
36874 Enable all targets that can be built by default
36875
36876 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
36877 grub-mkfont and grub-fstest if they can be built
36878
36879 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36880
36881 Fix hang and segmentation fault in grub-emu-usb
36882
36883 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36884 * util/usb.c (grub_libusb_devices): likewise
36885 (grub_libusb_init): rename to ...
36886 (GRUB_MOD_INIT (libusb)):...this
36887 (grub_libusb_fini): rename to ..
36888 (GRUB_MOD_FINI (libusb)):...this
36889 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36890 * include/grub/disk.h (grub_raid_init): removed, it's useless
36891 (grub_raid_fini): likewise
36892 (grub_lvm_init): likewise
36893 (grub_lvm_fini): likewise
36894 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36895 by grub_init_all
36896
36897 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36898
36899 Fix libusb
36900
36901 * Makefile.in (LIBUSB): new macro
36902 * genmk.rb (Utility/print_tail): new method
36903 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36904 (top level): call util.print_tail at the end.
36905
36906 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36907
36908 Make FreeBSD accept zpool.cache
36909
36910 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36911 type is /boot/zfs/zpool.cache
36912
36913 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36914
36915 Fix 64-bit efiemu
36916
36917 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36918 correct wrong typedef
36919 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36920
36921 2009-07-15 Pavel Roskin <proski@gnu.org>
36922
36923 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36924 * kern/disk.c (struct grub_disk_cache): Likewise.
36925
36926 * commands/probe.c (options): Typo fix.
36927
36928 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36929 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36930 accordingly.
36931 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36932
36933 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36934 the end of "Error" to make the message more readable.
36935
36936 * boot/i386/pc/boot.S (kernel_segment): Remove.
36937 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36938 for destination.
36939
36940 * boot/i386/pc/boot.S (boot_version): Remove.
36941 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36942 Remove.
36943
36944 * include/grub/i386/pc/boot.h: Sort all offsets.
36945 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36946 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36947 * boot/i386/pc/boot.S: Assert location of every offset listed in
36948 include/grub/i386/pc/boot.h.
36949
36950 2009-07-13 Pavel Roskin <proski@gnu.org>
36951
36952 * include/grub/i386/coreboot/machine.h: Rename
36953 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36954 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36955 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36956
36957 * kern/dl.c: Force native word size to suppress warnings when
36958 compiling grub-emu.
36959
36960 * kern/device.c (grub_device_iterate): Change struct part_ent to
36961 hold the name, not a pointer to it. Use one grub_malloc() per
36962 partition, not two. Free partition_name if grub_malloc() fails.
36963 Set ents to NULL only before grub_partition_iterate() is called.
36964
36965 2009-07-11 Bean <bean123ch@gmail.com>
36966
36967 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36968 childname.
36969
36970 2009-07-10 Bean <bean123ch@gmail.com>
36971 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36972
36973 * kern/ieee1275/openfw.c (grub_children_iterate)
36974 (grub_devalias_iterate): Fix size evaluation for property or path
36975 strings, which was broken since r2132.
36976
36977 2009-07-07 Pavel Roskin <proski@gnu.org>
36978
36979 * commands/search.c (search_file): Merge into ...
36980 (search_fs): ... this. Accept search type as argument.
36981 (grub_cmd_search): Pass search type to search_fs().
36982
36983 * include/grub/util/console.h: New file.
36984 * util/console.c: Use it instead of grub/machine/console.h.
36985 * util/grub-emu.c: Likewise.
36986
36987 * lib/arg.c (find_long_option): Remove.
36988 (find_long): Add `len' argument, make `s' const char *.
36989 (grub_arg_parse): Parse long options in place, not in a
36990 temporary buffer.
36991
36992 2009-07-06 Pavel Roskin <proski@gnu.org>
36993
36994 * commands/search.c (search_fs): Fix potential NULL pointer
36995 dereference.
36996
36997 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36998 function pointer.
36999
37000 2009-07-06 Daniel Mierswa <impulze@impulze.org>
37001
37002 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
37003 comparison.
37004
37005 2009-07-05 Pavel Roskin <proski@gnu.org>
37006
37007 * include/grub/i386/linux.h (struct linux_kernel_params):
37008 Restore padding3, it's still needed.
37009
37010 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
37011 FreeBSD.
37012 * util/osdetect.lua: Likewise.
37013
37014 2009-07-05 Bean <bean123ch@gmail.com>
37015
37016 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
37017
37018 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
37019 (grub_lua_getenv): Likewise.
37020 (grub_lua_setenv): Likewise.
37021 (save_errno): New function.
37022 (push_result): Likewise.
37023 (grub_lua_enum_device): Likewise.
37024 (grub_lua_enum_file): Likewise.
37025 (grub_lua_file_open): Likewise.
37026 (grub_lua_file_close): Likewise.
37027 (grub_lua_file_seek): Likewise.
37028 (grub_lua_file_read): Likewise.
37029 (grub_lua_file_getline): Likewise.
37030 (grub_lua_file_getsize): Likewise.
37031 (grub_lua_file_getpos): Likewise.
37032 (grub_lua_file_eof): Likewise.
37033 (grub_lua_file_exist): Likewise.
37034 (grub_lua_add_menu): Likewise.
37035
37036 * script/lua/grub_lua.h (isupper): New inline function.
37037 (islower): Likewise.
37038 (ispunct): Likewise.
37039 (isxdigit): Likewise.
37040 (strcspn): Change to normal function.
37041 (strpbkr): New function declaration.
37042 (memchr): Likewise.
37043
37044 * script/lua/grub_main.c (scan_str): New function.
37045 (strcspn): Likewise.
37046 (strpbrk): Likewise.
37047 (memchr): Likewise.
37048
37049 * script/lua/linit.c (lualibs): Enable the string library.
37050
37051 * util/osdetect.lua: New file.
37052
37053 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
37054
37055 * include/grub/i386/linux.h (struct linux_kernel_params): Add
37056 `capabilities' member.
37057
37058 2009-07-02 Pavel Roskin <proski@gnu.org>
37059
37060 * genparttoollist.sh: Add missing newline at the end.
37061
37062 2009-07-01 Pavel Roskin <proski@gnu.org>
37063
37064 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
37065
37066 * util/hostdisk.c (open_device): Remove `const' from
37067 `sysctl_size', as sysctlbyname() can change it (in this case it
37068 doesn't actually happen).
37069
37070 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
37071 using signed long int constants.
37072
37073 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
37074 constant to avoid a warning on FreeBSD.
37075
37076 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
37077 where it's needed.
37078
37079 * Makefile.in: Install include/grub/machine symlink.
37080
37081 * Makefile.in: When installing symlinks, use "cp -fR", which
37082 works on FreeBSD and MacOSX.
37083 From Yves Blusseau <cl7m42e02@sneakemail.com>
37084
37085 * kern/dl.c (grub_dl_resolve_symbol): Make static.
37086 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
37087
37088 * util/misc.c: Move grub_reboot() and grub_halt() ...
37089 * util/grub-emu.c: ... here. Make main_env static.
37090 * include/grub/util/misc.h: Remove main_env.
37091
37092 * kern/mm.c: Use correct format to print size_t.
37093
37094 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
37095 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
37096 * kern/powerpc/dl.c: Likewise.
37097 * kern/sparc64/dl.c: Likewise.
37098 * kern/x86_64/dl.c: Likewise.
37099
37100 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37101
37102 Fix grub-emu build on sparc64-ieee1275.
37103
37104 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
37105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
37106
37107 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37108
37109 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
37110 (grub_reboot, grub_halt): New functions.
37111
37112 * util/i386/pc/misc.c: Delete. Update all users.
37113 * util/sparc64/ieee1275/misc.c: Likewise.
37114 * util/powerpc/ieee1275/misc.c: Likewise.
37115
37116 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37117
37118 * conf/i386.rmk (setjmp_mod_SOURCES)
37119 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
37120 * conf/common.rmk (setjmp_mod_SOURCES)
37121 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
37122 to use $(target_cpu).
37123 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
37124 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
37125 * conf/powerpc-ieee1275.rmk: Likewise.
37126 * conf/sparc64-ieee1275.rmk: Likewise.
37127
37128 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
37129 $(target_cpu) for kern/$(target_cpu)/dl.c.
37130 * conf/i386-efi.rmk: Likewise.
37131 * conf/i386-ieee1275.rmk: Likewise.
37132 * conf/x86_64-efi.rmk: Likewise.
37133 * conf/i386-coreboot.rmk: Likewise.
37134 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
37135 $(target_cpu) for kern/$(target_cpu)/dl.c and for
37136 kern/$(target_cpu)/cache.S.
37137 * conf/sparc64-ieee1275.rmk: Likewise.
37138
37139 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37140
37141 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
37142 type to `grub_uint8_t', and adjust `padding9' accordingly.
37143
37144 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37145
37146 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
37147
37148 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
37149 assembly in final jump, using register constraints.
37150
37151 (grub_linux_boot): For text mode, initialize `have_vga' using
37152 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
37153
37154 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
37155 right before the final jump.
37156
37157 Set `video_mode' to 0x3.
37158
37159 Document initialization of `video_page', `video_mode' and
37160 `video_ega_bx'.
37161
37162 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37163
37164 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
37165 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
37166 and set GRUB_LINUX_FLAG_QUIET appropriately.
37167
37168 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37169
37170 Fix build on Debian / sparc.
37171
37172 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
37173
37174 2009-06-28 Pavel Roskin <proski@gnu.org>
37175
37176 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
37177 fix a warning.
37178
37179 * util/grub.d/10_linux.in: Match SUSE style initrd names.
37180
37181 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37182
37183 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
37184 `err'.
37185
37186 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37187
37188 Revert r2338.
37189
37190 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
37191 file can't be opened. grub_file_open() is already supposed to set
37192 grub_errno / grub_errmsg appropriately.
37193 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37194
37195 2009-06-27 Pavel Roskin <proski@gnu.org>
37196 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37197
37198 * include/grub/dl.h: Include grub/elf.h.
37199 (struct grub_dl): Add symtab field.
37200 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
37201 GRUB_MODULES_MACHINE_READONLY.
37202 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
37203 of the header for read-only modules.
37204 (grub_dl_unload): Free mod->symtab for read-only modules.
37205 * kern/i386/dl.c: Use mod->symtab.
37206 * kern/powerpc/dl.c: Likewise.
37207 * kern/sparc64/dl.c: Likewise.
37208 * kern/x86_64/dl.c: Likewise.
37209
37210 * conf/i386-qemu.rmk: New file.
37211 * kern/i386/qemu/startup.S: Likewise.
37212 * kern/i386/qemu/mmap.c: Likewise.
37213 * boot/i386/qemu/boot.S: Likewise.
37214 * include/grub/i386/qemu/time.h: Likewise.
37215 * include/grub/i386/qemu/serial.h: Likewise.
37216 * include/grub/i386/qemu/kernel.h: Likewise.
37217 * include/grub/i386/qemu/console.h: Likewise.
37218 * include/grub/i386/qemu/boot.h: Likewise.
37219 * include/grub/i386/qemu/init.h: Likewise.
37220 * include/grub/i386/qemu/machine.h: Likewise.
37221 * include/grub/i386/qemu/loader.h: Likewise.
37222 * include/grub/i386/qemu/memory.h: Likewise.
37223
37224 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
37225 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
37226 [qemu] (pkglib_IMAGES): Add `boot.img'.
37227 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
37228 [qemu] (boot_img_FORMAT): New variables.
37229 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
37230 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
37231 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
37232 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
37233 [qemu] (kernel_img_FORMAT): New variables.
37234
37235 * configure.ac: Recognise `i386-qemu'.
37236
37237 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
37238 (for no compression).
37239 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
37240 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
37241 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
37242 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
37243 ifdefs).
37244
37245 2009-06-27 Pavel Roskin <proski@gnu.org>
37246
37247 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37248 read.
37249 * efiemu/prepare32.c: Likewise.
37250 * efiemu/prepare64.c: Likewise.
37251
37252 2009-06-26 Pavel Roskin <proski@gnu.org>
37253
37254 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37255 * include/grub/elf.h: Define symbols without "32" or "64" based
37256 on GRUB_TARGET_WORDSIZE.
37257 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37258 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37259 ELF definitions.
37260 * efiemu/loadcore64.c: Likewise.
37261 * loader/i386/bsd32.c: Likewise.
37262 * loader/i386/bsd64.c: Likewise.
37263 * kern/dl.c: Remove own ELF definitions.
37264 * util/i386/efi/grub-mkimage.c: Likewise.
37265
37266 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37267
37268 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37269 segment 0x0 unconditionally, because the reference generated by
37270 GAS is an absolute address.
37271
37272 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37273
37274 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37275 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37276
37277 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37278
37279 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37280 indexes. Check for -f explicitly.
37281 (search_file): Improve error message.
37282 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
37283
37284 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37285
37286 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37287 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37288
37289 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37290
37291 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37292 * conf/i386-ieee1275.rmk: Likewise.
37293 * conf/i386-coreboot.rmk: Likewise.
37294
37295 * kern/i386/pc/startup.S (grub_stop): Remove function.
37296 * kern/i386/ieee1275/startup.S: Likewise.
37297 * kern/i386/coreboot/startup.S: Likewise.
37298 * kern/i386/misc.S (grub_stop): New function.
37299
37300 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37301
37302 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37303 * kern/i386/realmode.S (real_to_prot): ... to here.
37304
37305 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37306
37307 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37308 with `kernel.img'.
37309 (kernel_elf_SOURCES): Rename to ...
37310 (kernel_img_SOURCES): ... this.
37311 (kernel_elf_HEADERS): Rename to ...
37312 (kernel_img_HEADERS): ... this. Update all users.
37313 (kernel_elf_ASFLAGS): Rename to ...
37314 (kernel_img_ASFLAGS): ... this.
37315 (kernel_elf_CFLAGS): Rename to ...
37316 (kernel_img_CFLAGS): ... this.
37317 (kernel_elf_LDFLAGS): Rename to ...
37318 (kernel_img_LDFLAGS): ... this.
37319 * conf/i386-coreboot.rmk: Likewise.
37320 * conf/powerpc-ieee1275.rmk: Likewise.
37321
37322 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37323 with "kernel.img".
37324
37325 2009-06-21 Pavel Roskin <proski@gnu.org>
37326
37327 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37328 to match nested functions.
37329 * loader/sparc64/ieee1275/linux.c: Likewise.
37330
37331 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37332
37333 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37334
37335 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37336 all i386 platforms.
37337
37338 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37339
37340 Fix asm file handling on ELF, and remove workarounds.
37341
37342 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
37343 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
37344 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37345 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37346
37347 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37348
37349 Load BSD ELF modules
37350
37351 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37352 and loader/i386/bsd64.c
37353 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37354 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37355 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37356 (grub_freebsd_load_elfmodule32): New declaration
37357 (grub_freebsd_load_elfmoduleobj64): Likewise
37358 (grub_freebsd_load_elf_meta32): Likewise
37359 (grub_freebsd_load_elf_meta64): Likewise
37360 (grub_freebsd_add_meta): Likewise
37361 (grub_freebsd_add_meta_module): Likewise
37362 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37363 (grub_freebsd_add_meta_module): Likewise and move module-specific
37364 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37365 (grub_cmd_freebsd): Add elf-kernel specific parts
37366 based on grub_freebsd_add_meta_module
37367 (grub_cmd_freebsd_module): Add type parsing moved from
37368 grub_freebsd_add_meta_module
37369 (grub_cmd_freebsd_module_elf): New function
37370 (cmd_freebsd_module_elf): New variable
37371 (GRUB_MOD_INIT): Register freebsd_module_elf
37372 * loader/i386/bsd32.c: New file
37373 * loader/i386/bsd64.c: Likewise
37374 * loader/i386/bsdXX.c: Likewise
37375 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37376 (grub_elf64_load): Likewise
37377 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37378 All users updated
37379 (grub_elf64_load_hook_t): Likewise
37380
37381 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
37382
37383 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37384 variable.
37385 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37386 don't write a menu entry for recovery mode.
37387
37388 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37389
37390 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37391 after it's no longer needed.
37392
37393 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37394
37395 * include/grub/i386/loader.h (grub_linux_prot_size)
37396 (grub_linux_tmp_addr, grub_linux_real_addr)
37397 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37398 GRUB_MACHINE_PCBIOS.
37399 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37400 common grub_util_info() call to ...
37401 (generate_image): ... here.
37402 Fix use of uninitialized memory, comparison of signed with
37403 unsigned integers and memory leak.
37404 Remove bogus module address message.
37405
37406 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37407
37408 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37409 grub_raid_register
37410 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37411
37412 2009-06-19 Pavel Roskin <proski@gnu.org>
37413
37414 * configure.ac: Remove stray AC_MSG_CHECKING.
37415
37416 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37417
37418 * disk/scsi.c (grub_scsi_open): use continue instead of big if
37419
37420 2009-06-18 Pavel Roskin <proski@gnu.org>
37421
37422 * conf/common.rmk: Add fs_file.mod.
37423 * disk/fs_file.c: New file.
37424 * include/grub/disk.h (enum grub_disk_dev_id): Add
37425 GRUB_DISK_DEVICE_FILE_ID.
37426
37427 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37428
37429 Fix build with Apple's toolchain. Part 2
37430
37431 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37432 a fake start
37433
37434 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37435
37436 Fix build with Apple's toolchain. Part 1
37437
37438 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37439 for long calls
37440 * configure.ac: remove a leftover AC_MSG_RESULT
37441 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
37442 Apple's toolchain
37443
37444 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37445
37446 Fix warnings
37447
37448 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37449 (decomp_block): initialize ch
37450 use grub_memcpy instead of memcpy
37451
37452 2009-06-17 Pavel Roskin <proski@gnu.org>
37453
37454 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37455 version, use declarations needed to use vga_text as the startup
37456 console.
37457
37458 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37459 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37460 the kernel.
37461 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37462 and grub_at_keyboard_fini(), it's done on module load and
37463 unload.
37464
37465 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
37466
37467 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37468 file can't be found.
37469 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37470
37471 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37472
37473 Fix newline handling
37474
37475 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
37476 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
37477 (grub_script_yylex): don't segfault on unterminated script
37478 newline terminates command and variable
37479
37480 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37481
37482 avoid double grub_adjust_range call. Bug reported by David Simner
37483
37484 * kern/disk.c (grub_disk_write): change to raw disk access before
37485 calling disk_read
37486
37487 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
37488
37489 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37490 spaces, for the benefit of help2man.
37491 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37492
37493 2009-06-16 Pavel Roskin <proski@gnu.org>
37494
37495 * kern/i386/halt.c: Include grub/machine/init.h.
37496 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37497
37498 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
37499
37500 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37501 drivemap menuentry.
37502
37503 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37504
37505 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37506 `echo' command.
37507
37508 2009-06-16 Pavel Roskin <proski@gnu.org>
37509
37510 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37511 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37512 save %dx, we only need %dl and we never change it.
37513 * boot/i386/pc/cdboot.S: Don't set the root drive.
37514 * boot/i386/pc/pxeboot.S: Likewise.
37515 * include/grub/i386/pc/boot.h: Remove
37516 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37517 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37518 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37519 * kern/i386/pc/init.c (make_install_device): Remove references
37520 to grub_root_drive.
37521 * kern/i386/pc/startup.S: Likewise.
37522 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37523
37524 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37525
37526 xnu_uuid command
37527
37528 * commands/xnu_uuid.c: new file
37529 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37530 (xnu_uuid_mod_SOURCES): new variable
37531 (xnu_uuid_mod_CFLAGS): likewise
37532 (xnu_uuid_mod_LDFLAGS): likewise
37533 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37534 * conf/i386-ieee1275.rmk: likewise
37535 * conf/i386-pc.rmk: likewise
37536 * conf/powerpc-ieee1275.rmk: likewise
37537 * conf/sparc64-ieee1275.rmk: likewise
37538 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37539
37540 2009-06-16 Pavel Roskin <proski@gnu.org>
37541
37542 * configure.ac: Avoid '==' in test command, it's not portable.
37543
37544 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37545
37546 Probe command
37547
37548 * commands/probe.c: new file
37549 * conf/common.rmk (pkglib_MODULES): add probe.mod
37550 (probe_mod_SOURCES): new variable
37551 (probe_mod_CFLAGS): likewise
37552 (probe_mod_LDFLAGS): likewise
37553 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37554 * conf/i386-ieee1275.rmk: likewise
37555 * conf/i386-pc.rmk: likewise
37556 * conf/powerpc-ieee1275.rmk: likewise
37557 * conf/sparc64-ieee1275.rmk: likewise
37558
37559 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37560
37561 Fix handling of string like \"hello\" and "a
37562 b"
37563
37564 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37565 (grub_script_yylex): fix parsing of quoting, escaping and newline
37566
37567 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37568
37569 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
37570 handling
37571
37572 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
37573
37574 * util/grub-mkconfig.in: Fix parsing of --output option.
37575
37576 2009-06-12 Pavel Roskin <proski@gnu.org>
37577
37578 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37579 genmk.rb don't need to be generated or installed.
37580
37581 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37582
37583 * commands/i386/pc/drivemap_int13h.S: add more comments
37584
37585 2009-06-11 Pavel Roskin <proski@gnu.org>
37586
37587 * Makefile.in (uninstall): Uninstall manuals.
37588
37589 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37590 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37591 and update-grub_lib in two places.
37592 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37593
37594 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37595 a compiler warning.
37596
37597 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37598 `entry_lo' to fix variable shadowing.
37599
37600 2009-06-11 Christian Franke <franke@computer.org>
37601
37602 * kern/misc.c (__enable_execute_stack): Add missing return type
37603 to prevent gcc warning.
37604
37605 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37606
37607 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37608
37609 2009-06-11 Pavel Roskin <proski@gnu.org>
37610
37611 * Makefile.in: Don't rely on any scripts being executable.
37612 Always use $(SHELL) to run shell scripts.
37613
37614 * configure.ac: Always define ___main if using -nostdlib. This
37615 fixes tests on Cygwin.
37616
37617 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37618
37619 UDF fix
37620
37621 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
37622 is in bytes and not in blocks
37623
37624 2009-06-11 Pavel Roskin <proski@gnu.org>
37625
37626 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37627 warning.
37628
37629 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37630
37631 * util/grub.d/30_os-prober.in: Fix a comment. Source
37632 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37633 to set the root device. Place drivemap command in the generated
37634 chain entry.
37635
37636 2009-06-11 Pavel Roskin <proski@gnu.org>
37637
37638 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37639 have long been resolved.
37640
37641 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
37642
37643 * util/grub.d/10_linux.in: Capitalise "Linux".
37644
37645 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37646
37647 2009-06-11 Pavel Roskin <proski@gnu.org>
37648
37649 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37650 fix a gcc warning and ensure that the function won't ever exit.
37651
37652 * kern/i386/ieee1275/init.c: Add missing prototype for
37653 grub_stop_floppy().
37654
37655 * loader/ieee1275/multiboot2.c [__i386__]: Include
37656 grub/cpu/multiboot.h.
37657
37658 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37659 casts to short - they are not portable and cause warnings. Fix
37660 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37661
37662 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37663
37664 Drivemap fixes
37665
37666 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37667 new function
37668 (grub_get_root_biosnumber_saved): new variable
37669 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37670 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
37671 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
37672 %dx after the call if necessary
37673 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37674 (boot_mod_SOURCES): remove
37675 (boot_mod_CFLAGS): remove
37676 (boot_mod_LDFLAGS): remove
37677 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37678 (boot_mod_SOURCES): new variable
37679 (boot_mod_CFLAGS): likewise
37680 (boot_mod_LDFLAGS): likewise
37681 * conf/i386-efi.rmk: likewise
37682 * conf/i386-ieee1275.rmk: likewise
37683 * conf/i386-pc.rmk: likewise
37684 * conf/powerpc-ieee1275.rmk: likewise
37685 * conf/sparc64-ieee1275.rmk: likewise
37686 * conf/x86_64-efi.rmk: likewise
37687 * include/grub/i386/pc/biosnum.h: new file
37688 * lib/i386/pc/biosnum.c: likewise
37689 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37690 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37691 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
37692
37693 2009-06-10 Pavel Roskin <proski@gnu.org>
37694
37695 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37696 Use separate variables. Read only the file size at the end, but
37697 not the checksum that we don't use.
37698
37699 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37700 Adjust all callers.
37701
37702 * kern/ieee1275/openfw.c: Remove libc includes.
37703 * kern/ieee1275/cmain.c: Likewise.
37704 * include/grub/ieee1275/ieee1275.h: Likewise.
37705
37706 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37707 compiler warnings.
37708
37709 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37710
37711 * Makefile.in: Remove all trailing whitespace.
37712 * conf/i386-pc.rmk: Likewise.
37713 * conf/powerpc-ieee1275.rmk: Likewise.
37714 * conf/sparc64-ieee1275.rmk: Likewise.
37715 * docs/grub.texi: Likewise.
37716 * docs/texinfo.tex: Likewise.
37717 * disk/fs_uuid.c: Likewise.
37718 * disk/lvm.c: Likewise.
37719 * disk/scsi.c: Likewise.
37720 * disk/ata.c: Likewise.
37721 * disk/ieee1275/ofdisk.c: Likewise.
37722 * disk/i386/pc/biosdisk.c: Likewise.
37723 * disk/host.c: Likewise.
37724 * disk/raid.c: Likewise.
37725 * disk/efi/efidisk.c: Likewise.
37726 * disk/usbms.c: Likewise.
37727 * disk/memdisk.c: Likewise.
37728 * disk/loopback.c: Likewise.
37729 * kern/powerpc/dl.c: Likewise.
37730 * kern/device.c: Likewise.
37731 * kern/dl.c: Likewise.
37732 * kern/sparc64/dl.c: Likewise.
37733 * kern/ieee1275/ieee1275.c: Likewise.
37734 * kern/term.c: Likewise.
37735 * kern/fs.c: Likewise.
37736 * kern/i386/dl.c: Likewise.
37737 * kern/i386/pc/startup.S: Likewise.
37738 * kern/i386/pc/init.c: Likewise.
37739 * kern/i386/pc/mmap.c: Likewise.
37740 * kern/i386/pc/lzo1x.S: Likewise.
37741 * kern/i386/ieee1275/init.c: Likewise.
37742 * kern/i386/realmode.S: Likewise.
37743 * kern/i386/tsc.c: Likewise.
37744 * kern/partition.c: Likewise.
37745 * kern/corecmd.c: Likewise.
37746 * kern/file.c: Likewise.
37747 * kern/efi/efi.c: Likewise.
37748 * kern/efi/init.c: Likewise.
37749 * kern/efi/mm.c: Likewise.
37750 * kern/main.c: Likewise.
37751 * kern/err.c: Likewise.
37752 * kern/env.c: Likewise.
37753 * kern/disk.c: Likewise.
37754 * kern/generic/millisleep.c: Likewise.
37755 * kern/generic/rtc_get_time_ms.c: Likewise.
37756 * kern/misc.c: Likewise.
37757 * kern/parser.c: Likewise.
37758 * genmk.rb: Likewise.
37759 * configure.ac: Likewise.
37760 * boot/i386/pc/diskboot.S: Likewise.
37761 * boot/i386/pc/pxeboot.S: Likewise.
37762 * boot/i386/pc/boot.S: Likewise.
37763 * boot/i386/pc/lnxboot.S: Likewise.
37764 * boot/i386/pc/cdboot.S: Likewise.
37765 * parttool/pcpart.c: Likewise.
37766 * video/readers/tga.c: Likewise.
37767 * video/video.c: Likewise.
37768 * video/bitmap.c: Likewise.
37769 * lib/envblk.c: Likewise.
37770 * lib/i386/setjmp.S: Likewise.
37771 * fs/xfs.c: Likewise.
37772 * fs/afs.c: Likewise.
37773 * fs/fat.c: Likewise.
37774 * fs/ntfs.c: Likewise.
37775 * fs/udf.c: Likewise.
37776 * fs/affs.c: Likewise.
37777 * fs/iso9660.c: Likewise.
37778 * fs/hfs.c: Likewise.
37779 * fs/fshelp.c: Likewise.
37780 * fs/ext2.c: Likewise.
37781 * fs/jfs.c: Likewise.
37782 * fs/reiserfs.c: Likewise.
37783 * fs/hfsplus.c: Likewise.
37784 * fs/minix.c: Likewise.
37785 * fs/cpio.c: Likewise.
37786 * fs/sfs.c: Likewise.
37787 * fs/ufs.c: Likewise.
37788 * efiemu/prepare.c: Likewise.
37789 * efiemu/loadcore_common.c: Likewise.
37790 * efiemu/runtime/efiemu.sh: Likewise.
37791 * efiemu/runtime/efiemu.S: Likewise.
37792 * efiemu/runtime/efiemu.c: Likewise.
37793 * efiemu/pnvram.c: Likewise.
37794 * efiemu/main.c: Likewise.
37795 * efiemu/i386/pc/cfgtables.c: Likewise.
37796 * efiemu/i386/loadcore64.c: Likewise.
37797 * efiemu/i386/loadcore32.c: Likewise.
37798 * efiemu/loadcore.c: Likewise.
37799 * efiemu/symbols.c: Likewise.
37800 * efiemu/mm.c: Likewise.
37801 * include/grub/autoefi.h: Likewise.
37802 * include/grub/datetime.h: Likewise.
37803 * include/grub/term.h: Likewise.
37804 * include/grub/hfs.h: Likewise.
37805 * include/grub/lvm.h: Likewise.
37806 * include/grub/i386/tsc.h: Likewise.
37807 * include/grub/i386/linux.h: Likewise.
37808 * include/grub/i386/xnu.h: Likewise.
37809 * include/grub/i386/efiemu.h: Likewise.
37810 * include/grub/i386/pc/biosdisk.h: Likewise.
37811 * include/grub/i386/pc/memory.h: Likewise.
37812 * include/grub/i386/pc/vbe.h: Likewise.
37813 * include/grub/parttool.h: Likewise.
37814 * include/grub/video.h: Likewise.
37815 * include/grub/memory.h: Likewise.
37816 * include/grub/fs.h: Likewise.
37817 * include/grub/partition.h: Likewise.
37818 * include/grub/xnu.h: Likewise.
37819 * include/grub/efi/api.h: Likewise.
37820 * include/grub/efi/pe32.h: Likewise.
37821 * include/grub/efi/memory.h: Likewise.
37822 * include/grub/multiboot.h: Likewise.
37823 * include/grub/usbdesc.h: Likewise.
37824 * include/grub/multiboot2.h: Likewise.
37825 * include/grub/acpi.h: Likewise.
37826 * include/grub/efiemu/efiemu.h: Likewise.
37827 * include/grub/disk.h: Likewise.
37828 * include/grub/ieee1275/ieee1275.h: Likewise.
37829 * include/grub/net.h: Likewise.
37830 * include/grub/machoload.h: Likewise.
37831 * include/grub/macho.h: Likewise.
37832 * include/multiboot.h: Likewise.
37833 * genmoddep.awk: Likewise.
37834 * normal/main.c: Likewise.
37835 * normal/menu_entry.c: Likewise.
37836 * normal/menu_viewer.c: Likewise.
37837 * normal/completion.c: Likewise.
37838 * normal/cmdline.c: Likewise.
37839 * normal/misc.c: Likewise.
37840 * normal/datetime.c: Likewise.
37841 * bus/usb/usbtrans.c: Likewise.
37842 * bus/usb/ohci.c: Likewise.
37843 * bus/usb/uhci.c: Likewise.
37844 * bus/usb/usb.c: Likewise.
37845 * mmap/efi/mmap.c: Likewise.
37846 * mmap/i386/pc/mmap_helper.S: Likewise.
37847 * mmap/i386/pc/mmap.c: Likewise.
37848 * mmap/i386/mmap.c: Likewise.
37849 * mmap/i386/uppermem.c: Likewise.
37850 * mmap/mmap.c: Likewise.
37851 * commands/acpi.c: Likewise.
37852 * commands/echo.c: Likewise.
37853 * commands/blocklist.c: Likewise.
37854 * commands/loadenv.c: Likewise.
37855 * commands/usbtest.c: Likewise.
37856 * commands/boot.c: Likewise.
37857 * commands/parttool.c: Likewise.
37858 * commands/search.c: Likewise.
37859 * commands/cat.c: Likewise.
37860 * commands/i386/pc/play.c: Likewise.
37861 * commands/i386/pc/drivemap.c: Likewise.
37862 * commands/i386/pc/vbeinfo.c: Likewise.
37863 * commands/i386/pc/acpi.c: Likewise.
37864 * commands/i386/pc/vbetest.c: Likewise.
37865 * commands/ls.c: Likewise.
37866 * commands/cmp.c: Likewise.
37867 * commands/test.c: Likewise.
37868 * commands/efi/acpi.c: Likewise.
37869 * commands/gptsync.c: Likewise.
37870 * commands/help.c: Likewise.
37871 * partmap/amiga.c: Likewise.
37872 * partmap/apple.c: Likewise.
37873 * partmap/acorn.c: Likewise.
37874 * partmap/pc.c: Likewise.
37875 * partmap/sun.c: Likewise.
37876 * partmap/gpt.c: Likewise.
37877 * script/sh/lexer.c: Likewise.
37878 * script/sh/function.c: Likewise.
37879 * font/font.c: Likewise.
37880 * font/font_cmd.c: Likewise.
37881 * loader/powerpc/ieee1275/linux.c: Likewise.
37882 * loader/efi/chainloader.c: Likewise.
37883 * loader/multiboot_loader.c: Likewise.
37884 * loader/macho.c: Likewise.
37885 * loader/i386/multiboot.c: Likewise.
37886 * loader/i386/linux.c: Likewise.
37887 * loader/i386/pc/linux.c: Likewise.
37888 * loader/i386/pc/multiboot2.c: Likewise.
37889 * loader/i386/pc/chainloader.c: Likewise.
37890 * loader/i386/pc/xnu.c: Likewise.
37891 * loader/i386/bsd_trampoline.S: Likewise.
37892 * loader/i386/efi/linux.c: Likewise.
37893 * loader/i386/multiboot_elfxx.c: Likewise.
37894 * loader/i386/bsd_helper.S: Likewise.
37895 * loader/i386/bsd.c: Likewise.
37896 * loader/i386/linux_trampoline.S: Likewise.
37897 * loader/i386/xnu_helper.S: Likewise.
37898 * loader/i386/xnu.c: Likewise.
37899 * loader/i386/bsd_pagetable.c: Likewise.
37900 * loader/i386/multiboot_helper.S: Likewise.
37901 * loader/xnu.c: Likewise.
37902 * loader/xnu_resume.c: Likewise.
37903 * io/gzio.c: Likewise.
37904 * term/efi/console.c: Likewise.
37905 * term/terminfo.c: Likewise.
37906 * term/ieee1275/ofconsole.c: Likewise.
37907 * term/i386/pc/serial.c: Likewise.
37908 * term/i386/pc/vesafb.c: Likewise.
37909 * term/i386/pc/vga.c: Likewise.
37910 * term/usb_keyboard.c: Likewise.
37911 * term/gfxterm.c: Likewise.
37912 * aclocal.m4: Likewise.
37913 * util/lvm.c: Likewise.
37914 * util/grub.d/30_os-prober.in: Likewise.
37915 * util/grub.d/10_hurd.in: Likewise.
37916 * util/console.c: Likewise.
37917 * util/grub-macho2img.c: Likewise.
37918 * util/grub-probe.c: Likewise.
37919 * util/hostfs.c: Likewise.
37920 * util/i386/pc/grub-mkimage.c: Likewise.
37921 * util/i386/pc/grub-setup.c: Likewise.
37922 * util/i386/efi/grub-mkimage.c: Likewise.
37923 * util/grub-mkconfig.in: Likewise.
37924 * util/raid.c: Likewise.
37925 * util/resolve.c: Likewise.
37926 * util/grub-mkdevicemap.c: Likewise.
37927 * util/grub-emu.c: Likewise.
37928 * util/getroot.c: Likewise.
37929 * util/hostdisk.c: Likewise.
37930 * util/usb.c: Likewise.
37931 * util/grub-editenv.c: Likewise.
37932 * util/misc.c: Likewise.
37933
37934 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37935
37936 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37937 `genparttoollist.sh'.
37938 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37939 Add `*.sh' to the list find searches for and change `mdate.sh'
37940 to `mdate-sh'.
37941
37942 2009-06-10 Pavel Roskin <proski@gnu.org>
37943
37944 * include/grub/multiboot2.h: Provide compatibility defines for
37945 multiboot2.h.
37946 * include/multiboot2.h: Include stdint.h only if needed, using
37947 angle brackets.
37948 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37949 grub/multiboot2.h.
37950 * loader/ieee1275/multiboot2.c: Likewise.
37951 * loader/multiboot2.c: Likewise.
37952 * loader/multiboot_loader.c: Likewise.
37953
37954 * configure.ac: Use -nostdlib when probing for the target. It
37955 should not be required to have libc for the target.
37956
37957 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37958 they fail without libc headers for the target.
37959 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37960 exports.
37961 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37962 preprocessor conditionals.
37963
37964 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37965 build system doesn't need to be aware of the tar.c internals.
37966
37967 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
37968
37969 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
37970
37971 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37972
37973 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37974 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37975
37976 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
37977
37978 * util/i386/pc/grub-install.in: Change the error message if UUIDs
37979 aren't available if ata.mod gets used.
37980
37981 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
37982
37983 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
37984 initialising controller.
37985 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37986
37987 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37988
37989 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37990 to choose between ata and biosdisk module on i386-pc.
37991
37992 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
37993
37994 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37995 Subclass and Programming Interface fields in terms of the 3 byte
37996 Class Code register.
37997 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37998
37999 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
38000 interface is OHCI. Add grub_dprintf for symmetry with
38001 bus/usb/uhci.c.
38002 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
38003 interface is UHCI. Add interf variable for programming
38004 interface. Print interface with class/subclass.
38005
38006 * bus/usb/ohci.c: Set interf with correct field.
38007
38008 * bus/usb/uhci.c: Remove unneeded doubled lines.
38009 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
38010 Remove whitespace inside comment.
38011
38012 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
38013
38014 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
38015 as fallback an equivalent option without depth.
38016
38017 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
38018
38019 Not fail if unable to retrieve C/H/S on LBA disks
38020
38021 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
38022 if unable to retrieve C/H/S on LBA disks
38023
38024 2009-06-08 Pavel Roskin <proski@gnu.org>
38025
38026 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
38027 about aliasing.
38028
38029 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
38030
38031 * Makefile.in (uninstall): Remove all $lib_DATA files.
38032
38033 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
38034
38035 Bugfix: install on partitionless device
38036
38037 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
38038 is a whole disk
38039
38040 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
38041
38042 * Makefile.in (uninstall): Remove all $include_DATA files.
38043
38044 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
38045
38046 * commands/true.c: New file. Implement the true and false commands.
38047 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
38048 (true_mod_SOURCES): New variable.
38049 (true_mod_CFLAGS): Likewise.
38050 (true_mod_LDFLAGS): Likewise.
38051
38052 2009-06-05 Colin D Bennett <colin@gibibit.com>
38053
38054 Optimized font character lookup using binary search instead of linear
38055 search. Fonts now are required to have the character index ordered by
38056 code point.
38057
38058 * font/font.c (load_font_index): Verify that fonts have ordered
38059 character indices.
38060 (find_glyph): Use binary search instead of linear search to find a
38061 character in a font.
38062
38063 2009-06-05 Michael Scherer <misc@mandriva.org>
38064
38065 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
38066 uses case sensitive btree.
38067 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
38068 only for case insensitive filesystems.
38069
38070 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
38071
38072 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
38073 * conf/common.rmk (search_mod_CFLAGS): likewise
38074
38075 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38076
38077 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
38078 compensate a compiler bug
38079
38080 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38081
38082 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
38083 instead of '\b'
38084
38085 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38086
38087 Definitions for creating asm symbols with Apple's CC
38088
38089 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
38090 [APPLE_CC] (VARIABLE): likewise
38091
38092 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38093
38094 Disable lnxboot.img when compiled
38095 with Apple's CC
38096
38097 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
38098 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
38099 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
38100 [! APPLE_CC] (CODE_LENG): skip
38101 [! APPLE_CC] (setup_sects): likewise
38102 [! APPLE_CC]: skip filling
38103
38104 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38105
38106 Address in trampolines based on 32-bit registers when compiled
38107 with Apple's CC
38108
38109 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
38110 for addresses
38111 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
38112
38113 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38114
38115 Avoid aliases when compiling with Apple's CC for PCBIOS machine
38116
38117 * kern/misc.c [APPLE_CC] (memcpy): new function
38118 [APPLE_CC] (memmove): likewise
38119 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
38120 (memcpy): define alias conditionally on !APPLE_CC
38121 (memset): likewise
38122 (abort): likewise
38123 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
38124 APPLE_CC are defined
38125 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
38126 (grub_assert_fail): make prototype conditional
38127
38128 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38129
38130 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
38131
38132 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
38133 grub-macho2img
38134 (CLEANFILES): add grub-macho2img
38135 (grub_macho2img_SOURCES): new variable
38136 * kern/i386/pc/startup.S (bss_start): new variable
38137 (bss_end): likewise
38138 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
38139 * util/grub-macho2img.c: new file
38140
38141 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38142
38143 Use objconv when compiling with Apple's CC
38144
38145 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
38146 (efiemu64.o): likewise
38147 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
38148 when compiling with Apple's CC
38149 (efiemu64_s.o): likewise
38150 * configure.ac: check for objconv when compiling with Apple's CC
38151 * genmk.rb: use objconv for modules when compiled with Apple's CC
38152
38153 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38154
38155 Define segment as well as section when compiling with
38156 Apple's CC
38157
38158 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
38159 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
38160 (efiemu_convert_pointer): likewise
38161 (efiemu_set_virtual_address_map): likewise
38162 (efiemu_convert_pointer): likewise
38163 (efiemu_getcrc32): likewise
38164 (init_crc32_table): likewise
38165 (reflect): likewise
38166 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
38167 (GRUB_MOD_DEP): likewise
38168
38169 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38170
38171 Allow a compilation without -mcmodel=large
38172
38173 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
38174 when compiled without -mcmodel=large
38175 (filter_memory_map): remove memory post 4 GiB when compiled
38176 without -mcmodel=large
38177 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
38178 TARGET_CFLAGS when -mcmodel=large isn't supported
38179
38180 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38181
38182 Remove nested functions in efiemu core
38183
38184 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
38185
38186 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38187
38188 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
38189
38190 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
38191 temporary storage
38192 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
38193 using Apple's CC
38194 (grub_cpu_is_tsc_supported): likewise
38195 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
38196
38197 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38198
38199 Absolute addressing through constant with Apple's cc
38200
38201 * kern/i386/pc/startup.S: Define necessary constants
38202 and address through it when using ABS with Apple's CC
38203 * boot/i386/pc/diskboot.S: likewise
38204 * boot/i386/pc/boot.S: likewise
38205 * boot/i386/pc/lnxboot.S: likewise
38206 * boot/i386/pc/cdboot.S: likewise
38207 * mmap/i386/pc/mmap_helper.S: likewise
38208 * commands/i386/pc/drivemap_int13h.S: likewise
38209
38210 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38211
38212 Check if compiler is apple cc
38213
38214 * Makefile.in (ASFLAGS): new variable
38215 (TARGET_ASFLAGS): likewise
38216 (TARGET_MODULE_FORMAT): likewise
38217 (TARGET_APPLE_CC): likewise
38218 (OBJCONV): likewise
38219 (TARGET_IMG_CFLAGS): likewise
38220 (TARGET_CPPFLAGS): add includedir
38221 * configure.ac: call grub_apple_cc and grub_apple_target_cc
38222 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
38223 Check for linker script only if compiler isn't Apple's CC
38224 (TARGET_MODULE_FORMAT): set
38225 (TARGET_APPLE_CC): likewise
38226 (TARGET_ASFLAGS): likewise
38227 (ASFLAGS): likewise
38228 Check for objcopy only if compiler isn't Apple's CC
38229 Check for BSS symbol only if compiler isn't Apple's CC
38230 * genmk.rb: adapt nm options if we use Apple's utils
38231 * aclocal.m4 (grub_apple_cc): new test
38232 (grub_apple_target_cc): likewise
38233
38234 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38235
38236 Simplify sed expressions and improve awk
38237
38238 * Makefile.in (install-local): simplify sed expression
38239 * gencmdlist.sh: likewise
38240 * genmoddep.awk: avoid adding module as a dependency of itself
38241
38242 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38243
38244 Add missing start symbols
38245
38246 * boot/i386/pc/boot.S: add start
38247 * boot/i386/pc/pxeboot.S: likewise
38248
38249 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38250
38251 Fix wrong assumptions with grub-mkimage on EFI
38252
38253 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
38254 (relocate_addresses): consider both r_addend and value at offset
38255 (make_mods_section): zerofill modinfo and header
38256 (convert_elf): write prefix here
38257
38258 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38259
38260 Use .asciz instead of .string
38261
38262 * i386/pc/diskboot.S: use .asciz instead of .string
38263 * i386/pc/boot.S: likewise
38264 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38265 (GRUB_MOD_NAME): likewise
38266
38267 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38268
38269 gfxpayload support
38270
38271 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38272 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38273 (grub_video_setup): remove
38274 (grub_video_set_mode): new prototype
38275 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38276 (vid_mode): remove
38277 (linux_vesafb_res): compile only on PCBIOS
38278 (grub_linux_boot): support gfxpayload
38279 * loader/i386/pc/xnu.c (video_hook): new function
38280 (grub_xnu_set_video): support gfxpayload
38281 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38282 (DEFAULT_VIDEO_HEIGHT): likewise
38283 (DEFAULT_VIDEO_FLAGS): likewise
38284 (DEFAULT_VIDEO_MODE): new definition
38285 (video_hook): new function
38286 (grub_gfxterm_init): use grub_video_set_mode
38287 * util/grub.d/30_os-prober.in: remove explicit modesetting before
38288 loading xnu
38289 * video/video.c (grub_video_setup): removed
38290 (grub_video_set_mode): new function based on grub_gfxterm_init and
38291 grub_video_setup
38292
38293 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38294
38295 Avoid calling biosdisk in drivemap
38296
38297 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38298 (revparse_biosdisk): likewise
38299 (list_mappings): derive name from id directly
38300 (grub_cmd_drivemap): use tryparse_diskstring
38301
38302 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38303
38304 Script fixes
38305
38306 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38307 (grub_lexer_param): add tokenonhold
38308 (grub_script_create_cmdline): remove cmdline. All callers updated
38309 (grub_script_function_create): make functionname
38310 grub_script_arg. All callers updated
38311 (grub_script_execute_argument_to_string): new prototype
38312 * kern/parser.c (state_transitions): reorder
38313 (grub_parser_cmdline_state): fix a bug and make more compact
38314 * script/sh/execute.c (grub_script_execute_argument_to_string):
38315 make global
38316 (grub_script_execute_cmdline): use new format
38317 * script/sh/function.c (grub_script_function_create): make functionname
38318 grub_script_arg. All callers updated
38319 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
38320 (grub_script_yylex): remove
38321 (grub_script_yylex2): renamed to ...
38322 (grub_script_yylex): ...renamed
38323 parse the expressions like a${b}c
38324 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38325 (GRUB_PARSER_TOKEN_VAR): remove
38326 (GRUB_PARSER_TOKEN_NAME): likewise
38327 ("if"): declare as typeless
38328 ("while"): likewise
38329 ("function"): likewise
38330 ("else"): likewise
38331 ("then"): likewise
38332 ("fi"): likewise
38333 (text): remove
38334 (argument): likewise
38335 (script): accept empty scripts and make exit on error
38336 (arguments): use GRUB_PARSER_TOKEN_ARG
38337 (function): likewise
38338 (command): move error handling to script
38339 (menuentry): move grub_script_lexer_ref before
38340 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
38341 argument. All callers updated
38342
38343 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38344
38345 Prevent GRUB from probing floppies during boot.
38346
38347 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38348 * commands/search.c (options): Add --no-floppy.
38349 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38350 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38351 --no-floppy when searching for UUIDs.
38352
38353 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38354
38355 Simplify the code duplication in commands/search.c.
38356
38357 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38358 (search_fs): ... this. Update all users.
38359
38360 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
38361
38362 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38363
38364 2009-05-28 Pavel Roskin <proski@gnu.org>
38365
38366 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38367 Remove the original symlink explicitly.
38368
38369 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38370 just one slash. That's how grub_fshelp_find_file() does it.
38371
38372 2009-05-26 Pavel Roskin <proski@gnu.org>
38373
38374 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38375 to `str'.
38376
38377 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38378 possibly unused.
38379
38380 2009-05-25 Christian Franke <franke@computer.org>
38381
38382 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38383 register.
38384 (grub_atapi_identify): Add wait after drive select.
38385 (grub_ata_identify): Do more strict status register check before
38386 calling grub_atapi_identify (). Suppress error message if status
38387 register is 0x00 after command failure. Add status register
38388 check after PIO read to avoid bogus identify due to stuck DRQ.
38389 Thanks to Pavel Roskin for testing.
38390 (grub_device_initialize): Remove unsafe status register check.
38391 Thanks to 'phcoder' for problem report and patch.
38392 Prevent sign extension in debug message.
38393
38394 2009-05-23 Colin D Bennett <colin@gibibit.com>
38395
38396 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38397 definition file, and functions defined in `normal/menu.c' have had
38398 their prototypes moved to `include/grub/menu.h' for consistency.
38399
38400 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38401 from normal.h.
38402 (grub_menu_get_entry): Likewise.
38403 (grub_menu_get_timeout): Likewise.
38404 (grub_menu_set_timeout): Likewise.
38405 (grub_menu_execute_entry): Likewise.
38406 (grub_menu_execute_with_fallback): Likewise.
38407 (grub_menu_entry_run): Likewise.
38408
38409 * include/grub/normal.h: Re-ordered and grouped function
38410 prototypes by file that the function is defined in.
38411 (grub_menu_execute_callback): Removed; moved to menu.h.
38412 (grub_menu_get_entry): Likewise.
38413 (grub_menu_get_timeout): Likewise.
38414 (grub_menu_set_timeout): Likewise.
38415 (grub_menu_execute_entry): Likewise.
38416 (grub_menu_execute_with_fallback): Likewise.
38417 (grub_menu_entry_run): Likewise.
38418 (grub_menu_addentry): Renamed from this ...
38419 (grub_normal_add_menu_entry): ... to this.
38420
38421 * normal/main.c (grub_menu_addentry): Renamed from this ...
38422 (grub_normal_add_menu_entry): ... to this.
38423
38424 * script/sh/execute.c (grub_script_execute_menuentry): Update
38425 reference to renamed grub_menu_addentry function.
38426
38427 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
38428
38429 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38430
38431 2009-05-22 Pavel Roskin <proski@gnu.org>
38432
38433 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38434 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38435 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38436 compiling for the i386 targets, but not for the utilities.
38437
38438 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38439 to grub_uint8_t.
38440 (grub_root_drive): Likewise.
38441 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38442 remove alignment.
38443 (grub_root_drive): Change size to byte.
38444 (grub_start_addr): Remove.
38445 (grub_end_addr): Likewise.
38446 (grub_apm_bios_info): Likewise.
38447
38448 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
38449
38450 * normal/i386: Remove.
38451 * normal/powerpc: Likewise.
38452 * normal/sparc64: Likewise.
38453 * normal/x86_64: Likewise.
38454
38455 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38456
38457 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
38458 * loader/i386/linux_trampoline.S: Fix indentation
38459 * loader/i386/xnu_helper.S: Likewise
38460
38461 2009-05-18 Colin D Bennett <colin@gibibit.com>
38462
38463 Display error messages when parsing a Lua statement fails.
38464 Previously, executing a syntactically invalid statement like
38465 ")foo" or "bar;" would silently fail.
38466
38467 * script/lua/grub_main.c (handle_lua_error): New function.
38468 (grub_lua_parse_line): Improved reporting of Lua parser and
38469 execution errors.
38470
38471 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38472
38473 Remove -Werror which causes build to fail on some systems
38474
38475 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38476 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38477 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
38478
38479 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38480
38481 trampoline for linux on 64-bit platform
38482
38483 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38484 loader/i386/efi/linux_trampoline.S
38485 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
38486 declaration
38487 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38488 here
38489 * loader/i386/linux_trampoline.S: moved here
38490 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38491 trampoline
38492 (jumpvector): removed
38493 (grub_linux_trampoline_start): new declaration
38494 (grub_linux_trampoline_end): likewise
38495 (grub_linux_boot): use trampoline when on 64-bit platform
38496 * loader/i386/linux.c: likewise
38497
38498 2009-05-16 Pavel Roskin <proski@gnu.org>
38499
38500 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38501 const to avoid a warning.
38502 (grub_lua_setenv): Likewise.
38503 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38504 lmsg to fix a warning.
38505
38506 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38507
38508 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
38509 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38510 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38511 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38512 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38513 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38514 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38515 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38516
38517 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38518
38519 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38520
38521 2009-05-16 Bean <bean123ch@gmail.com>
38522
38523 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38524 (lua_mod_SOURCES): New variable.
38525 (lua_mod_CFLAGS): Likewise.
38526 (lua_mod_LDFLAGS): Likewise.
38527
38528 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38529 (setjmp_mod_SOURCES): New variable.
38530 (setjmp_mod_CFLAGS): Likewise.
38531 (setjmp_LDFLAGS): Likewise.
38532
38533 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38534 (setjmp_mod_SOURCES): New variable.
38535 (setjmp_mod_CFLAGS): Likewise.
38536 (setjmp_LDFLAGS): Likewise.
38537
38538 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38539 (setjmp_mod_SOURCES): New variable.
38540 (setjmp_mod_CFLAGS): Likewise.
38541 (setjmp_LDFLAGS): Likewise.
38542
38543 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38544 (setjmp_mod_SOURCES): New variable.
38545 (setjmp_mod_CFLAGS): Likewise.
38546 (setjmp_LDFLAGS): Likewise.
38547
38548 * normal/i386/setjmp.S: Moved from here ...
38549 * lib/i386/setjmp.S: ... Moved here
38550 * normal/x86_64/setjmp.S: Moved from here ...
38551 * lib/x86_64/setjmp.S: ... Moved here
38552 * normal/powerpc/setjmp.S: Moved from here ...
38553 * lib/powerpc/setjmp.S: ... Moved here
38554 * normal/sparc64/setjmp.S: Moved from here ...
38555 * lib/sparc64/setjmp.S: ... Moved here
38556
38557 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38558 returns_twice in mingw.
38559
38560 * script/lua/grub_lib.c: New file.
38561 * script/lua/grub_lib.h: Likewise.
38562 * script/lua/grub_lua.h: Likewise.
38563 * script/lua/grub_main.c: Likewise.
38564 * script/lua/lapi.c: Likewise.
38565 * script/lua/lapi.h: Likewise.
38566 * script/lua/lauxlib.c: Likewise.
38567 * script/lua/lauxlib.h: Likewise.
38568 * script/lua/lbaselib.c: Likewise.
38569 * script/lua/lcode.c: Likewise.
38570 * script/lua/lcode.h: Likewise.
38571 * script/lua/ldblib.c: Likewise.
38572 * script/lua/ldebug.c: Likewise.
38573 * script/lua/ldebug.h: Likewise.
38574 * script/lua/ldo.c: Likewise.
38575 * script/lua/ldo.h: Likewise.
38576 * script/lua/ldump.c: Likewise.
38577 * script/lua/lfunc.c: Likewise.
38578 * script/lua/lfunc.h: Likewise.
38579 * script/lua/lgc.c: Likewise.
38580 * script/lua/lgc.h: Likewise.
38581 * script/lua/linit.c: Likewise.
38582 * script/lua/liolib.c: Likewise.
38583 * script/lua/llex.c: Likewise.
38584 * script/lua/llex.h: Likewise.
38585 * script/lua/llimits.h: Likewise.
38586 * script/lua/lmathlib.c: Likewise.
38587 * script/lua/lmem.c: Likewise.
38588 * script/lua/lmem.h: Likewise.
38589 * script/lua/loadlib.c: Likewise.
38590 * script/lua/lobject.c: Likewise.
38591 * script/lua/lobject.h: Likewise.
38592 * script/lua/lopcodes.c: Likewise.
38593 * script/lua/lopcodes.h: Likewise.
38594 * script/lua/loslib.c: Likewise.
38595 * script/lua/lparser.c: Likewise.
38596 * script/lua/lparser.h: Likewise.
38597 * script/lua/lstate.c: Likewise.
38598 * script/lua/lstate.h: Likewise.
38599 * script/lua/lstring.c: Likewise.
38600 * script/lua/lstring.h: Likewise.
38601 * script/lua/lstrlib.c: Likewise.
38602 * script/lua/ltable.c: Likewise.
38603 * script/lua/ltable.h: Likewise.
38604 * script/lua/ltablib.c: Likewise.
38605 * script/lua/ltm.c: Likewise.
38606 * script/lua/ltm.h: Likewise.
38607 * script/lua/lua.h: Likewise.
38608 * script/lua/luaconf.h: Likewise.
38609 * script/lua/lualib.h: Likewise.
38610 * script/lua/lundump.c: Likewise.
38611 * script/lua/lundump.h: Likewise.
38612 * script/lua/lvm.c: Likewise.
38613 * script/lua/lvm.h: Likewise.
38614 * script/lua/lzio.c: Likewise.
38615 * script/lua/lzio.h: Likewise.
38616
38617 2009-05-16 Bean <bean123ch@gmail.com>
38618
38619 * include/grub/kernel.h (grub_module_header_types): Add type
38620 OBJ_TYPE_CONFIG.
38621
38622 * kern/main.c (grub_load_config): New function.
38623 (grub_main): Call grub_load_config to read boot config.
38624
38625 * grub-mkimage (generate_image): New parameter config_path.
38626 (options): New option --config.
38627 (main): Parse --config option, and pass it to generate_image.
38628
38629 2009-05-14 Christian Franke <franke@computer.org>
38630
38631 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38632 This fixes build on Cygwin.
38633
38634 2009-05-14 Pavel Roskin <proski@gnu.org>
38635
38636 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38637 jump. This saves two bytes, so the typical case of 2 swapped
38638 drives would fit 32 bytes.
38639
38640 2009-05-13 Pavel Roskin <proski@gnu.org>
38641
38642 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38643 grub_uint32_t to avoid a warning.
38644
38645 * loader/i386/linux.c (allocate_pages): When assigning
38646 real_mode_mem, cast through grub_size_t to fix a warning. The
38647 code already makes sure that the value would fit a pointer.
38648 (grub_linux_setup_video): Cast render_target->data to
38649 grub_size_t to fix a warning.
38650
38651 2009-05-13 Javier Martín <lordhabbit@gmail.com>
38652
38653 * commands/i386/pc/drivemap.c: New file - implement drivemap
38654 command.
38655 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38656 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38657
38658 2009-05-13 Pavel Roskin <proski@gnu.org>
38659
38660 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38661 embedding_area_exists.
38662
38663 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38664
38665 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38666 it easier to understand / work with.
38667 Improve warning messages for cases where there's no embedding area,
38668 or when it is too small (or core.img too large).
38669
38670 2009-05-13 Pavel Roskin <proski@gnu.org>
38671
38672 * loader/i386/pc/multiboot2.c: Add necessary includes for
38673 grub_multiboot2_real_boot().
38674
38675 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38676 PX record is always little-endian. We only need the lower 2
38677 bytes of the mode.
38678
38679 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38680 facilitate code reuse.
38681 (grub_cpio_mount): Use "struct head", not a char buffer. This
38682 fixes a warning reported by gcc 4.4.
38683
38684 * kernel/disk.c (grub_disk_read): Use void pointer for the
38685 buffer.
38686 (grub_disk_write): Use const void pointer for the buffer.
38687 Adjust all callers. Remove unnecessary casts.
38688
38689 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38690
38691 * util/i386/pc/grub-install.in: Update copyright year.
38692
38693 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38694
38695 gptsync
38696
38697 * commands/gptsync.c: new file
38698 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38699 (gptsync_mod_SOURCES): new variable
38700 (gptsync_mod_CFLAGS): likewise
38701 (gptsync_mod_LDFLAGS): likewise
38702 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
38703 new definition
38704 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38705 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38706 * conf/i386-ieee1275.rmk: likewise
38707 * conf/i386-pc.rmk: likewise
38708 * conf/powerpc-ieee1275.rmk: likewise
38709
38710 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38711
38712 Fixed grub-emu
38713
38714 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38715 (grub_dl_ref): likewise
38716
38717 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38718
38719 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38720 split in two functions (one for msdos and one for gpt).
38721
38722 2009-05-08 Pavel Roskin <proski@gnu.org>
38723
38724 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38725 not modified.
38726
38727 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38728 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38729 Initialize them with -1. Add sanity check for bad1. Eliminate
38730 nerr variable.
38731
38732 2009-05-08 David S. Miller <davem@davemloft.net>
38733
38734 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38735
38736 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38737
38738 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
38739 existence.
38740
38741 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
38742
38743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38744 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
38745
38746 2009-05-05 David S. Miller <davem@davemloft.net>
38747
38748 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38749
38750 2009-05-05 Pavel Roskin <proski@gnu.org>
38751
38752 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38753 of grub_dl_ref() and grub_dl_unref().
38754 * commands/parttool.c: Remove preprocessor conditionals around
38755 grub_dl_ref() and grub_dl_unref().
38756 * fs/affs.c: Likewise.
38757 * fs/afs.c: Likewise.
38758 * fs/cpio.c: Likewise.
38759 * fs/ext2.c: Likewise.
38760 * fs/fat.c: Likewise.
38761 * fs/hfs.c: Likewise.
38762 * fs/hfsplus.c: Likewise.
38763 * fs/iso9660.c: Likewise.
38764 * fs/jfs.c: Likewise.
38765 * fs/minix.c: Likewise.
38766 * fs/ntfs.c: Likewise.
38767 * fs/reiserfs.c: Likewise.
38768 * fs/sfs.c: Likewise.
38769 * fs/udf.c: Likewise.
38770 * fs/ufs.c: Likewise.
38771 * fs/xfs.c: Likewise.
38772 * include/grub/dl.h: Likewise.
38773 * loader/xnu.c: Likewise.
38774
38775 2009-05-04 Pavel Roskin <proski@gnu.org>
38776
38777 * commands/acpi.c: Remove unused variable my_mod.
38778 * partmap/amiga.c: Likewise.
38779 * partmap/apple.c: Likewise.
38780 * partmap/gpt.c: Likewise.
38781 * partmap/pc.c: Likewise.
38782 * partmap/sun.c: Likewise.
38783 * term/gfxterm.c: Likewise.
38784 * term/i386/pc/vesafb.c: Likewise.
38785 * term/i386/pc/vga.c: Likewise.
38786
38787 2009-05-04 David S. Miller <davem@davemloft.net>
38788
38789 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38790 pointer args to grub_ieee1275_get_property().
38791
38792 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38793
38794 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38795 devices, and do not traverse down under controller nodes.
38796
38797 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38798 (grub_ofdisk_open): Use it to un-escape "," characters.
38799 * kern/disk.c (find_part_sep): New.
38800 (grub_disk_open): Use it to find the first non-escaped ','
38801 character in the disk name.
38802 * util/ieee1275/devicemap.c (escape_of_path): New.
38803 (grub_util_emit_devicemap_entry): Use it.
38804 * util/sparc64/ieee1275/grub-install.in: Update script to
38805 strip partition specifiers properly by not triggering on
38806 '\' escaped ',' characters.
38807
38808 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38809
38810 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38811 to 0x300.
38812 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38813 resolutions.
38814 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38815 on documentation from Wikipedia).
38816
38817 2009-05-04 Pavel Roskin <proski@gnu.org>
38818
38819 * disk/ata.c: Spelling fixes.
38820 * disk/raid.c: Likewise.
38821 * disk/usbms.c: Likewise.
38822 * disk/dmraid_nvidia.c: Likewise.
38823 * kern/ieee1275/openfw.c: Likewise.
38824 * kern/ieee1275/init.c: Likewise.
38825 * kern/ieee1275/cmain.c: Likewise.
38826 * boot/i386/pc/cdboot.S: Likewise.
38827 * video/readers/png.c: Likewise.
38828 * video/i386/pc/vbe.c: Likewise.
38829 * fs/udf.c: Likewise.
38830 * fs/hfs.c: Likewise.
38831 * fs/reiserfs.c: Likewise.
38832 * efiemu/runtime/efiemu.c: Likewise.
38833 * efiemu/main.c: Likewise.
38834 * efiemu/mm.c: Likewise.
38835 * include/grub/elf.h: Likewise.
38836 * include/grub/xnu.h: Likewise.
38837 * include/grub/usbdesc.h: Likewise.
38838 * include/grub/usb.h: Likewise.
38839 * include/grub/script_sh.h: Likewise.
38840 * include/grub/lib/LzmaEnc.h: Likewise.
38841 * include/grub/efiemu/efiemu.h: Likewise.
38842 * include/grub/command.h: Likewise.
38843 * normal/menu.c: Likewise.
38844 * normal/main.c: Likewise.
38845 * normal/datetime.c: Likewise.
38846 * bus/usb/uhci.c: Likewise.
38847 * mmap/i386/uppermem.c: Likewise.
38848 * mmap/mmap.c: Likewise.
38849 * commands/acpi.c: Likewise.
38850 * commands/test.c: Likewise.
38851 * partmap/apple.c: Likewise.
38852 * font/font.c: Likewise.
38853 * loader/sparc64/ieee1275/linux.c: Likewise.
38854 * loader/macho.c: Likewise.
38855 * loader/i386/bsd_trampoline.S: Likewise.
38856 * loader/i386/bsd.c: Likewise.
38857 * loader/xnu.c: Likewise.
38858 * term/i386/pc/vesafb.c: Likewise.
38859 * term/usb_keyboard.c: Likewise.
38860 * util/resolve.c: Likewise.
38861 * util/getroot.c: Likewise.
38862
38863 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38864
38865 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38866
38867 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38868
38869 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38870 build error.
38871
38872 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38873
38874 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38875 parameter only available on BIOS.
38876
38877 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38878
38879 Removed wrong semicolon in declaration
38880
38881 * grub/misc.h (grub_dprintf): remove semicolon
38882
38883 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38884
38885 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38886 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38887 is done by grub_cmd_linux() now).
38888 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38889 restore video to text mode.
38890 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38891 indicates lack of "vga=" parameter. "vga=0" is mapped to
38892 `GRUB_LINUX_VID_MODE_NORMAL'.
38893
38894 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38895
38896 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38897 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38898 and `normal/script.c'. Add `kern/rescue_reader.c',
38899 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
38900 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38901 `grub_script.tab.c'.
38902
38903 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38904 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38906 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38907 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38908
38909 * Makefile.in: Remove duplicated 2008 in Copyright line.
38910
38911 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38912
38913 * util/misc.c (grub_util_warn): New function. Emits a warning
38914 unconditionally.
38915 * include/grub/util/misc.h (grub_util_warn): New declaration.
38916
38917 * util/i386/pc/grub-install.in: Understand --force and pass it down
38918 to grub-setup.
38919
38920 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38921 down to setup().
38922 (setup): Improve error messages and add warnings when requested to
38923 install in odd layouts. Refuse to install using blocklists unless
38924 --force was set.
38925
38926 2009-05-04 martin f. krafft <madduck@madduck.net>
38927
38928 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38929
38930 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38931
38932 Updated copyright year
38933
38934 * fs/hfsplus.c: updated copyright year
38935
38936 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38937
38938 HFS+ UUID
38939
38940 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
38941 in the space previously used by unused3
38942 (grub_hfsplus_uuid): new function
38943 (grub_hfsplus_fs): added uuid field
38944
38945 2009-05-03 Pavel Roskin <proski@gnu.org>
38946
38947 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38948 suppress warnings. It's no longer needed.
38949 * disk/host.c: Likewise.
38950 * disk/ata_pthru.c: Likewise.
38951 * disk/loopback.c: Likewise.
38952 * hook/datehook.c: Likewise.
38953 * parttool/pcpart.c: Likewise.
38954 * fs/i386/pc/pxe.c: Likewise.
38955 * fs/ntfscomp.c: Likewise.
38956 * efiemu/main.c: Likewise.
38957 * mmap/mmap.c: Likewise.
38958 * commands/crc.c: Likewise.
38959 * commands/hexdump.c: Likewise.
38960 * commands/hdparm.c: Likewise.
38961 * commands/acpi.c: Likewise.
38962 * commands/echo.c: Likewise.
38963 * commands/minicmd.c: Likewise.
38964 * commands/blocklist.c: Likewise.
38965 * commands/memrw.c: Likewise.
38966 * commands/loadenv.c: Likewise.
38967 * commands/usbtest.c: Likewise.
38968 * commands/lsmmap.c: Likewise.
38969 * commands/boot.c: Likewise.
38970 * commands/parttool.c: Likewise.
38971 * commands/configfile.c: Likewise.
38972 * commands/search.c: Likewise.
38973 * commands/ieee1275/suspend.c: Likewise.
38974 * commands/cat.c: Likewise.
38975 * commands/i386/pc/pxecmd.c: Likewise.
38976 * commands/i386/pc/play.c: Likewise.
38977 * commands/i386/pc/halt.c: Likewise.
38978 * commands/i386/pc/vbeinfo.c: Likewise.
38979 * commands/i386/pc/vbetest.c: Likewise.
38980 * commands/lspci.c: Likewise.
38981 * commands/date.c: Likewise.
38982 * commands/handler.c: Likewise.
38983 * commands/ls.c: Likewise.
38984 * commands/test.c: Likewise.
38985 * commands/cmp.c: Likewise.
38986 * commands/efi/loadbios.c: Likewise.
38987 * commands/efi/fixvideo.c: Likewise.
38988 * commands/halt.c: Likewise.
38989 * commands/help.c: Likewise.
38990 * commands/reboot.c: Likewise.
38991 * hello/hello.c: Likewise.
38992 * script/sh/main.c: Likewise.
38993 * loader/xnu.c: Likewise.
38994 * term/terminfo.c: Likewise.
38995 * term/i386/pc/serial.c: Likewise.
38996 * term/usb_keyboard.c: Likewise.
38997
38998 2009-05-03 David S. Miller <davem@davemloft.net>
38999
39000 * normal/menu.c: Include grub/parser.h
39001
39002 2009-05-03 Pavel Roskin <proski@gnu.org>
39003
39004 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
39005 not char*.
39006 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
39007 Suggested by Javier Martín <lordhabbit@gmail.com>
39008
39009 * util/i386/pc/grub-mkrescue.in: Allow for the case when
39010 efiemu??.o doesn't exist.
39011 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
39012 copying.
39013
39014 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
39015
39016 FreeBSD 64-bit support
39017
39018 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
39019 and loader/i386/bsd_trampoline.S
39020 (bsd_mod_ASFLAGS): new variable
39021 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
39022 (FREEBSD_MODTYPE_KERNEL64): likewise
39023 (grub_bsd64_trampoline_start): likewise
39024 (grub_bsd64_trampoline_end): likewise
39025 (grub_bsd64_trampoline_selfjump): likewise
39026 (grub_bsd64_trampoline_gdt): likewise
39027 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
39028 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
39029 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
39030 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
39031 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
39032 of "attrib" member
39033 * loader/i386/bsd_pagetable.c: new file
39034 * loader/i386/bsd_trampoline.S: likewise
39035 * loader/i386/bsd.c (ALIGN_QWORD): new macro
39036 (ALIGN_VAR): likewise
39037 (entry_hi): new variable
39038 (kern_end_mdofs): likewise
39039 (is_64bit): likewise
39040 (grub_freebsd_add_meta): use ALIGN_VAR
39041 (grub_e820_mmap): new declaration
39042 (grub_freebsd_add_mmap): new function
39043 (grub_freebsd_add_meta_module): support 64 bit kernels
39044 (grub_freebsd_list_modules): use ALIGN_VAR
39045 (gdt_descriptor): new declaration
39046 (grub_freebsd_boot): support 64 bit kernels
39047 (grub_bsd_elf64_hook): new function
39048 (grub_bsd_load_elf): support elf64
39049
39050 2009-05-03 Bean <bean123ch@gmail.com>
39051
39052 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
39053 after we get the result of if statement.
39054
39055 2009-05-03 Bean <bean123ch@gmail.com>
39056
39057 * Makefile.in (enable_efiemu): New variable.
39058
39059 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
39060 set.
39061 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
39062 path.
39063 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
39064 path, add -mno-red-zone option.
39065 (efiemu64_s.o): Likewise.
39066 (efiemu64.o): Use macro $^ for source file.
39067
39068 * configure.ac (--enable-efiemu): New option.
39069
39070 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
39071
39072 xnu support
39073
39074 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
39075 (pkglib_MODULES): add xnu.mod
39076 (xnu_mod_SOURCES): new variable
39077 (xnu_mod_CFLAGS): likewise
39078 (xnu_mod_LDFLAGS): likewise
39079 (xnu_mod_ASFLAGS): likewise
39080 * conf/i386-pc.rmk: likewise
39081 * conf/x86_64-efi.rmk: likewise
39082 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
39083 new declaration
39084 * include/grub/i386/macho.h: new file
39085 * include/grub/i386/xnu.h: likewise
39086 * include/grub/macho.h: likewise
39087 * include/grub/machoload.h: likewise
39088 * include/grub/x86_64/macho.h: likewise
39089 * include/grub/x86_64/xnu.h: likewise
39090 * include/grub/xnu.h: likewise
39091 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
39092 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
39093 * loader/i386/efi/xnu.c: new file
39094 * loader/i386/pc/xnu.c: likewise
39095 * loader/i386/xnu.c: likewise
39096 * loader/i386/xnu_helper.S: likewise
39097 * loader/macho.c: likewise
39098 * loader/xnu.c: likewise
39099 * loader/xnu_resume.c: likewise
39100 * util/grub-dumpdevtree: likewise
39101 * include/grub/i386/pit.h: include grub/err.h
39102 (grub_pit_wait): export
39103 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
39104
39105 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39106
39107 Efiemu
39108
39109 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
39110 _linux_efi, linux_efi.
39111 new files in grub-emu
39112 new targets efiemu32.o and efiemu64.o
39113 * loader/linux_normal_efiemu.c: likewise
39114 * loader/i386/efi/linux.c: added preliminary efiemu support
39115 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
39116 files to copy
39117 * include/grub/autoefi.h: new file
39118 * include/grub/i386/efiemu.h: likewise
39119 * include/grub/i386/pc/efiemu.h: likewise
39120 * include/grub/efi/api.h: add LL suffix when necessary
39121 new definitions relating to tables
39122 * include/grub/efiemu/efiemu.h: new file
39123 * include/grub/efiemu/runtime.h: likewise
39124 * efiemu/prepare.c: likewise
39125 * efiemu/loadcore_common.c: likewise
39126 * efiemu/loadcore64.c: likewise
39127 * efiemu/runtime/efiemu.sh: likewise
39128 * efiemu/runtime/efiemu.S: likewise
39129 * efiemu/runtime/efiemu.c: likewise
39130 * efiemu/runtime/config.h: likewise
39131 * efiemu/prepare32.c: likewise
39132 * efiemu/main.c: likewise
39133 * efiemu/modules/pnvram.c: likewise
39134 * efiemu/modules/i386: likewise
39135 * efiemu/modules/i386/pc: likewise
39136 * efiemu/modules/acpi.c: likewise
39137 * efiemu/i386/pc/cfgtables.c: likewise
39138 * efiemu/i386/loadcore64.c: likewise
39139 * efiemu/i386/loadcore32.c: likewise
39140 * efiemu/prepare64.c: likewise
39141 * efiemu/loadcore.c: likewise
39142 * efiemu/symbols.c: likewise
39143 * efiemu/mm.c: likewise
39144 * efiemu/loadcore32.c: likewise
39145
39146 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39147
39148 ACPI spoofing
39149
39150 * commands/acpi.c: new file
39151 * commands/i386/pc/acpi.c: likewise
39152 * commands/efi/acpi.c: likewise
39153 * include/grub/acpi.h: likewise
39154 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
39155 (acpi_mod_SOURCES): new variable
39156 (acpi_mod_CFLAGS): likewise
39157 (acpi_mod_LDFLAGS): likewise
39158 * conf/i386-efi.rmk: likewise
39159 * conf/x86_64-efi.rmk: likewise
39160
39161 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39162
39163 Missing part from mmap patch
39164
39165 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
39166 (grub_mmap_unregister)
39167 (grub_mmap_free_and_unregister): use grub_mmap_register
39168
39169 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39170
39171 Mmap services
39172
39173 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
39174 * loader/i386/linux.c (find_mmap_size): likewise
39175 (allocate_pages): likewise
39176 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
39177 (grub_fill_multiboot_mmap): likewise
39178 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
39179 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
39180 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
39181 (OPENBSD_MMAP_RESERVED): likewise
39182 * include/grub/i386/pc/memory.h: include grub/memory.h
39183 (grub_lower_mem): removed
39184 (grub_upper_mem): likewise
39185 (GRUB_MACHINE_MEMORY_ACPI): new definition
39186 (GRUB_MACHINE_MEMORY_NVS): likewise
39187 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
39188 (GRUB_MACHINE_MEMORY_HOLE): likewise
39189 (grub_machine_mmap_register): likewise
39190 (grub_machine_mmap_unregister): likewise
39191 (grub_machine_get_upper): likewise
39192 (grub_machine_get_lower): likewise
39193 (grub_machine_get_post64): likewise
39194 * include/grub/i386/efi/memory.h: new file
39195 * include/grub/x86_64/efi/memory.h: likewise
39196 * include/grub/efi/memory.h: likewise
39197 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
39198 (mmap_mod_SOURCES): new variable
39199 (mmap_mod_LDFLAGS): likewise
39200 (mmap_mod_ASFLAGS): likewise
39201 * conf/i386-coreboot.rmk: likewise
39202 * conf/i386-ieee1275.rmk: likewise
39203 * conf/i386-efi.rmk: likewise
39204 * conf/x86_64-efi.rmk: likewise
39205 * include/grub/types.h (UINT_TO_PTR): new macro
39206 (PTR_TO_UINT32): likewise
39207 (PTR_TO_UINT64): likewise
39208 * include/grub/memory.h: new file
39209 * mmap/i386/pc/mmap.c: likewise
39210 * mmap/i386/pc/mmap_helper.S: likewise
39211 * mmap/i386/uppermem.c: likewise
39212 * mmap/mmap.c: likewise
39213 * mmap/efi/mmap.c: likewise
39214 * kern/i386/coreboot/init.c (grub_machine_init): don't use
39215 grub_upper_mem
39216 * kern/i386/pc/init.c (grub_lower_mem): removed variable
39217 (grub_upper_mem): likewise
39218 (grub_machine_init): don't use grub_upper_mem,
39219 make grub_lower_mem local
39220 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
39221 grub_mmap_iterate and grub_mmap_get_upper
39222 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
39223
39224 2009-05-02 Bean <bean123ch@gmail.com>
39225
39226 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
39227 script/sh/parser.y.
39228 (pkglib_MODULES): Add normal.mod and sh.mod.
39229 (normal_SOURCES): New variable.
39230 (normal_mod_CFLAGS): Likewise.
39231 (normal_mod_LDFLAGS): Likewise.
39232 (sh_mod_SOURCES): Likewise.
39233 (sh_mod_CFLAGS): Likewise.
39234 (sh_mod_LDFLAGS): Likewise.
39235
39236 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
39237 script/sh/lexer.c_DEPENDENCIES.
39238 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
39239 kern/rescue_reader.c and kern/rescue_parser.c.
39240 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
39241 (grub_emu_SOURCES): Change source files.
39242 (pkglib_MODULES): Remove normal.mod.
39243 (normal_SOURCES): Removed.
39244 (normal_mod_CFLAGS): Likewise.
39245 (normal_mod_LDFLAGS): Likewise.
39246 * conf/i386-coreboot.rmk: Likewise.
39247 * conf/i386-efi.rmk: Likewise.
39248 * conf/i386-ieee1276.rmk: Likewise.
39249 * conf/powerpc-ieee1275.rmk: Likewise.
39250 * conf/sparc64-ieee1275.rmk: Likewise.
39251 * conf/x86_64-efi.rmk: Likewise.
39252
39253 * include/grub/command.h (grub_command_execute): New inline function.
39254
39255 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39256
39257 * include/grub/normal.h: Remove <grub/setjmp.h>.
39258 (grub_fs_module_list): Moved to normal/autofs.c.
39259 (grub_exit_env): Removed.
39260 (grub_command_execute): Likewise.
39261 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39262 parameter script.
39263 (read_command_list): New function declaration.
39264 (read_fs_list): Likewise.
39265
39266 * include/parser.h: Include <grub/reader.h>.
39267 (grub_parser_split_cmdline): Change type of getline parameter.
39268 (grub_parser): New structure.
39269 (grub_parser_class): New variable.
39270 (grub_parser_execute): New function declaration.
39271 (grub_register_rescue_parser): Likewise.
39272 (grub_parser_register): New inline function.
39273 (grub_parser_unregister): Likewise.
39274 (grub_parser_get_current): Likewise.
39275 (grub_parser_set_current): Likewise.
39276
39277 * include/grub/reader.h: New file.
39278 * kern/reader.c: Likewise.
39279 * kern/rescue_parser.c: Likewise.
39280 * kern/rescue_reader.c: Likewise.
39281 * normal/autofs.c: Likewise.
39282 * normal/dyncmd.c: Likewise.
39283
39284 * include/grub/rescue.h: Removed.
39285 * normal/command.h: Likewise.
39286
39287 * include/grub/script.h: Moved to ...
39288 * include/grub/script_sh.h: ... Moved here.
39289 * normal/execute.c: Moved to ...
39290 * script/sh/execute.c: ... Moved here.
39291 * normal/function.c: Moved to ...
39292 * script/sh/function.c: ... Moved here.
39293 * normal/lexer.c: Moved to ...
39294 * script/sh/lexer.c: ... Moved here.
39295 * normal/parser.y: Moved to ...
39296 * script/sh/parser.y: ... Moved here.
39297 * normal/script.c: Moved to ...
39298 * script/sh/script.c: ... Moved here.
39299
39300 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39301 <grub/reader.h>.
39302 (grub_exit_env): Removed.
39303 (fs_module_list): Moved to normal/autofs.c.
39304 (grub_file_getline): Don't handle comment here.
39305 (free_menu): Skip removed field entry->commands.
39306 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39307 script parameter.
39308 (read_config_file): Removed nested parameter, change getline function.
39309 (grub_enter_normal_mode): Removed.
39310 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39311 (read_command_list): Likewise.
39312 (autoload_fs_module): Moved to normal/autofs.c.
39313 (read_fs_list): Likewise.
39314 (reader_nested): New variable.
39315 (grub_normal_execute): Run parser.sh to switch to sh parser.
39316 (grub_cmd_rescue): Removed.
39317 (cmd_normal): Removed.
39318 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39319 rescue command.
39320 (grub_cmdline_run): New function.
39321 (grub_normal_reader_init): Likewise.
39322 (grub_normal_read_line): Likewise.
39323 (grub_env_write_pager): Likewise.
39324 (cmdline): New variable.
39325 (grub_normal_reader): Likewise.
39326 (GRUB_MOD_INIT): Register normal reader and set as current, register
39327 pager hook, register normal command with grub_register_command_prio,
39328 so that it won't show up in command.lst.
39329 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39330 grub_fs_autoload_hook.
39331
39332 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39333 (grub_menu_execute_entry): Replace grub_script_execute with
39334 grub_parser_execute, change parameter to grub_command_execute.
39335
39336 * normal/menu_text.c: Remove <grub/script.h>.
39337
39338 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39339 and <grub/parser.h>.
39340 (run): Change editor_getline to use new parser interface. Change
39341 parameter to grub_command_execute.
39342
39343 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39344 <grub/reader.h> and <grub/parser.h>.
39345 (grub_load_normal_mode): Execute normal command.
39346 (grub_main): Call grub_register_core_commands,
39347 grub_register_rescue_parser and grub_register_rescue_reader, use
39348 grub_reader_loop to enter input loop.
39349
39350 * kern/parser.c (grub_parser_split_cmdline): Change type of
39351 getline parameter.
39352 (grub_parser_class): New variable.
39353 (grub_parser_execute): New function.
39354
39355 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39356 * loader/multiboot2.c: Likewise.
39357 * loader/sparc64/ieee1275/linux.c: Likewise.
39358
39359 * util/grub-emu.c (read_command_list): New dummy function.
39360
39361 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39362
39363 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39364 count to 16 for CCISS and IDA.
39365
39366 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39367
39368 * normal/menu_text.c (grub_wait_after_message): Print a newline
39369 after waiting for user input.
39370
39371 * loader/i386/linux.c: Include `<grub/normal.h>'.
39372 (grub_cmd_linux): Improve the error message about `ask' mode, by
39373 waiting for user input so it's not missed (we can do this, since
39374 user requested interaction).
39375
39376 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39377
39378 Added missing lst to grub-mkrescue
39379
39380 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39381 and ${input_dir}/parttool.lst
39382
39383 2009-04-30 David S. Miller <davem@davemloft.net>
39384
39385 * util/hostdisk.c (device_is_wholedisk): New function.
39386 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39387 zero only if device_is_wholedisk() returns true.
39388
39389 * util/hostdisk.c (convert_system_partition_to_system_disk):
39390 Handle virtual disk devices named /dev/vdiskX as found on sparc
39391 and powerpc.
39392
39393 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39394 lettered partition specifier is found, convert to numbered.
39395
39396 2009-04-29 David S. Miller <davem@davemloft.net>
39397
39398 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39399 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39400
39401 * normal/command.c: Add missing newline at end of file.
39402
39403 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39404 warnings.
39405 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39406 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39407 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39408 ihandles have a 32-bit type but need to be stored in a "void *".
39409
39410 2009-04-28 Pavel Roskin <proski@gnu.org>
39411
39412 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39413 not disk. Adjust all dependencies.
39414 (grub_fs_uuid_close): Use grub_device_close(), not
39415 grub_disk_close().
39416
39417 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39418 parent's partition, don't copy it by reference, as it gets freed
39419 on close.
39420
39421 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39422
39423 Preboot hooks support
39424
39425 * commands/boot.c (struct grub_preboot_t): new declaration
39426 (preboots_head): new variable
39427 (preboots_tail): likewise
39428 (grub_loader_register_preboot_hook): new function
39429 (grub_loader_unregister_preboot_hook): likewise
39430 (grub_loader_set): launch preboot hooks
39431 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39432 (grub_loader_register_preboot_hook): new declaration
39433 (grub_loader_unregister_preboot_hook): likewise
39434
39435 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39436
39437 Warning fix
39438
39439 * disk/scsi.c (grub_scsi_open): added missing cast when
39440 calling grub_dprintf
39441
39442 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39443
39444 Bug and warning fixes
39445
39446 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
39447 declaration
39448 * commands/test.c (test_parse): fixed bug with file tests and corrected
39449 declaration of find_file
39450
39451 2009-04-26 Pavel Roskin <proski@gnu.org>
39452
39453 * Makefile.in: Don't install empty manual pages if help2man is
39454 missing. Use help2man option for output, not shell redirection.
39455
39456 2009-04-26 David S. Miller <davem@davemloft.net>
39457
39458 * util/grub-mkdevicemap.c (make_device_map): Add missing
39459 NESTED_FUNC_ATTR to process_device().
39460
39461 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39462
39463 Test command
39464
39465 * commands/test.c: rewritten to use bash-like test
39466
39467 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39468
39469 Parttool autoloading and improvements
39470
39471 * Makefile.in (pkglib_DATA): add parttool.lst
39472 (parttool.lst): new target
39473 * genmk.rb: generate parttool-*
39474 (CLEANFILES): add #{parttool}
39475 (PARTTOOLFILES): new variable
39476 * genparttoollist.sh: new file
39477 * parttool/pcpart.c (grub_pcpart_boot): more feedback
39478 (grub_pcpart_type): likewise
39479 * commands/parttool.c (helpmsg): new variable
39480 (grub_cmd_parttool): output help if not enough arguments are supplied
39481 autoload modules
39482 (GRUB_MOD_INIT(parttool)): use helpmsg
39483
39484 2009-04-24 David S. Miller <davem@davemloft.net>
39485
39486 Avoiding opening same device multiple times in device iterator.
39487
39488 * kern/device.c: (grub_device_iterate): Define struct part_ent,
39489 and use it to build a list of partitions in iterate_disk() and
39490 iterate_partition().
39491
39492 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39493 on disk->data.
39494
39495 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39496 grub_devalias_iterate() result instead of unconditional 0.
39497 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39498 Also, capture hook return value, either directly or via
39499 grub_children_iterate(), and propagate to caller.
39500 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39501 grub_children_iterate): Return value is now 'int' instead of
39502 'grub_err_t'.
39503 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39504 like a proper iterator, stopping when hooks return non-zero.
39505 (grub_devalias_iterate): Likewise.
39506
39507 2009-04-23 David S. Miller <davem@davemloft.net>
39508
39509 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39510
39511 2009-04-22 David S. Miller <davem@davemloft.net>
39512
39513 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39514 is larger than address_cells, use that value for address_cells too.
39515
39516 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39517 IEEE1275_MAX_PATH_LEN): Define.
39518 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39519 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39520 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39521 'devtype'. Explicitly NULL terminate devalias expansion.
39522
39523 * util/sparc64/ieee1275/misc.c: New file.
39524 * util/sparc64/ieee1275/grub-setup.c: New file.
39525 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39526 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39527 * util/sparc64/ieee1275/grub-install.in: New file.
39528 * util/ieee1275/ofpath.c: New file.
39529 * util/ieee1275/devicemap.c: New file.
39530 * util/devicemap.c: New file.
39531 * util/deviceiter.c: New file.
39532 * kern/sparc64/ieee1275/init.c: New file.
39533 * include/grub/util/ofpath.h: New file.
39534 * include/grub/util/deviceiter.h: New file.
39535 * util/grub-mkdevicemap.c: Include deviceiter.h.
39536 Implement using grub_util_emit_devicemap_entry and
39537 grub_util_iterate_devices.
39538 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39539 util/devicemap.c into grub-mkdevicemap
39540 * conf/i386-efi.rmk: Likewise.
39541 * conf/i386-ieee1275.rmk: Likewise.
39542 * conf/i386-pc.rmk: Likewise.
39543 * conf/powerpc-ieee1275.rmk: Likewise.
39544 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39545 images and installation utilities. Build kernel as image
39546 instead of as elf binary. Use common rules as much as possible.
39547
39548 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
39549
39550 Correct GPT definition
39551
39552 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
39553 of "attrib" member
39554
39555 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
39556
39557 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39558
39559 2009-04-19 David S. Miller <davem@davemloft.net>
39560
39561 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39562 (grub_rescue_cmd_linux): Rename to...
39563 (grub_cmd_linux): and fix prototype.
39564 (grub_rescue_cmd_initrd): Rename to...
39565 (grub_cmd_initrd): and fix prototype.
39566 (cmd_linux, cmd_initrd): New.
39567 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39568 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39569
39570 2009-04-17 Pavel Roskin <proski@gnu.org>
39571
39572 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39573 format.
39574 (grub_ohci_transfer): Likewise.
39575
39576 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39577
39578 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39579 return without a value. Fix inconsistent indentation.
39580
39581 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39582 match struct grub_fs.
39583
39584 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39585 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39586 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39587 * commands/lspci.c (grub_lspci_iter): Likewise.
39588
39589 2009-04-16 Bean <bean123ch@gmail.com>
39590
39591 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39592 value.
39593
39594 2009-04-15 Pavel Roskin <proski@gnu.org>
39595
39596 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39597 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39598 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39599 definitions.
39600
39601 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39602
39603 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
39604 that no multiple data or metadata areas are supported and `Unknown
39605 metadata header'.
39606
39607 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39608
39609 Move loader out of the kernel
39610
39611 * kern/loader.c: moved to ...
39612 * commands/boot.c: ... moved here
39613 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39614 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39615 * include/grub/kernel.h (grub_machine_fini): export
39616 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39617 (grub_loader_set): likewise
39618 (grub_loader_unset): likewise
39619 (grub_loader_boot): likewise
39620 * conf/common.rmk: new module boot.mod
39621 (pkglib_MODULES): add boot.mod
39622 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39623 (grub_emu_SOURCES): likewise
39624 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39625 (grub_emu_SOURCES): likewise
39626 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39627 (grub_emu_SOURCES): likewise
39628 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39629 (grub_emu_SOURCES): likewise
39630 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39631 (grub_emu_SOURCES): likewise
39632 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39633 (grub_emu_SOURCES): likewise
39634 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
39635 (grub_emu_SOURCES): likewise
39636
39637 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39638
39639 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
39640
39641 * kern/misc.c (grub_itoa): Removed function
39642 (grub_ltoa): likewise
39643 (grub_vsprintf): use grub_lltoa
39644
39645 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39646
39647 Restore grub-emu
39648
39649 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39650 * conf/i386-coreboot.rmk: likewise
39651 * conf/i386-ieee1275.rmk: likewise
39652 * conf/powerpc-ieee1275.rmk: likewise
39653
39654 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39655
39656 * INSTALL: Add that `./autogen.sh' needs to be run before
39657 `./configure.'.
39658
39659 2009-04-14 Bean <bean123ch@gmail.com>
39660
39661 * Makefile.in (pkglib_DATA): Add handler.lst.
39662 (handler.lst): New rule.
39663
39664 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39665 * conf/i386-coreboot.rmk: Likewise.
39666 * conf/i386-ieee1275.rmk: Likewise.
39667 * conf/i386-efi.rmk: Likewise.
39668 * conf/x86_64-efi.rmk: Likewise.
39669 * conf/powerpc-ieee1275.rmk: Likewise.
39670 * conf/sparc64-ieee1275.rmk: Likewise.
39671
39672 * genhandlerlist.sh: New file.
39673
39674 * genmk.rb: Add rules to generate handler.lst.
39675
39676 * include/grub/normal.h (grub_file_getline): New function definition.
39677 (read_handler_list): Likewise.
39678 (free_handler_list): Likewise.
39679
39680 * include/grub/term.h (grub_term_register_input): Add name parameter
39681 for auto generation of handler.lst.
39682 (grub_term_register_output): Likewise.
39683
39684 * normal/handler.c: New file.
39685
39686 * normal/main.c (get_line): Renamed to grub_file_getline.
39687 (read_config_file): Use the newly renamed grub_file_getline.
39688 (read_command_list): Likewise.
39689 (read_fs_list): Likewise.
39690 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39691 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39692
39693 * term/efi/console.c (grub_console_init): Add name parameter for auto
39694 generation of handler.lst.
39695 * term/gfxterm.c: Likewise.
39696 * term/i386/pc/at_keyboard.c: Likewise.
39697 * term/i386/pc/console.c: Likewise.
39698 * term/i386/pc/serial.c: Likewise.
39699 * term/i386/pc/vesafb.c: Likewise.
39700 * term/i386/pc/vga.c: Likewise.
39701 * term/i386/pc/vga_text.c: Likewise.
39702 * term/ieee1275/ofconsole.c: Likewise.
39703 * term/usb_keyboard.c: Likewise.
39704
39705 2009-04-14 Bean <bean123ch@gmail.com>
39706
39707 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39708 properly with null character.
39709
39710 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39711
39712 * configure: Remove.
39713 * config.h.in: Likewise.
39714 * stamp-h.in: Likewise.
39715 * DISTLIST: Likewise.
39716 * conf/common.mk: Likewise.
39717 * conf/i386-coreboot.mk: Likewise.
39718 * conf/i386-efi.mk: Likewise.
39719 * conf/i386-ieee1275.mk: Likewise.
39720 * conf/i386.mk: Likewise.
39721 * conf/i386-pc.mk: Likewise.
39722 * conf/powerpc-ieee1275.mk: Likewise.
39723 * conf/sparc64-ieee1275.mk: Likewise.
39724 * conf/x86_64-efi.mk: Likewise.
39725
39726 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39727 develop on GRUB.
39728
39729 2009-04-14 John Stanley <jpsinthemix@verizon.net>
39730 David S. Miller <davem@davemloft.net>
39731
39732 * util/hostdisk.c (make_device_name): Fix buffer length
39733 calculations.
39734
39735 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39736
39737 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39738 <sys/param.h> and <sys/sysctl.h>.
39739 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39740 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39741 opening the device and reset them afterwards.
39742
39743 2009-04-13 Pavel Roskin <proski@gnu.org>
39744
39745 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39746 Reported by John Stanley <jpsinthemix@verizon.net>
39747
39748 2009-04-13 Robert Millan <rmh@aybabtu.com>
39749
39750 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
39751 that name for menuentries when appropriate.
39752
39753 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39754
39755 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39756
39757 2009-04-13 Robert Millan <rmh@aybabtu.com>
39758
39759 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39760 to Linux, simply abort telling the user it's no longer supported.
39761
39762 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39763
39764 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
39765 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
39766 `freebsd_loadenv' only when devices.hints exist.
39767
39768 2009-04-13 Pavel Roskin <proski@gnu.org>
39769
39770 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39771
39772 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39773
39774 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39775 partition number.
39776 (grub_drive): Likewise.
39777
39778 2009-04-13 David S. Miller <davem@davemloft.net>
39779
39780 * kern/sparc64/ieee1275/ieee1275.c: New file.
39781 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39782 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39783 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39784 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39785 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39786 grub_ieee1275_alloc_physmem): Declare new exported functions.
39787
39788 * include/grub/sparc64/ieee1275/loader.h: New file.
39789 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39790 * include/grub/sparc64/kernel.h: Likewise.
39791 * loader/sparc64/ieee1275/linux.c: Likewise.
39792
39793 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39794 (grub_fstest_SOURCES): Likewise.
39795
39796 * util/hostdisk.c (make_device_name): Do not make any assumptions
39797 about the length of drive names.
39798
39799 * kern/dl.c (grub_dl_load_file): Close file immediately when
39800 we are done using it.
39801
39802 2009-04-12 David S. Miller <davem@davemloft.net>
39803
39804 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39805 values. Noticed by Pavel Roskin.
39806
39807 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39808 target compiler.
39809
39810 * genmk.rb: Add more flexible image type specification, also
39811 pass --strip-unneeded to objcopy.
39812 * conf/i386-pc.rmk: Use *_FORMAT.
39813 * conf/i386-pc.mk: Rebuilt.
39814
39815 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39816 (OFDISK_HASH_SZ): Define.
39817 (ofdisk_hash): New hash table.
39818 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39819 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39820 instead of device phandle which is not unique.
39821
39822 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39823 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39824 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39825 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39826 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39827 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39828 GRUB_KERNEL_MACHINE_DATA_END): Define.
39829 (grub_kernel_image_size, grub_total_module_size): Declare.
39830
39831 2009-04-12 Pavel Roskin <proski@gnu.org>
39832
39833 * configure.ac: Change the logic when we check for target tools.
39834 Do it when the target is specified and it's different from the
39835 specified value of the host.
39836
39837 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
39838
39839 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39840 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39841 GNU/kFreeBSD. Check if a device is a character device. Use
39842 DIOCGMEDIASIZE to get the size.
39843 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39844 support for GNU/kFreeBSD.
39845 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39846 is a character device instead of a block device. Add support for
39847 FreeBSD device names.
39848
39849 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39850 is a character device instead of a block device.
39851
39852 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39853 is a character device instead of a block device.
39854
39855 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39856
39857 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39858 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39859 FreeBSD. Check if a device is a character device. Use
39860 DIOCGMEDIASIZE to get the size.
39861 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39862 support for FreeBSD.
39863 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39864 is a character device instead of a block device. Add support for
39865 FreeBSD device names.
39866
39867 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39868 a character device instead of a block device.
39869 (grub_util_check_char_device): New function.
39870
39871 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39872 a character device instead of a block device.
39873
39874 * include/grub/util/getroot.h (grub_util_check_char_device): New
39875 prototype.
39876
39877 2009-04-11 David S. Miller <davem@davemloft.net>
39878
39879 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39880 static libgcc.
39881 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39882 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39883 function, if present.
39884 (__bswapdi2): Likewise.
39885
39886 * include/grub/sparc64/ieee1275/boot.h: New file.
39887 * boot/sparc64/ieee1275/boot.S: Likewise.
39888 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39889
39890 * kern/misc.c (grub_ltoa): New function.
39891 (grub_vsprintf): Use it to format 'long' integers.
39892
39893 2009-04-10 David S. Miller <davem@davemloft.net>
39894
39895 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39896 slots are of type grub_ieee1275_cell_t.
39897 (grub_nand_read): Likewise.
39898 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39899 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39900 macros are used to compare values in arg/ret block of the call.
39901 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39902 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39903 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39904 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39905 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39906 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39907 grub_ieee1275_close, grub_ieee1275_set_property,
39908 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39909 grub_ieee1275_cell_t.
39910 * kern/ieee1275/openfw.c (grub_map): Likewise.
39911 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39912 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39913
39914 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39915 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39916 (grub_devalias_iterate): Likewise.
39917
39918 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
39919
39920 UFS improvements
39921
39922 * fs/ufs.c (INODE_NBLOCKS): new definition
39923 (struct grub_ufs_dirent): added fields for non-BSD dirents
39924 (grub_ufs_get_file_block): fixed double indirect handling
39925 (grub_ufs_lookup_symlink): use more robust way to determine whether
39926 symlink is inline
39927 (grub_ufs_find_file): support for non-BSD dirents
39928 (grub_ufs_dir): support for non-BSD dirents
39929
39930 2009-04-10 Bean <bean123ch@gnail.com>
39931
39932 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39933 attribute, otherwise the size would be wrong for i386 platform.
39934
39935 * include/grub/pci.h (grub_pci_read_word): New inline function.
39936 (grub_pci_read_byte): Likewise.
39937 (grub_pci_write): Likewise.
39938 (grub_pci_write_word): Likewise.
39939 (grub_pci_write_byte): Likewise.
39940
39941 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39942
39943 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39944 (find_framebuf): Scan pci to locate the frame buffer address.
39945
39946 * commands/efi/fixvideo.c: New file.
39947
39948 * commands/efi/loadbios.c: Likewise.
39949
39950 * commands/memrw.c: Likewise.
39951
39952 * util/grub-dumpbios.in: Likewise.
39953
39954 * conf/common.rmk (grub-dumpbios): New utility.
39955 (pkglib_MODULES): New module memrw.mod.
39956 (memrw_mod_SOURCE): New macro.
39957 (memrw_mod_CFLAGS): Likewise.
39958 (memrw_mod_LDFLAGS): Likewise.
39959
39960 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
39961 fixvideo.mod.
39962 (loadbios_mod_SOURCE): New macro.
39963 (loadbios_mod_CFLAGS): Likewise.
39964 (loadbios_mod_LDFLAGS): Likewise.
39965 (fixvideo_mod_SOURCE): Likewise.
39966 (fixvideo_mod_CFLAGS): Likewise.
39967 (fixvideo_mod_LDFLAGS): Likewise.
39968
39969 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
39970 fixvideo.mod.
39971 (loadbios_mod_SOURCE): New macro.
39972 (loadbios_mod_CFLAGS): Likewise.
39973 (loadbios_mod_LDFLAGS): Likewise.
39974 (fixvideo_mod_SOURCE): Likewise.
39975 (fixvideo_mod_CFLAGS): Likewise.
39976 (fixvideo_mod_LDFLAGS): Likewise.
39977
39978 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
39979
39980 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39981
39982 2009-04-07 David S. Miller <davem@davemloft.net>
39983
39984 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39985 support for R_SPARC_OLO10 relocations. Fix compile warning for
39986 R_SPARC_WDISP30 case.
39987 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
39988
39989 2009-04-06 Pavel Roskin <proski@gnu.org>
39990
39991 * include/grub/misc.h (ARRAY_SIZE): New macro.
39992 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39993 New macro.
39994 * loader/i386/linux.c (allocate_pages): Use free_pages().
39995 (grub_linux_unload): Don't use free_pages().
39996 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39997 wrong index. Treat all other modes as text modes.
39998 (grub_cmd_linux): Initialize vid_mode unconditionally to
39999 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
40000
40001 * commands/help.c (print_command_help): Use cmd->prio, not
40002 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
40003
40004 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
40005
40006 Parttool
40007
40008 * parttool/pcpart.c: new file
40009 * commands/parttool.c: likewise
40010 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
40011 (parttool_mod_SOURCES): new variable
40012 (parttool_mod_CFLAGS): likewise
40013 (parttool_mod_LDFLAGS): likewise
40014 (pcpart_mod_SOURCES): likewise
40015 (pcpart_mod_CFLAGS): likewise
40016 (pcpart_mod_LDFLAGS): likewise
40017 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
40018 and parttool/pcpart.c
40019 * conf/i386-efi.rmk: likewise
40020 * conf/i386-ieee1275.rmk: likewise
40021 * conf/i386-pc.rmk: likewise
40022 * conf/powerpc-ieee1275.rmk: likewise
40023 * conf/sparc64-ieee1275.rmk: likewise
40024 * conf/x86_64-ieee1275.rmk: likewise
40025
40026 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
40027
40028 Support for mtime and further expandability of dir command
40029
40030 * include/grub/lib/datetime.h: moved to ...
40031 * include/grub/datetime.h: ... moved here and added
40032 declaration of grub_unixtime2datetime. All users updated
40033 * include/grub/fs.h: new syntax for dir and mtime functions in
40034 struct grub_fs
40035 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
40036 and GRUB_FSHELP_FLAGS_MASK
40037 * commands/ls.c (grub_ls_list_files): Write mtime in long format
40038 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
40039 (grub_ext2_mtime): new function
40040 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
40041 (grub_hfsplus_mtime): new function
40042 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
40043 (GRUB_UFS_ATTR_FILE): likewise
40044 (GRUB_UFS_ATTR_LNK): likewise
40045 (struct grub_ufs_sblock): new fields mtime
40046 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
40047 all users updated
40048 (grub_ufs_dir): mtime support
40049 (grub_ufs_mtime): new function
40050 * fs/affs.c (grub_affs_dir): use new dir syntax
40051 * fs/afs.c (grub_afs_dir): likewise
40052 * fs/cpio.c (grub_cpio_dir): likewise
40053 * fs/fat.c (grub_fat_find_dir): likewise
40054 * fs/hfs.c (grub_hfs_dir): likewise
40055 * fs/iso9660.c (grub_iso9660_dir): likewise
40056 * fs/jfs.c (grub_jfs_dir): likewise
40057 * fs/minix.c (grub_minix_dir): likewise
40058 * fs/ntfs.c (grub_ntfs_dir): likewise
40059 * fs/reiserfs.c (grub_reiserfs_dir): likewise
40060 * fs/sfs.c (grub_sfs_dir): likewise
40061 * fs/xfs.c (grub_xfs_dir): likewise
40062 * util/hostfs.c (grub_hostfs_dir): likewise
40063 * lib/datetime.c: moved to ...
40064 * normal/datetime.c: ... moved here
40065 (grub_unixtime2datetime): new function
40066 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
40067 * normal/completion.c (iterate_dir): use new dir syntax
40068 * normal/misc.c (grub_normal_print_device_info): tell the
40069 last modification time of a volume
40070 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
40071 * conf/common.rmk: added lib/datetime.c to ls.mod
40072 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
40073 (normal_mod_SOURCES): likewise
40074 (datetime_mod_SOURCES): Removed lib/datetime.c
40075 * conf/i386-efi.rmk: likewise
40076 * conf/i386-ieee1275.rmk: likewise
40077 * conf/i386-pc.rmk: likewise
40078 * conf/powerpc-ieee1275.rmk: likewise
40079 * conf/sparc64-ieee1275.rmk: likewise
40080 * conf/x86_64-efi.rmk: likewise
40081
40082 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
40083
40084 Trim trailing spaces in FAT label and support mtools-like labels
40085
40086 * fs/fat.c (grub_fat_iterate_dir): New function based
40087 on grub_fat_find_dir
40088 (grub_fat_find_dir): use grub_fat_iterate_dir
40089 (grub_fat_label): likewise
40090
40091 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
40092
40093 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
40094 and command.h
40095 remove extraneous kernel_elf_HEADERS
40096
40097 2009-04-04 Bean <bean123ch@gnail.com>
40098
40099 * include/grub/util/misc.h: Add dummy function fsync for mingw.
40100
40101 * util/misc.c: Likewise.
40102
40103 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40104
40105 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
40106 instead of grub_printf.
40107
40108 2009-04-03 Robert Millan <rmh@aybabtu.com>
40109
40110 * loader/i386/linux.c (grub_linux_setup_video): Fill
40111 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
40112 values from `mode info' structure instead of hardcoded
40113 values.
40114
40115 2009-04-01 Pavel Roskin <proski@gnu.org>
40116
40117 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
40118 unused now.
40119 * genmk.rb: Likewise.
40120 * configure.ac: Likewise.
40121
40122 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
40123
40124 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
40125 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
40126
40127 2009-04-01 David S. Miller <davem@davemloft.net>
40128
40129 * normal/sparc64/setjmp.S: Fix setjmp implementation.
40130 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
40131 (grub_setjmp): Mark with 'returns_twice' attribute.
40132 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
40133 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
40134 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
40135
40136 2009-04-01 Robert Millan <rmh@aybabtu.com>
40137
40138 Reapply fix from 2008-07-28 which was accidentally reverted; also
40139 perform the same fix to a similar check in same function.
40140
40141 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40142 with the same number are found, just use issue a warning with
40143 grub_dprintf(), as this error has been reported to be non-fatal.
40144
40145 2009-03-31 Pavel Roskin <proski@gnu.org>
40146
40147 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
40148 for cross-compilation.
40149
40150 2009-03-30 Robert Millan <rmh@aybabtu.com>
40151
40152 Fix i386-ieee1275 build.
40153
40154 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
40155 Remove declaration.
40156
40157 2009-03-30 Pavel Roskin <proski@gnu.org>
40158
40159 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
40160 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
40161 zero-terminated, rely only on the strlen value. Fix comparison
40162 of strings differing in length.
40163
40164 2009-03-30 Robert Millan <rmh@aybabtu.com>
40165
40166 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
40167 checking for abi version. Improve error messages on BIOS to notify
40168 user about `linux16' command.
40169
40170 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
40171
40172 Leak fixes
40173
40174 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
40175 in case of collision
40176 * disk/scsi.c (grub_scsi_open): free scsi in case of error
40177
40178 2009-03-29 Robert Millan <rmh@aybabtu.com>
40179
40180 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
40181 set `vid_mode' accordingly.
40182 (grub_linux_boot): Process `vid_mode' and set video mode.
40183
40184 2009-03-29 Robert Millan <rmh@aybabtu.com>
40185
40186 * util/grub.d/10_linux.in (linux_entry): New function.
40187 Factorize generation of Linux boot entries.
40188
40189 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
40190
40191 Make the format of Environment Block plain text. The boot loader
40192 part is not tested well yet.
40193
40194 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
40195 (buffer): Removed.
40196 (envblk): Likewise.
40197 (usage): Remove "info" and "clear". Add "unset". Update the
40198 description of "set", as this does not delete variables any
40199 longer.
40200 (create_envblk_file): Complete rewrite.
40201 (open_envblk_file): Likewise.
40202 (cmd_info): Removed.
40203 (cmd_list): Likewise.
40204 (cmd_set): Likewise.
40205 (cmd_clear): Likewise.
40206 (list_variables): New function.
40207 (write_envblk): Likewise.
40208 (set_variables): Likewise.
40209 (unset_variables): Likewise.
40210 (main): Complete rewrite.
40211
40212 * commands/loadenv.c (buffer): Removed.
40213 (envblk): Likewise.
40214 (open_envblk_file): New function.
40215 (read_envblk_file): Complete rewrite.
40216 (grub_cmd_load_env): Likewise.
40217 (grub_cmd_list_env): Likewise.
40218 (struct blocklist): New struct.
40219 (free_blocklists): New function.
40220 (check_blocklists): Likewise.
40221 (write_blocklists): Likewise.
40222 (grub_cmd_save_env): Complete rewrite.
40223
40224 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
40225 a plain text signature.
40226 (GRUB_ENVBLK_MAXLEN): Removed.
40227 (struct grub_envblk): Complete rewrite.
40228 (grub_envblk_find): Removed.
40229 (grub_envblk_insert): Likewise.
40230 (grub_envblk_open): New prototype.
40231 (grub_envblk_set): Likewise.
40232 (grub_envblk_delete): Put const to VALUE.
40233 (grub_envblk_iterate): Put const to NAME and VALUE.
40234 (grub_envblk_close): New prototype.
40235 (grub_envblk_buffer): New inline function.
40236 (grub_envblk_size): Likewise.
40237
40238 * lib/envblk.c: Include grub/mm.h.
40239 (grub_env_find): Removed.
40240 (grub_envblk_open): New function.
40241 (grub_envblk_close): Likewise.
40242 (escaped_value_len): Likewise.
40243 (find_next_line): Likewise.
40244 (grub_envblk_insert): Removed.
40245 (grub_envblk_set): New function.
40246 (grub_envblk_delete): Complete rewrite.
40247 (grub_envblk_iterate): Likewise.
40248
40249 2009-03-28 Robert Millan <rmh@aybabtu.com>
40250
40251 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40252 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40253 variables. Use 16-bit loader.
40254 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40255 loader.
40256 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40257 (grub_linux16_boot): ... this. Update all users.
40258 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40259 (grub_linux_boot): ... this. Update all users.
40260
40261 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40262 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40263 commands to `linux16' and `initrd16'.
40264 (GRUB_MOD_FINI(linux)): Rename to ...
40265 (GRUB_MOD_FINI(linux16)): ... this.
40266
40267 2009-03-24 Pavel Roskin <proski@gnu.org>
40268
40269 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40270 not just for compilation.
40271
40272 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40273
40274 Move multiboot helper out of kernel
40275
40276 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40277 `loader/i386/multiboot_helper.S'.
40278 * conf/i386-coreboot.rmk: Likewise
40279 * conf/i386-ieee1275.rmk: Likewise
40280
40281 * kern/i386/loader.S: Move multiboot helpers from here...
40282 * loader/i386/multiboot_helper.S: ...moved here
40283 * include/grub/i386/loader.h: Move declarations of multiboot
40284 helpers from here...
40285 * include/grub/i386/multiboot.h: ...moved here
40286 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40287
40288 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40289
40290 * kern/env.c (grub_env_context_open): Added an argument to specify
40291 whether a new context inherits exported variables from current
40292 one. This is useful when making a sandbox to interpret a config
40293 file.
40294 All callers updated.
40295
40296 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40297
40298 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40299
40300 * kern/env.c (grub_env_context_close): Fix memory leaks.
40301
40302 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40303
40304 * normal/main.c (grub_normal_execute): Added an argument
40305 BATCH to specify if an interactive interface should be provided
40306 after reading a config file.
40307 All callers updated.
40308 (read_command_list): Prevent being executed twice.
40309 (read_fs_list): Likewise.
40310
40311 * include/grub/normal.h (grub_normal_execute): Updated the
40312 prototype.
40313
40314 2009-03-22 Pavel Roskin <proski@gno.org>
40315
40316 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40317 _start.
40318 * kern/i386/pc/startup.S: Likewise.
40319 * kern/i386/efi/startup.S: Likewise.
40320 * kern/i386/ieee1275/startup.S: Likewise.
40321 * kern/i386/coreboot/startup.S: Likewise.
40322 * kern/x86_64/efi/startup.S: Likewise.
40323
40324 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40325 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40326 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40327
40328 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40329
40330 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40331
40332 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40333 limit detection.
40334 Use vaddr of correct segment for entry_point.
40335
40336 2009-03-21 Bean <bean123ch@gmail.com>
40337
40338 * commands/blocklist.c: Add include file <grub/command.h>, remove
40339 <grub/normal.h> and <grub/arg.h>.
40340 (grub_cmd_blocklist): Use the new command interface.
40341 (GRUB_MOD_INIT): Likewise.
40342 (GRUB_MOD_FINI): Likewise.
40343 * commands/boot.c: Likewise.
40344 * commands/cat.c: Likewise.
40345 * commands/cmp.c: Likewise.
40346 * commands/configfile.c: Likewise.
40347 * commands/crc.c: Likewise.
40348 * commands/echo.c: Likewise.
40349 * commands/halt.c: Likewise.
40350 * commands/handler.c: Likewise.
40351 * commands/hdparm.c: Likewise.
40352 * commands/help.c: Likewise.
40353 * commands/hexdump.c: Likewise.
40354 * commands/loadenv.c: Likewise.
40355 * commands/ls.c: Likewise.
40356 * commands/lsmmap.c: Likewise.
40357 * commands/lspci.c: Likewise.
40358 * commands/loadenv.c: Likewise.
40359 * commands/read.c: Likewise.
40360 * commands/reboot.c: Likewise.
40361 * commands/search.c: Likewise.
40362 * commands/sleep.c: Likewise.
40363 * commands/test.c: Likewise.
40364 * commands/usbtest.c: Likewise.
40365 * commands/videotest.c: Likewise.
40366 * commands/i386/cpuid.c: Likewise.
40367 * commands/i386/pc/halt.c: Likewise.
40368 * commands/i386/pc/play.c: Likewise.
40369 * commands/i386/pc/pxecmd.c: Likewise.
40370 * commands/i386/pc/vbeinfo.c: Likewise.
40371 * commands/i386/pc/vbetest.c: Likewise.
40372 * commands/ieee1275/suspend.c: Likewise.
40373 * disk/loopback.c: Likewise.
40374 * font/font_cmd.c: Likewise.
40375 * hello/hello.c: Likewise.
40376 * loader/efi/appleloader.c: Likewise.
40377 * loader/efi/chainloader.c: Likewise.
40378 * loader/i386/bsd.c: Likewise.
40379 * loader/i386/efi/linux.c: Likewise.
40380 * loader/i386/ieee1275/linux.c: Likewise.
40381 * loader/i386/linux.c: Likewise.
40382 * loader/i386/pc/chainloader.c: Likewise.
40383 * loader/i386/pc/linux.c: Likewise.
40384 * loader/powerpc/ieee1275/linux.c: Likewise.
40385 * loader/multiboot_loader.c: Likewise.
40386 * term/gfxterm.c: Likewise.
40387 * term/i386/pc/serial.c: Likewise.
40388 * term/terminfo.c: Likewise.
40389
40390 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40391 * term/i386/pc/vga.c: Likewise.
40392 * video/readers/jpeg.c: Likewise.
40393 * video/readers/png.c: Likewise.
40394 * video/readers/tga.c: Likewise.
40395
40396 * util/grub-fstest (cmd_loopback): Removed.
40397 (cmd_blocklist): Likewise.
40398 (cmd_ls): Likewise.
40399 (grub_register_command): Likewise.
40400 (grub_unregister_command): Likewise.
40401 (execute_command): Use grub_command_find to locate command and execute
40402 it.
40403
40404 * include/grub/efi/chainloader.h: Removed.
40405 * loader/efi/chainloader_normal.c: Likewise.
40406 * loader/i386/bsd_normal.c: Likewise.
40407 * loader/i386/pc/chainloader_normal.c: Likewise.
40408 * loader/i386/pc/multiboot_normal.c: Likewise.
40409 * loader/linux_normal.c: Likewise.
40410 * loader/multiboot_loader_normal.c: Likewise.
40411 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40412
40413 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40414 and grub_register_command_p1.
40415
40416 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40417 kern/command.c, lib/arg.c and commands/extcmd.c.
40418 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40419 (minicmd_mod_SOURCES): New variable.
40420 (minicmd_mod_CFLAGS): Likewise.
40421 (minicmd_mod_LDFLAGS): Likewise.
40422 (extcmd_mod_SOURCES): Likewise.
40423 (extcmd_mod_CFLAGS): Likewise.
40424 (extcmd_mod_LDFLAGS): Likewise.
40425 (boot_mod_SOURCES): Removed.
40426 (boot_mod_CFLAGS): Likewise.
40427 (boot_mod_LDFLAGS): Likewise.
40428
40429 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40430 kern/corecmd.c.
40431 (kernel_img_HEADERS): Add command.h.
40432 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40433 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40434 and lib/arg.c.
40435 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40436 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40437 remove the corresponding normal mode command.
40438 (normal_mod_SOURCES): Remove normal/arg.c.
40439 * conf/i386-coreboot.rmk: Likewise.
40440 * conf/i386-efi.rmk: Likewise.
40441 * conf/i386-ieee1275.rmk: Likewise.
40442 * conf/powerpc-ieee1275.rmk: Likewise.
40443 * conf/x86_64-efi.rmk: Likewise.
40444
40445 * include/grub/arg.h: Move from here ...
40446 * include/grub/lib/arg.h: ... to here.
40447
40448 * normal/arg.c: Move from here ...
40449 * lib/arg.c: ... to here.
40450
40451 * commands/extcmd.c: New file.
40452 * commands/minicmd.c: Likewise.
40453 * include/grub/command.h: Likewise.
40454 * include/grub/extcmd.h: Likewise.
40455 * kern/command.c: Likewise.
40456 * kern/corecmd.c: Likewise.
40457
40458 * kern/list.c (grub_list_iterate): Return int instead of void.
40459 (grub_list_insert): New function.
40460 (grub_prio_list_insert): Likewise.
40461
40462 * kern/rescue.c (grub_rescue_command): Removed.
40463 (grub_rescue_command_list): Likewise.
40464 (grub_rescue_register_command): Likewise.
40465 (grub_rescue_unregister_command): Likewise.
40466 (grub_rescue_cmd_boot): Move to minicmd.c
40467 (grub_rescue_cmd_help): Likewise.
40468 (grub_rescue_cmd_info): Likewise.
40469 (grub_rescue_cmd_boot): Likewise.
40470 (grub_rescue_cmd_testload): Likewise.
40471 (grub_rescue_cmd_dump): Likewise.
40472 (grub_rescue_cmd_rmmod): Likewise.
40473 (grub_rescue_cmd_lsmod): Likewise.
40474 (grub_rescue_cmd_exit): Likewise.
40475 (grub_rescue_print_devices): Moved to corecmd.c.
40476 (grub_rescue_print_files): Likewise.
40477 (grub_rescue_cmd_ls): Likewise.
40478 (grub_rescue_cmd_insmod): Likewise.
40479 (grub_rescue_cmd_set): Likewise.
40480 (grub_rescue_cmd_unset): Likewise.
40481 (attempt_normal_mode): Use grub_command_find to get normal module.
40482 (grub_enter_rescue_mode): Use grub_register_core_commands to register
40483 commands, remove grub_rescue_register_command calls.
40484
40485 * normal/command.c (grub_register_command): Removed.
40486 (grub_unregister_command): Likewise.
40487 (grub_command_find): Likewise.
40488 (grub_iterate_commands): Likewise.
40489 (rescue_command): Likewise.
40490 (export_command): Moved to corecmd.c.
40491 (set_command): Removed.
40492 (unset_command): Likewise.
40493 (insmod_command): Likewise.
40494 (rmmod_command): Likewise.
40495 (lsmod_command): Likewise.
40496 (grub_command_init): Likewise.
40497
40498 * normal/completion.c (iterate_command): Use cmd->prio to check for
40499 active command.
40500 (complete_arguments): Use grub_extcmd_t structure to find options.
40501 (grub_normal_do_completion): Change function grub_iterate_commands to
40502 grub_command_iterate.
40503
40504 * normal/execute.c (grub_script_execute_cmd): No need to parse
40505 argument here.
40506
40507 * normal/main.c (grub_dyncmd_dispatcher): New function.
40508 (read_command_list): Register unload commands as dyncmd.
40509 (grub_cmd_normal): Use new command interface, register rescue,
40510 unregister normal at entry, register normal, unregister rescue at exit.
40511
40512 * include/grub/list.h (grub_list_test_t): New type.
40513 (grub_list_iterate): Return int instead of void.
40514 (grub_list_insert): New function.
40515 (GRUB_AS_NAMED_LIST_P): New macro.
40516 (GRUB_AS_PRIO_LIST): Likewise.
40517 (GRUB_AS_PRIO_LIST_P): Likewise.
40518 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40519 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40520 (grub_prio_list): New structure.
40521 (grub_prio_list_insert): New function.
40522 (grub_prio_list_remove): New inline function.
40523
40524 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40525 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40526 (GRUB_COMMAND_FLAG_MENU): Likewise.
40527 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40528 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40529 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40530 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40531 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40532 (grub_command): Likewise.
40533 (grub_register_command): Likewise.
40534 (grub_command_find): Likewise.
40535 (grub_iterate_commands): Likewise.
40536 (grub_command_init): Likewise.
40537 (grub_arg_parse): Likewise.
40538 (grub_arg_show_help): Likewise.
40539
40540 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40541 (grub_rescue_unregister_command): Likewise.
40542
40543 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40544 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40545 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40546
40547 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40548 grub_rescue_cmd_initrd.
40549 * include/grub/i386/loader.h: Likewise.
40550 * include/grub/x86_64/loader.h: Likewise.
40551
40552 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40553
40554 2009-03-21 Bean <bean123ch@gmail.com>
40555
40556 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40557 instead of stat in mingw environment.
40558
40559 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40560
40561 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40562
40563 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40564 AC_CONFIG_LINKS.
40565
40566 2009-03-21 Bean <bean123ch@gmail.com>
40567
40568 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40569 out of range error.
40570
40571 2009-03-18 Michel Dänzer <michel@daenzer.net>
40572
40573 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40574 checking inode flags for EXT4_EXTENTS_FLAG.
40575
40576 2009-03-18 Robert Millan <rmh@aybabtu.com>
40577
40578 * loader/i386/linux.c: Include `<grub/video.h>' and
40579 `<grub/i386/pc/vbe.h>'..
40580 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40581 (grub_linux32_boot): Attempt to configure video settings with
40582 grub_linux_setup_video().
40583 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40584 to avoid grub_console_fini() which would step out of graphical mode
40585 unconditionally.
40586
40587 2009-03-14 Robert Millan <rmh@aybabtu.com>
40588
40589 Fix build on powerpc.
40590 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40591
40592 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40593
40594 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40595 background image command.
40596
40597 2009-03-12 Colin D Bennett <colin@gibibit.com>
40598
40599 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40600 (grub_gfxterm_putchar): Extract pairs of identical calls to
40601 draw_cursor out of conditional blocks.
40602
40603 2009-03-11 Pavel Roskin <proski@gnu.org>
40604
40605 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40606 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40607
40608 2009-03-11 Robert Millan <rmh@aybabtu.com>
40609
40610 * loader/i386/multiboot_elfxx.c
40611 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40612
40613 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
40614
40615 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40616 `kern/handler.c'.
40617
40618 2009-03-11 Robert Millan <rmh@aybabtu.com>
40619
40620 * loader/i386/multiboot.c (code_size): New variable.
40621 (grub_multiboot): Define offsets by adding to `code_size' rather
40622 than subtracting from `grub_multiboot_payload_size'. Provide
40623 4-byte alignment to MBI and others by increasing
40624 `boot_loader_name_length' appropriately.
40625
40626 * loader/i386/multiboot_elfxx.c
40627 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40628
40629 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
40630
40631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40632 `fs/ext2.c'.
40633
40634 2009-03-08 Robert Millan <rmh@aybabtu.com>
40635
40636 Make loader/i386/linux.c usable on i386-pc again.
40637
40638 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40639 memory to heap.
40640 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40641 `#error' stanza.
40642
40643 2009-03-07 Bean <bean123ch@gmail.com>
40644
40645 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40646 allocation.
40647
40648 2009-03-06 Robert Millan <rmh@aybabtu.com>
40649
40650 Fix display issue on terminals with screen size other than 80x25
40651 (e.g. gfxterm with resolution higher than 640x480).
40652
40653 * normal/main.c (grub_normal_init_page): Display title text in a
40654 position relative to the center of the terminal instead of relying
40655 on a hardcoded offset.
40656
40657 2009-03-04 Robert Millan <rmh@aybabtu.com>
40658
40659 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40660 installed.
40661
40662 * Makefile.in (host_kernel): New variable.
40663 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40664 scripts instead of just the windows one.
40665 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40666
40667 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40668
40669 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40670 `kern/handler.c'.
40671 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40672 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40673 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40675 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40676 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40677
40678 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40679
40680 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40681 or if there's no space for the disk label and print the partition number on a
40682 invalid magic.
40683
40684 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40685
40686 * util/misc.c: Include <time.h>.
40687 (grub_millisleep): New function.
40688
40689 2009-03-04 Bean <bean123ch@gmail.com>
40690
40691 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40692 another option -mno-red-zone.
40693
40694 * commands/handler.c: Change module description.
40695
40696 * kern/handler.c: Add missing space at the end of description line.
40697
40698 * kern/list.c: Likewise.
40699
40700 2009-03-03 Robert Millan <rmh@aybabtu.com>
40701
40702 Move more components to the relocation area, and fix mbi pointer
40703 handling to use the destination rather than the origin (thanks to
40704 Vladimir Serbinenko for spotting).
40705
40706 * loader/i386/multiboot.c (mbi_dest): New variable.
40707 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40708 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40709 relocation area.
40710
40711 2009-03-01 Bean <bean123ch@gmail.com>
40712
40713 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
40714 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40715 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40716 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40717
40718 * loader/i386/efi/linux.c (acpi_guid): New variable.
40719 (acpi_guid): Likewise.
40720 (EBDA_SEG_ADDR): New constant.
40721 (LOW_MEM_ADDR): Likewise.
40722 (FAKE_EBDA_SEG): Likewise.
40723 (fake_bios_data): New function.
40724 (grub_linux_boot): Call fake_bios_data.
40725
40726 2009-03-01 Bean <bean123ch@gmail.com>
40727
40728 * commands/terminal.c: Removed.
40729
40730 * commands/handler.c: New file.
40731
40732 * include/grub/list.h: Likewise.
40733
40734 * include/grub/handler.h: Likewise.
40735
40736 * kern/list.c: Likewise.
40737
40738 * kern/handler.c: Likewise.
40739
40740 * kern/term.h: Include header file <grub/handler.h>.
40741 (grub_term_input): Move next field to the beginning.
40742 (grub_term_output): Likewise.
40743 (grub_term_input_class): New variable.
40744 (grub_term_output_class): Likewise.
40745 (grub_term_register_input): Changed to inline function.
40746 (grub_term_register_output): Likewise.
40747 (grub_term_unregister_input): Likewise.
40748 (grub_term_unregister_output): Likewise.
40749 (grub_term_set_current_input): Likewise.
40750 (grub_term_set_current_output): Likewise.
40751 (grub_term_get_current_input): Likewise.
40752 (grub_term_get_current_output): Likewise.
40753 (grub_term_iterate_input): Removed.
40754 (grub_term_iterate_output): Likewise.
40755
40756 * kern/term.c (grub_term_list_input): Removed.
40757 (grub_term_list_output): Likewise.
40758 (grub_term_input_class): New variable.
40759 (grub_term_output_class): Likewise.
40760 (grub_cur_term_input): Change variable as macro.
40761 (grub_cur_term_output): Likewise.
40762 (grub_term_register_input): Removed.
40763 (grub_term_register_output): Likewise.
40764 (grub_term_unregister_input): Likewise.
40765 (grub_term_unregister_output): Likewise.
40766 (grub_term_set_current_input): Likewise.
40767 (grub_term_set_current_output): Likewise.
40768 (grub_term_iterate_input): Likewise.
40769 (grub_term_iterate_output): Likewise.
40770 (grub_term_get_current_input): Likewise.
40771 (grub_term_get_current_output): Likewise.
40772
40773 * util/grub-editenv.c: Include header file <grub/handler.h>.
40774 (grub_term_get_current_input): Removed.
40775 (grub_term_get_current_output): Likewise.
40776 (grub_term_input_class): New variable.
40777 (grub_term_output_class): Likewise.
40778
40779 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40780 (grub_term_get_current_output): Likewise.
40781 (grub_term_input_class): New variable.
40782 (grub_term_output_class): Likewise.
40783
40784 * util/grub-probe.c (grub_term_get_current_input): Removed.
40785 (grub_term_get_current_output): Likewise.
40786 (grub_term_input_class): New variable.
40787 (grub_term_output_class): Likewise.
40788
40789 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40790 (grub_term_get_current_output): Likewise.
40791 (grub_term_input_class): New variable.
40792 (grub_term_output_class): Likewise.
40793
40794 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40795 (terminal_mod_SOURCES): Likewise.
40796 (terminal_mod_CFLAGS): Likewise.
40797 (terminal_mod_LDFLAGS): Likewise.
40798
40799 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40800 handler.c.
40801 (kernel_img_SOURCES): Add list.c and handler.c.
40802 (kernel_img_HEADERS): Add list.h and handler.h.
40803
40804 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40805 handler.c.
40806 (kernel_mod_SOURCES): Add list.c and handler.c.
40807 (kernel_mod_HEADERS): Add list.h and handler.h.
40808
40809 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40810 handler.c.
40811 (kernel_elf_SOURCES): Add list.c and handler.c.
40812 (kernel_elf_HEADERS): Add list.h and handler.h.
40813
40814 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40815 handler.c.
40816 (kernel_elf_SOURCES): Add list.c and handler.c.
40817 (kernel_elf_HEADERS): Add list.h and handler.h.
40818
40819 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40820 handler.c.
40821 (kernel_mod_SOURCES): Add list.c and handler.c.
40822 (kernel_mod_HEADERS): Add list.h and handler.h.
40823
40824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40825 handler.c.
40826 (kernel_elf_SOURCES): Add list.c and handler.c.
40827 (kernel_elf_HEADERS): Add list.h and handler.h.
40828
40829 2009-02-27 Robert Millan <rmh@aybabtu.com>
40830
40831 Factorize elf32 / elf64 code in Multiboot loader. This will
40832 prevent it from getting out of sync again.
40833
40834 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40835 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40836 grub_multiboot_load_elf64): Move from here ...
40837 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40838 grub_multiboot_load_elf): ... to here (new file).
40839
40840 2009-02-27 Robert Millan <rmh@aybabtu.com>
40841
40842 * util/grub.d/10_linux.in: Rename "single-user mode" to
40843 "recovery mode".
40844
40845 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40846
40847 Don't leak in SCSI code.
40848 * disk/scsi.c (grub_scsi_close): free `scsi'.
40849
40850 2009-02-27 Robert Millan <rmh@aybabtu.com>
40851
40852 * loader/i386/pc/multiboot.c: Move from here ...
40853 * loader/i386/multiboot.c: ... to here. Update all users.
40854
40855 2009-02-27 Robert Millan <rmh@aybabtu.com>
40856
40857 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40858 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40859
40860 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
40861
40862 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40863 b-tree.
40864
40865 2009-02-27 Robert Millan <rmh@aybabtu.com>
40866
40867 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40868 `0x' qualifier as 0 when base is specified as parameter).
40869
40870 2009-02-24 Bean <bean123ch@gmail.com>
40871
40872 * configure.ac: Check for -mcmodel=large in x86_64 target.
40873
40874 * include/grub/efi/api.h (efi_call_10): New macro.
40875 (efi_wrap_10): New function.
40876
40877 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40878 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40879 (GRUB_PE32_REL_BASED_LOW): Likewise.
40880 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40881 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40882 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40883 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40884 (GRUB_PE32_REL_BASED_REL): Likewise.
40885 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40886 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40887 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40888
40889 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40890 issue.
40891
40892 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40893 (efi_wrap_10): New function.
40894
40895 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40896
40897 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40898 MB/MBP model (NV chipset).
40899 (devdata_devs): Add devpath_5 to the list.
40900
40901 * load/i386/efi/linux.c (video_base): Remove variable.
40902 (RGB_MASK): New macro.
40903 (RGB_MAGIC): Likewise.
40904 (LINE_MIN): Likewise.
40905 (LINE_MAX): Likewise.
40906 (FBTEST_STEP): Likewise.
40907 (FBTEST_COUNT): Likewise.
40908 (fb_list): New variable.
40909 (grub_find_video_card): Remove function.
40910 (find_framebuf): New function.
40911 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40912 line length.
40913
40914 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40915 problem for x86_64.
40916
40917 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40918
40919 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40920
40921 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40922 coding tool name.
40923
40924 2009-02-22 Robert Millan <rmh@aybabtu.com>
40925
40926 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40927 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40928 in our relocation, instead of using it directly from heap. Also
40929 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40930
40931 2009-02-21 Robert Millan <rmh@aybabtu.com>
40932
40933 Implement USB keyboard support (based on patch by Marco Gerards)
40934
40935 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40936 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40937 (usb_keyboard_mod_LDFLAGS): New variables.
40938
40939 * term/usb_keyboard.c: New file.
40940
40941 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40942
40943 Corrected wrong declaration
40944
40945 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40946
40947 2009-02-14 Christian Franke <franke@computer.org>
40948
40949 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40950 (grub_lspci_iter): Print class code and programming interface byte.
40951
40952 2009-02-14 Christian Franke <franke@computer.org>
40953
40954 * gendistlist.sh: Ignore `.svn' directories.
40955
40956 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
40957
40958 * fs/fat.c: Add 2009 to Copyright line.
40959
40960 2009-02-14 Christian Franke <franke@computer.org>
40961
40962 * commands/hdparm.c: New file. Provides `hdparm' command
40963 which sends ATA commands via grub_disk_ata_pass_through ().
40964
40965 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40966
40967 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40968 and <grub/cpu/io.h> to include/grub/ata.h.
40969 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40970 (GRUB_CDROM_SECTOR_SIZE): Remove.
40971 (GRUB_ATA_*): Move to include/grub/ata.h.
40972 (GRUB_ATAPI_*): Likewise.
40973 (enum grub_ata_commands): Likewise.
40974 (enum grub_ata_timeout_milliseconds): Likewise.
40975 (struct grub_ata_device): Likewise.
40976 (grub_ata_regset): Likewise.
40977 (grub_ata_regget): Likewise.
40978 (grub_ata_regset2): Likewise.
40979 (grub_ata_regget2): Likewise.
40980 (grub_ata_check_ready): Likewise.
40981 (grub_ata_wait_not_busy): Remove static, exported in
40982 include/grub/ata.h.
40983 (grub_ata_wait_drq): Likewise.
40984 (grub_ata_pio_read): Likewise.
40985
40986 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40987 function for hdparm.mod.
40988
40989 * include/grub/ata.h: New file, contains declarations from
40990 disk/ata.c.
40991 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40992
40993 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40994 (grub_disk_ata_pass_through): New exported variable.
40995
40996 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40997
40998 2009-02-13 Colin D Bennett <colin@gibibit.com>
40999
41000 Support multiple fallback entries, and provide an API to support
41001 executing default+fallback menu entries. Renamed the `terminal' menu
41002 viewer to `text'.
41003
41004 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
41005 variable declaration.
41006 (grub_menu_execute_callback): New structure declaration.
41007 (grub_menu_execute_callback_t): New typedef.
41008 (grub_menu_execute_with_fallback): New function declaration.
41009 (grub_menu_get_entry): Likewise.
41010 (grub_menu_get_timeout): Likewise.
41011 (grub_menu_set_timeout): Likewise.
41012
41013 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
41014
41015 * normal/menu.c (grub_wait_after_message): Moved to
41016 `normal/menu_text.c'.
41017 (draw_border): Likewise.
41018 (print_message): Likewise.
41019 (print_entry): Likewise.
41020 (print_entries): Likewise.
41021 (grub_menu_init_page): Likewise.
41022 (get_entry_number): Likewise.
41023 (print_timeout): Likewise.
41024 (run_menu): Likewise.
41025 (grub_menu_execute_entry): Likewise.
41026 (show_text_menu): Likewise.
41027 (get_and_remove_first_entry_number): New function.
41028 (grub_menu_execute_with_fallback): Likewise.
41029 (get_entry): Renamed to ...
41030 (grub_menu_get_entry): .. this and made it global.
41031 (get_timeout): Renamed to ...
41032 (grub_menu_get_timeout): ... this and made it global.
41033 (set_timeout): Renamed to ...
41034 (grub_menu_set_timeout): ... this and made it global.
41035 (grub_normal_terminal_menu_viewer): Renamed to ...
41036 (grub_normal_text_menu_viewer): ... this.
41037
41038 * normal/menu_text.c: New file. Extracted text-menu-specific code
41039 from normal/menu.c.
41040
41041 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
41042 (normal_mod_SOURCES): Likewise.
41043
41044 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41045 (normal_mod_SOURCES): Likewise.
41046
41047 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41048 (normal_mod_SOURCES): Likewise.
41049
41050 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
41051 (normal_mod_SOURCES): Likewise.
41052
41053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41054 (normal_mod_SOURCES): Likewise.
41055
41056 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41057 (normal_mod_SOURCES): Likewise.
41058
41059 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41060 (normal_mod_SOURCES): Likewise.
41061
41062 2009-02-11 Robert Millan <rmh@aybabtu.com>
41063
41064 * util/grub.d/00_header.in: Update old reference to `font' command.
41065
41066 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
41067
41068 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
41069
41070 Based on patch from Javier Martín.
41071
41072 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
41073
41074 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
41075 to avoid false positives with FAT.
41076 (grub_fstest_SOURCES): Likewise.
41077 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41078 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41080 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41081 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41082 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41083
41084 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
41085
41086 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
41087 bpb.version_specific.fat12_or_fat16.fstype and
41088 bpb.version_specific.fat32.fstype.
41089
41090 2009-02-08 Robert Millan <rmh@aybabtu.com>
41091
41092 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
41093
41094 2009-02-08 Robert Millan <rmh@aybabtu.com>
41095
41096 * Makefile.in (host_os, host_cpu): New variables.
41097 (target_os): Remove. Update all users.
41098
41099 2009-02-08 Marco Gerards <marco@gnu.org>
41100
41101 * Makefile.in (enable_grub_emu_usb): New variable.
41102 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
41103 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
41104 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
41105 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
41106 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
41107 `usbtest.mod' and `usbms.mod'.
41108 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
41109 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
41110 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
41111 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
41112 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
41113 variables.
41114
41115 * disk/usbms.c: New file.
41116
41117 * include/grub/usb.h: Likewise.
41118
41119 * include/grub/usbtrans.h: Likewise.
41120
41121 * include/grub/usbdesc.h: Likewise.
41122
41123 * bus/usb/usbtrans.c: Likewise.
41124
41125 * bus/usb/ohci.c: Likewise.
41126
41127 * bus/usb/uhci.c: Likewise.
41128
41129 * bus/usb/usbhub.c: Likewise.
41130
41131 * bus/usb/usb.c: Likewise.
41132
41133 * commands/usbtest.c: Likewise.
41134
41135 * util/usb.c: Likewise.
41136
41137 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
41138
41139 * configure.ac: Test for libusb presence.
41140
41141 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
41142
41143 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
41144
41145 * kern/mm.c: Add more comments.
41146
41147 2009-02-08 Robert Millan <rmh@aybabtu.com>
41148
41149 Patch from Javier Martín.
41150 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
41151 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
41152
41153 2009-02-08 Robert Millan <rmh@aybabtu.com>
41154
41155 * fs/cpio.c: Split tar functionality to ...
41156 * fs/tar.c: ... here (new file). Update all users.
41157
41158 2009-02-07 Robert Millan <rmh@aybabtu.com>
41159
41160 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
41161 backward-incompatible features.
41162
41163 Based on patch from Javier Martín, with some adjustments.
41164
41165 2009-02-07 Michael Scherer <misc@mandriva.org>
41166
41167 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
41168
41169 2009-02-07 Robert Millan <rmh@aybabtu.com>
41170
41171 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
41172 position of `disk/lvm.c' to ensure grub_init_all() always picks it
41173 after the RAID stuff.
41174
41175 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
41176
41177 Fixes problem when running vbetest command as reported by
41178 Vladimir Serbinenko <phcoder@gmail.com>.
41179
41180 * (grub_vbe_set_video_mode): Fixed problem with text modes.
41181
41182 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
41183
41184 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
41185 /dev/md/NpN style mdraid devices.
41186
41187 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41188
41189 * util/unifont2pff.rb: Remove.
41190
41191 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41192
41193 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
41194 `#'.
41195
41196 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41197
41198 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
41199 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41200 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41201 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41203 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41204 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41205
41206 2009-02-02 Christian Franke <franke@computer.org>
41207
41208 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
41209
41210 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
41211
41212 * INSTALL: Note that we now require at least autoconf 2.59 and
41213 that LZO is optional.
41214
41215 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41216
41217 Base on patch on bug #24154 created by Tomas Tintera
41218 <trosos@seznam.cz>.
41219
41220 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
41221
41222 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41223
41224 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
41225 <bero@arklinux.org>.
41226
41227 * normal/parser.y (script_init): Add missing semicolon.
41228
41229 2009-01-31 Colin D Bennett <colin@gibibit.com>
41230
41231 * normal/main.c: Add include to grub/menu_viewer.h.
41232 (free_menu_entry_classes): Added.
41233 (grub_normal_menu_addentry): Added class property handling.
41234 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
41235 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
41236
41237 * normal/menu_viewer.c: New file.
41238
41239 * normal/menu.c (run_menu_entry): Renamed to ...
41240 (grub_menu_execute_entry): ... this and made it as global.
41241 (grub_menu_run): Renamed to ...
41242 (show_text_menu): ... this and made it local.
41243 (show_text_menu): Adapt to new function names.
41244 (grub_normal_terminal_menu_viewer): New global variable.
41245
41246 * include/grub/menu.h: New file.
41247
41248 * include/grub/menu_viewer.h: New file.
41249
41250 * include/grub/normal.h: Added include to grub/menu.h.
41251 (grub_menu_entry): Moved to include/grub/menu.h.
41252 (grub_menu_entry_t): Likewise.
41253 (grub_menu): Likewise.
41254 (grub_menu_t): Likewise.
41255 (grub_normal_terminal_menu_viewer): Added.
41256 (grub_menu_execute_entry): Likewise.
41257 (grub_menu_run): Removed.
41258
41259 * DISTLIST: Added include/grub/menu.h.
41260 Added include/grub/menu_viewer.h.
41261 Added normal/menu_viewer.c.
41262
41263 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41264
41265 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41266 arglist for menutitle arguments.
41267
41268 * normal/main.c (grub_normal_menu_addentry): Likewise.
41269
41270 * normal/parser.y (menuentry): Likewise.
41271
41272 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41273
41274 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41275 (grub_script_create_cmdmenu): Likewise.
41276
41277 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41278
41279 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41280 changes.
41281
41282 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41283
41284 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41285
41286 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41287
41288 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41289
41290 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41291
41292 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41293
41294 2009-01-30 Christian Franke <franke@computer.org>
41295
41296 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41297 in option help text.
41298
41299 2009-01-27 Pavel Roskin <proski@gnu.org>
41300
41301 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41302
41303 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41304
41305 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41306
41307 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41308
41309 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41310 unregister function.
41311
41312 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41313
41314 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41315
41316 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41317
41318 * util/grub-mkfont.c (usage): Fix typo.
41319
41320 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41321
41322 2009-01-26 Daniel Mierswa <impulze@impulze.org>
41323
41324 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41325
41326 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41327
41328 * kern/misc.c (grub_strcasecmp): New function.
41329 (grub_strcasecmp): Use grub_size_t instead of int for length.
41330 Fix return value.
41331 * include/grub/misc.h: Update function prototypes.
41332
41333 2009-01-26 Robert Millan <rmh@aybabtu.com>
41334
41335 * configure.ac: Fix cross-compilation check.
41336
41337 2009-01-22 Christian Franke <franke@computer.org>
41338
41339 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41340 (precision) digit string. Allow `.format2' without `format1' (width).
41341 Limit input chars for `%s' output to `format2' if specified. This is
41342 compatible with standard printf ().
41343
41344 2009-01-22 Christian Franke <franke@computer.org>
41345
41346 * disk/ata.c (grub_ata_wait_status): Replace by ...
41347 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41348 other status bits may be invalid while BSY is asserted.
41349 (grub_ata_check_ready): New function.
41350 (grub_ata_cmd): Removed.
41351 (grub_ata_wait_drq): New function.
41352 (grub_ata_strncpy): Remove inline.
41353 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41354 and error check now done by grub_ata_wait_drq ().
41355 (grub_ata_pio_write): Likewise.
41356 (grub_atapi_identify): Set DEV before check for !BSY. Use
41357 grub_ata_wait_drq () to wait for data.
41358 (grub_ata_device_initialize): Add status register check to
41359 detect missing SATA slave devices. Add debug messages.
41360 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41361 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41362 transfer loop by grub_ata_pio_write ().
41363 (grub_ata_identify): Set DEV before check for !BSY. Use
41364 grub_ata_wait_drq () to wait for data.
41365 (grub_ata_setaddress): Set DEV before check for !BSY.
41366 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41367 read/write in one loop. Fix invalid command on write. Fix incomplete
41368 command on (size % batch) == 0. Add missing error check after write of
41369 last block. Add debug messages.
41370 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41371
41372 2009-01-19 Christian Franke <franke@computer.org>
41373
41374 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41375 (GRUB_ATAPI_IREASON_*): Likewise.
41376 (grub_ata_pio_write): Fix timeout error return.
41377 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41378 (grub_atapi_wait_drq): New function.
41379 (grub_atapi_packet): New parameter `size'.
41380 Use grub_atapi_wait_drq () and direct write instead of
41381 grub_ata_pio_write ().
41382 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41383 reads the number of bytes requested by the device for each DRQ
41384 assertion.
41385 (grub_atapi_write): Remove old implementation, return not
41386 implemented instead.
41387
41388 2009-01-19 Christian Franke <franke@computer.org>
41389
41390 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41391 of 512 to calculate data size.
41392 (grub_scsi_read12): Likewise.
41393 (grub_scsi_write10): Likewise.
41394 (grub_scsi_write12): Likewise.
41395 (grub_scsi_read): Adjust size according to blocksize.
41396 Add checks for invalid blocksize and unaligned transfer.
41397
41398 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41399
41400 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41401
41402 * term/gfxterm.c (write_char): Fix background rendering for wide
41403 width glyphs.
41404
41405 2009-01-19 Robert Millan <rmh@aybabtu.com>
41406
41407 * config.guess: Update to latest version from config git.
41408 * config.sub: Likewise.
41409
41410 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
41411
41412 * Makefile.in: Change font compilation to use new grub-mkfont instead
41413 of java version.
41414
41415 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41416 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41417 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41418 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41419 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41420 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41421 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41422 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41423 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41424
41425 2009-01-16 Christian Franke <franke@computer.org>
41426
41427 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41428 (enum grub_ata_timeout_milliseconds): New enum.
41429 (grub_ata_wait_status): Add parameter milliseconds.
41430 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41431 recovery from timed-out commands.
41432 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41433 return grub_errno instead of REG_ERROR.
41434 (grub_ata_pio_write): Add parameter milliseconds.
41435 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41436 Pass milliseconds to grub_ata_wait_status () and
41437 grub_ata_pio_read ().
41438 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41439 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41440 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41441 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41442 It is not suitable for device detection, because DEV bit is ignored,
41443 the command may run too long, and not all devices set the signature
41444 properly.
41445 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41446 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41447 Fix device selection, DEV bit must be set first to address the registers
41448 of the correct device.
41449 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41450 grub_ata_pio_read/write ().
41451 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41452 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41453
41454 2009-01-13 Carles Pina i Estany <carles@pina.cat>
41455
41456 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41457
41458 2009-01-13 Bean <bean123ch@gmail.com>
41459
41460 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41461
41462 2009-01-13 Bean <bean123ch@gmail.com>
41463
41464 * Makefile.in: (enable_grub_mkfont): New variable.
41465 (freetype_cflags): Likewise.
41466 (freetype_libs): Likewise.
41467
41468 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41469 (grub_mkfont_SOURCES): New variable.
41470 (grub_mkfont_CFLAGS): Likewise.
41471 (grub_mkfont_LDFLAGS): Likewise.
41472
41473 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41474 library if `--enable-grub-mkfont' is requested.
41475 (enable_grub_mkfont): New variable.
41476 (freetype_cflags): Likewise.
41477 (freetype_libs): Likewise.
41478
41479 * util/grub-mkfont.c: New file.
41480
41481 2009-01-12 Christian Franke <franke@computer.org>
41482
41483 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41484 mode check. Fix setting of compat_use[].
41485
41486 2009-01-10 Robert Millan <rmh@aybabtu.com>
41487
41488 Update a few copyright years which we forgot to do in 2008 (only for
41489 files whose changes made in 2008 were copyright-significant)
41490
41491 * Makefile.in: Add 2008 to Copyright line.
41492 * disk/ieee1275/ofdisk.c: Likewise.
41493 * disk/efi/efidisk.c: Likewise.
41494 * kern/dl.c: Likewise.
41495 * kern/sparc64/ieee1275/init.c: Likewise.
41496 * kern/mm.c: Likewise.
41497 * kern/efi/mm.c: Likewise.
41498 * boot/i386/pc/boot.S: Likewise.
41499 * genfslist.sh: Likewise.
41500 * fs/iso9660.c: Likewise.
41501 * fs/hfs.c: Likewise.
41502 * fs/jfs.c: Likewise.
41503 * fs/minix.c: Likewise.
41504 * fs/ufs.c: Likewise.
41505 * gensymlist.sh.in: Likewise.
41506 * genkernsyms.sh.in: Likewise.
41507 * include/grub/misc.h: Likewise.
41508 * include/grub/types.h: Likewise.
41509 * include/grub/symbol.h: Likewise.
41510 * include/grub/elf.h: Likewise.
41511 * include/grub/kernel.h: Likewise.
41512 * include/grub/disk.h: Likewise.
41513 * include/grub/dl.h: Likewise.
41514 * include/grub/i386/linux.h: Likewise.
41515 * include/grub/i386/pc/biosdisk.h: Likewise.
41516 * include/grub/efi/api.h: Likewise.
41517 * include/grub/efi/pe32.h: Likewise.
41518 * include/grub/util/misc.h: Likewise.
41519 * normal/execute.c: Likewise.
41520 * normal/arg.c: Likewise.
41521 * normal/completion.c: Likewise.
41522 * normal/lexer.c: Likewise.
41523 * normal/parser.y: Likewise.
41524 * normal/misc.c: Likewise.
41525 * commands/i386/pc/vbeinfo.c: Likewise.
41526 * commands/hexdump.c: Likewise.
41527 * commands/terminal.c: Likewise.
41528 * commands/ls.c: Likewise.
41529 * commands/help.c: Likewise.
41530 * partmap/pc.c: Likewise.
41531 * loader/efi/chainloader.c: Likewise.
41532 * loader/multiboot_loader.c: Likewise.
41533 * loader/i386/pc/multiboot2.c: Likewise.
41534 * term/efi/console.c: Likewise.
41535 * term/i386/pc/serial.c: Likewise.
41536 * util/lvm.c: Likewise.
41537 * util/console.c: Likewise.
41538 * util/i386/efi/grub-mkimage.c: Likewise.
41539 * util/raid.c: Likewise.
41540
41541 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41542
41543 * commands/videotest.c: Removed include to grub/machine/memory.h.
41544
41545 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41546 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41547 (video_mod_SOURCES): Removed.
41548 (video_mod_CFLAGS): Likewise.
41549 (video_mod_LDFLAGS): Likewise.
41550 (gfxterm_mod_SOURCES): Likewise.
41551 (gfxterm_mod_CFLAGS): Likewise.
41552 (gfxterm_mod_LDFLAGS): Likewise.
41553 (videotest_mod_SOURCES): Likewise.
41554 (videotest_mod_CFLAGS): Likewise.
41555 (videotest_mod_LDFLAGS): Likewise.
41556 (bitmap_mod_SOURCES): Likewise.
41557 (bitmap_mod_CFLAGS): Likewise.
41558 (bitmap_mod_LDFLAGS): Likewise.
41559 (tga_mod_SOURCES): Likewise.
41560 (tga_mod_CFLAGS): Likewise.
41561 (tga_mod_LDFLAGS): Likewise.
41562 (jpeg_mod_SOURCES): Likewise.
41563 (jpeg_mod_CFLAGS): Likewise.
41564 (jpeg_mod_LDFLAGS): Likewise.
41565 (png_mod_SOURCES): Likewise.
41566 (png_mod_CFLAGS): Likewise.
41567 (png_mod_LDFLAGS): Likewise.
41568
41569 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41570 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41571 (video_mod_SOURCES): Added.
41572 (video_mod_CFLAGS): Likewise.
41573 (video_mod_LDFLAGS): Likewise.
41574 (videotest_mod_SOURCES): Likewise.
41575 (videotest_mod_CFLAGS): Likewise.
41576 (videotest_mod_LDFLAGS): Likewise.
41577 (bitmap_mod_SOURCES): Likewise.
41578 (bitmap_mod_CFLAGS): Likewise.
41579 (bitmap_mod_LDFLAGS): Likewise.
41580 (tga_mod_SOURCES): Likewise.
41581 (tga_mod_CFLAGS): Likewise.
41582 (tga_mod_LDFLAGS): Likewise.
41583 (jpeg_mod_SOURCES): Likewise.
41584 (jpeg_mod_CFLAGS): Likewise.
41585 (jpeg_mod_LDFLAGS): Likewise.
41586 (png_mod_SOURCES): Likewise.
41587 (png_mod_CFLAGS): Likewise.
41588 (png_mod_LDFLAGS): Likewise.
41589 (gfxterm_mod_SOURCES): Likewise.
41590 (gfxterm_mod_CFLAGS): Likewise.
41591 (gfxterm_mod_LDFLAGS): Likewise.
41592
41593 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41594 grub/machine/console.h.
41595
41596 2009-01-04 Jerone Young <jerone@gmail.com>
41597
41598 Make on screen instructions clearer
41599
41600 Based on patch created by Jidanni <jidanni@jidanni.org>
41601
41602 * normal/menu.c: print clearer instructions on the screen
41603
41604 2009-01-02 Colin D Bennett <colin@gibibit.com>
41605
41606 New font engine.
41607
41608 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41609 build system and fixed gfxterm.c to work with different sized fonts.
41610
41611 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
41612
41613 * configure: Re-generated.
41614
41615 * DISTLIST: Removed font/manager.c.
41616 Added font/font.c.
41617 Added font/font_cmd.c.
41618
41619 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41620 compilation.
41621
41622 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
41623
41624 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
41625
41626 * kern/term.c: Changed users of grub_utf8_to_ucs4.
41627
41628 * normal/menu.c: Likewise.
41629
41630 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41631 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
41632
41633 * include/grub/font.h: Replaced with new file.
41634
41635 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41636 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41637 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41638 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41639 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
41640 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
41641 fg_red, fg_green, fg_blue, fg_alpha.
41642 (grub_video_adapter): Removed blit_glyph.
41643 (grub_video_blit_glyph): Removed.
41644
41645 * font/manager.c: Removed file.
41646
41647 * font/font.c: New file.
41648
41649 * font/font_cmd.c: Likewise.
41650
41651 * video/video.c (grub_video_blit_glyph): Removed.
41652
41653 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41654 (grub_video_vbe_map_rgba): Likewise.
41655 (grub_video_vbe_unmap_color_int): Likewise.
41656 (grub_video_vbe_blit_glyph): Removed.
41657 (grub_video_vbe_adapter): Removed blit_glyph.
41658
41659 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41660 (get_pixel): Likewise.
41661 (set_pixel): Likewise.
41662
41663 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
41664
41665 * term/gfxterm.c: Adapted to new font engine.
41666
41667 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
41668
41669 * term/i386/pc/vga.c: Likewise.
41670
41671 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
41672
41673 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41674
41675 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41676
41677 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41678
41679 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41680
41681 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41682
41683 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41684
41685 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41686
41687 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41688
41689 * util/grub.d/00_header.in: Changed to use new loadfont command.
41690
41691 * util/grub-mkconfig_lib.in: Changed font extension.
41692
41693 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
41694
41695 * util/getroot.c (grub_util_get_grub_dev): Add support for
41696 /dev/md/dNNpNN style partitionable mdraid devices.
41697
41698 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
41699
41700 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41701 at a time limit of the PXE TFTP API correctly.
41702 (grub_pxefs_close): Likewise.
41703
41704 2008-11-29 Robert Millan <rmh@aybabtu.com>
41705
41706 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
41707 grub_ata_device_initialize() calls.
41708
41709 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
41710
41711 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41712 iteration failed.
41713 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41714
41715 2008-11-28 Robert Millan <rmh@aybabtu.com>
41716
41717 Fix build on powerpc-ieee1275. Based on patch created by
41718 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41719 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41720 `kern/ieee1275/mmap.c'.
41721 * include/grub/powerpc/ieee1275/memory.h: New file.
41722
41723 Provide grub-install on coreboot.
41724 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41725 (grub_install_SOURCES): New variable.
41726 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41727 usable on coreboot.
41728
41729 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
41730
41731 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41732 to `grub_term_input_t'.
41733 (grub_term_get_current_output): Change return type to
41734 `grub_term_output_t'.
41735
41736 2008-11-22 Robert Millan <rmh@aybabtu.com>
41737
41738 Fix breakage on coreboot due to declaration mismatch.
41739 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41740 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41741 grub_vga_text_cls().
41742
41743 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
41744 comments. Avoid copying one more byte than necessary (just in case).
41745
41746 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41747 to 0x200000 (avoids trouble with some OFW implementations, and matches
41748 with the one in Yaboot).
41749 Reported by Manoel Abranches
41750
41751 2008-11-20 Robert Millan <rmh@aybabtu.com>
41752
41753 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41754 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41755
41756 * util/grub-mkconfig_lib.in (grub_warn): New function.
41757 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41758 warnings, to obtain consistent formatting.
41759 * util/grub.d/00_header.in: Likewise.
41760 * util/update-grub_lib.in: Likewise.
41761
41762 * loader/i386/linux.c (allocate_pages): Fix a warning.
41763 Move comment text to `#error' stanza.
41764
41765 Harmonize ieee1275's grub_available_iterate() with the generic
41766 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41767 build problem on i386-ieee1275):
41768 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41769 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41770 parameter `type'. Update all users of this function.
41771 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41772 `kern/ieee1275/mmap.c'.
41773 * kern/ieee1275/init.c
41774 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41775 with ...
41776 (grub_machine_mmap_iterate): ... this.
41777 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41778 return type to `grub_err_t'. Update all implementations of this
41779 function prototype.
41780 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41781 Likewise.
41782
41783 Add `lsmmap' command (lists firmware-provided memory map):
41784 * commands/lsmmap.c: New file.
41785 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41786 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41787 variables.
41788 * conf/powerpc-ieee1275.rmk: Likewise.
41789 * conf/i386-coreboot.rmk: Likewise.
41790 * conf/i386-ieee1275.rmk: Likewise.
41791
41792 2008-11-19 Robert Millan <rmh@aybabtu.com>
41793
41794 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
41795 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41796 constraints to initrd allocation (based on code from
41797 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41798 for Linux to find it.
41799
41800 2008-11-14 Robert Millan <rmh@aybabtu.com>
41801
41802 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41803 order to cope with duplicate slashes.
41804
41805 2008-11-14 Robert Millan <rmh@aybabtu.com>
41806
41807 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41808 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41809 don't want to mess with lower memory, because it is used in the Linux
41810 loader.
41811
41812 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
41813 an appropriate place in lower memory, between 0x10000 and 0x90000,
41814 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41815 is in our heap (probably as a result of it being corrupted during
41816 decompression). Add #error instance with comment to explain why this
41817 loader isn't currently usable on PC/BIOS.
41818
41819 2008-11-14 Robert Millan <rmh@aybabtu.com>
41820
41821 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
41822 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
41823
41824 2008-11-12 Robert Millan <rmh@aybabtu.com>
41825
41826 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41827
41828 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41829 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41830 from here ...
41831 * include/grub/i386/pc/memory.h: ... to here.
41832
41833 2008-11-12 Robert Millan <rmh@aybabtu.com>
41834
41835 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41836 split).
41837
41838 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41839 (grub_console_cur_color, grub_console_real_putchar)
41840 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41841 (grub_console_setcolorstate, grub_console_setcolor)
41842 (grub_console_getcolor): Move from here ...
41843 * include/grub/i386/vga_common.h: ... to here (new file).
41844
41845 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41846 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41847 `<grub/i386/io.h>'.
41848 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41849 `<grub/i386/vga_common.h>'.
41850
41851 2008-11-12 Robert Millan <rmh@aybabtu.com>
41852
41853 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41854 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41855 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41856 variables.
41857 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41858 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41859
41860 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41861 grub_console_init() with call to grub_vga_text_init().
41862 (grub_machine_fini): Replace call to
41863 grub_console_fini() with call to grub_vga_text_fini() and
41864 grub_at_keyboard_fini().
41865
41866 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41867 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41868 (grub_console_setcolorstate, grub_console_setcolor)
41869 (grub_console_getcolor): New function prototypes.
41870
41871 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41872 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41873 (grub_vga_text_setcursor): Static-ize.
41874 (grub_vga_text_term): New structure.
41875 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41876
41877 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41878 (grub_console_cur_color, grub_console_standard_color)
41879 (grub_console_normal_color, grub_console_highlight_color)
41880 (map_char, grub_console_putchar, grub_console_getcharwidth)
41881 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41882 (grub_console_getcolor): Move from here ...
41883 * term/i386/vga_common.c: ... to here (same function names).
41884
41885 2008-11-12 Robert Millan <rmh@aybabtu.com>
41886
41887 Use newly-added Multiboot support in coreboot.
41888
41889 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41890 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41891
41892 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41893 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41894 (codestart): Store the MBI in `startup_multiboot_info' when we're
41895 being loaded using Multiboot.
41896
41897 * kern/i386/coreboot/init.c (grub_machine_init): Move
41898 grub_at_keyboard_init() call to beginning of function (useful for
41899 debugging). Call grub_machine_mmap_init() before attempting to use
41900 grub_machine_mmap_iterate().
41901 (grub_lower_mem, grub_upper_mem): Move from here ...
41902 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41903 here (new file).
41904
41905 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41906 function prototype.
41907
41908 2008-11-12 Robert Millan <rmh@aybabtu.com>
41909
41910 Fix a regression introduced by the at_keyboard.mod split. Because
41911 some terminals are default on some platforms and non-default on
41912 others, the first terminal being registered determines which is
41913 going to be default.
41914
41915 * kern/term.c (grub_term_register_input): If this is the first
41916 terminal being registered, set it as the current one.
41917 (grub_term_register_output): Likewise.
41918
41919 * term/efi/console.c (grub_console_init): Do not call
41920 grub_term_set_current_output() or grub_term_set_current_input().
41921 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41922 * term/i386/pc/console.c (grub_console_init): Likewise.
41923 (grub_console_fini): Do not call grub_term_set_current_input()
41924 (but leave grub_term_set_current_output() to restore text mode).
41925
41926 2008-11-10 Robert Millan <rmh@aybabtu.com>
41927
41928 * util/grub.d/00_header.in: Add backward compatibility check for
41929 versions of terminal.mod that don't understand `terminal_input' or
41930 `terminal_output'.
41931
41932 2008-11-09 Robert Millan <rmh@aybabtu.com>
41933
41934 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41935 `terminal_input' / `terminal_output', not `terminal'.
41936
41937 2008-11-08 Robert Millan <rmh@aybabtu.com>
41938
41939 * Makefile.in (include_DATA): Fix srcdir=. assumption.
41940 (DISTCLEANFILES): Add `build_env.mk'.
41941
41942 2008-11-08 Robert Millan <rmh@aybabtu.com>
41943
41944 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
41945 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41946 members. Update all users.
41947 * util/console.c (grub_ncurses_term): Split in ...
41948 (grub_ncurses_term_input): ... this, and ...
41949 (grub_ncurses_term_output): ... this. Update all users.
41950 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
41951
41952 2008-11-08 Robert Millan <rmh@aybabtu.com>
41953
41954 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41955 (PKGDATA): Add $(pkgdata_SRCDIR).
41956 (pkglib_BUILDDIR): New variable.
41957 (pkgdata_SRCDIR): New variable.
41958 (build_env.mk): New target.
41959 (include_DATA): New variable.
41960 (install-local): Install $(include_DATA) files in $(includedir).
41961
41962 2008-11-07 Pavel Roskin <proski@gnu.org>
41963
41964 * gendistlist.sh: Use C locale for sorting to ensure consistent
41965 output on all systems.
41966
41967 * util/grub.d/00_header.in: Remove incorrect space before
41968 "serial".
41969
41970 2008-11-07 Robert Millan <rmh@aybabtu.com>
41971
41972 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41973 per specification.
41974 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41975 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41976 (based on find_multi_boot1_header).
41977 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41978 using find_multi_boot2_header(), and abort if neither Multiboot or
41979 Multiboot headers were found.
41980
41981 2008-11-07 Robert Millan <rmh@aybabtu.com>
41982
41983 Modularize at_keyboard.mod:
41984
41985 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41986 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41987 (at_keyboard_mod_LDFLAGS): New variables.
41988
41989 Actual terminal split:
41990
41991 * include/grub/term.h (struct grub_term): Split in ...
41992 (struct grub_term_input): ... this, and ...
41993 (struct grub_term_output): ... this. Update all users.
41994 (grub_term_set_current): Split in ...
41995 (grub_term_set_current_input): ... this, and ...
41996 (grub_term_set_current_output): ... this.
41997 (grub_term_get_current): Split in ...
41998 (grub_term_get_current_input): ... this, and ...
41999 (grub_term_get_current_output): ... this.
42000 (grub_term_register): Split in ...
42001 (grub_term_register_input): ... this, and ...
42002 (grub_term_register_output): ... this.
42003 (grub_term_unregister): Split in ...
42004 (grub_term_unregister_input): ... this, and ...
42005 (grub_term_unregister_output): ... this.
42006 (grub_term_iterate): Split in ...
42007 (grub_term_iterate_input): ... this, and ...
42008 (grub_term_iterate_output): ... this.
42009
42010 * kern/term.c (grub_term_list): Split in ...
42011 (grub_term_list_input): ... this, and ...
42012 (grub_term_list_output): ... this. Update all users.
42013 (grub_cur_term): Split in ...
42014 (grub_cur_term_input): ... this, and ...
42015 (grub_cur_term_output): ... this. Update all users.
42016 (grub_term_set_current): Split in ...
42017 (grub_term_set_current_input): ... this, and ...
42018 (grub_term_set_current_output): ... this.
42019 (grub_term_get_current): Split in ...
42020 (grub_term_get_current_input): ... this, and ...
42021 (grub_term_get_current_output): ... this.
42022 (grub_term_register): Split in ...
42023 (grub_term_register_input): ... this, and ...
42024 (grub_term_register_output): ... this.
42025 (grub_term_unregister): Split in ...
42026 (grub_term_unregister_input): ... this, and ...
42027 (grub_term_unregister_output): ... this.
42028 (grub_term_iterate): Split in ...
42029 (grub_term_iterate_input): ... this, and ...
42030 (grub_term_iterate_output): ... this.
42031
42032 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
42033 a check for input and one for output (and only attempt to get keys
42034 from user when input works).
42035
42036 * util/grub-probe.c (grub_term_get_current): Split in ...
42037 (grub_term_get_current_input): ... this, and ...
42038 (grub_term_get_current_output): ... this.
42039 * util/grub-fstest.c: Likewise.
42040 * util/i386/pc/grub-setup.c: Likewise.
42041 * util/grub-editenv.c: Likewise.
42042
42043 Portability adjustments:
42044
42045 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
42046 `term/i386/pc/at_keyboard.c'.
42047 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
42048 grub_keyboard_controller_init() (now handled by terminal .init).
42049 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
42050 grub_at_keyboard_init().
42051 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
42052 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
42053 at_keyboard.mod via input terminal interface).
42054 * include/grub/i386/coreboot/console.h: Convert into a stub for
42055 `<grub/i386/pc/console.h>'.
42056
42057 Migrate full terminals to new API:
42058
42059 * term/efi/console.c (grub_console_term): Split into ...
42060 (grub_console_term_input): ... this, and ...
42061 (grub_console_term_output): ... this. Update all users.
42062 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
42063 (grub_ofconsole_init): Split into ...
42064 (grub_ofconsole_init_input): ... this, and ...
42065 (grub_ofconsole_init_output): ... this.
42066 (grub_ofconsole_term): Split into ...
42067 (grub_ofconsole_term_input): ... this, and ...
42068 (grub_ofconsole_term_output): ... this. Update all users.
42069 * term/i386/pc/serial.c (grub_serial_term): Split into ...
42070 (grub_serial_term_input): ... this, and ...
42071 (grub_serial_term_output): ... this. Update all users.
42072 * term/i386/pc/console.c (grub_console_term): Split into ...
42073 (grub_console_term_input): ... this, and ...
42074 (grub_console_term_output): ... this. Update all users.
42075 (grub_console_term_input): Only enable it on PC/BIOS platform.
42076 (grub_console_init): Remove grub_keyboard_controller_init() call.
42077
42078 Migrate input terminals to new API:
42079
42080 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
42081 `i386' and `i386/pc' to enable build on x86_64 (this driver is
42082 i386-specific anyway).
42083 (grub_console_checkkey): Rename to ...
42084 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
42085 users.
42086 (grub_keyboard_controller_orig): New variable.
42087 (grub_console_getkey): Rename to ...
42088 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
42089 users.
42090 (grub_keyboard_controller_init): Static-ize. Save original
42091 controller value so that it can be restored ...
42092 (grub_keyboard_controller_fini): ... here (new function).
42093 (grub_at_keyboard_term): New structure.
42094 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
42095 functions.
42096
42097 Migrate output terminals to new API:
42098
42099 * term/i386/pc/vga.c (grub_vga_term): Change type to
42100 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42101 members. Update all users.
42102 * term/gfxterm.c (grub_video_term): Change type to
42103 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42104 members. Update all users.
42105 * include/grub/i386/pc/console.h (grub_console_checkkey)
42106 (grub_console_getkey): Do not export (no longer needed by gfxterm,
42107 etc).
42108
42109 Migrate `terminal' command and userland tools to new API:
42110
42111 * commands/terminal.c (grub_cmd_terminal): Split into ...
42112 (grub_cmd_terminal_input): ... this, and ...
42113 (grub_cmd_terminal_output): ... this.
42114 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
42115 `terminal_input' and `terminal_output'.
42116 * util/grub.d/00_header.in: Adjust `terminal' calls to new
42117 `terminal_input' / `terminal_output' API.
42118 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
42119 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
42120 provided ${GRUB_TERMINAL}, convert it).
42121
42122 2008-11-04 Robert Millan <rmh@aybabtu.com>
42123
42124 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
42125 for FreeBSD.
42126 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
42127
42128 2008-11-03 Bean <bean123ch@gmail.com>
42129
42130 * kern/elf.c (grub_elf32_load): Revert to previous code.
42131 (grub_elf64_load): Likewise.
42132
42133 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
42134
42135 2008-11-01 Robert Millan <rmh@aybabtu.com>
42136
42137 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
42138 (TARGET_CPPFLAGS): Likewise.
42139 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
42140
42141 2008-11-01 Carles Pina i Estany <carles@pina.cat>
42142
42143 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
42144
42145 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
42146
42147 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
42148 addition of objects until the code is not going to be able to fail.
42149
42150 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
42151
42152 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
42153 (add a missing NULL check, and correct them by moving the pointer
42154 operations after the actual check).
42155
42156 2008-10-29 Robert Millan <rmh@aybabtu.com>
42157
42158 * util/i386/pc/grub-install.in: Handle empty string as output from
42159 make_system_path_relative_to_its_root().
42160
42161 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
42162
42163 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
42164 circular metadata worst case scenario. If the metadata is circular
42165 then copy the wrap in place.
42166 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
42167 project lib/format_text/layout.h
42168 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
42169
42170 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42171
42172 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
42173
42174 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42175
42176 * util/update-grub_lib.in: Mention filename in warning message.
42177
42178 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42179
42180 * NEWS: Update for rename of update-grub to grub-mkconfig.
42181
42182 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42183
42184 * util/update-grub_lib.in: Copy to ...
42185 * util/grub-mkconfig_lib.in: ... this. Update all users.
42186 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
42187 * util/update-grub.in: Rename to ...
42188 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
42189 option. Add `--output' option to allow users to specify the generated
42190 configuration file. Default to stdout.
42191 (update_grub_dir): Rename to ...
42192 (grub_mkconfig_dir): ... this.
42193 (grub_cfg): Default to an empty string.
42194 * conf/common.rmk (update-grub): Rename to ...
42195 (grub-mkconfig): ... this.
42196 (update-grub_lib): Copy to ...
42197 (grub-mkconfig_lib): ... this.
42198 (update-grub_SCRIPTS): Copy to ...
42199 (grub-mkconfig_SCRIPTS): ... this. Update all users.
42200 (update-grub_DATA): Rename to ...
42201 (grub-mkconfig_DATA): ... this.
42202
42203 2008-09-28 Robert Millan <rmh@aybabtu.com>
42204
42205 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
42206 to `modified'. Add the real `created' field.
42207 (grub_iso9660_uuid): Use `modified' rather than `created' for
42208 constructing the UUID.
42209
42210 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
42211
42212 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
42213 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
42214
42215 2008-09-28 Bean <bean123ch@gmail.com>
42216
42217 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
42218 Thanks to Christian Franke for finding this bug.
42219
42220 2008-09-25 Robert Millan <rmh@aybabtu.com>
42221
42222 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
42223 instances of grub_util_get_disk_name() (see previous commit).
42224
42225 2008-09-25 Robert Millan <rmh@aybabtu.com>
42226
42227 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
42228 `util/i386/get_disk_name.c'.
42229 * conf/i386-efi.rmk: Likewise.
42230 * conf/x86_64-efi.rmk: Likewise.
42231 * conf/i386-coreboot.rmk: Likewise.
42232 * conf/i386-ieee1275.rmk: Likewise.
42233 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
42234 `util/ieee1275/get_disk_name.c'.
42235 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
42236 * util/ieee1275/get_disk_name.c: Remove file.
42237 * util/i386/get_disk_name.c: Remove file.
42238 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
42239 "hd%d" for device.map entries, rather than using
42240 grub_util_get_disk_name().
42241
42242 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42243
42244 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
42245 warning.
42246 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42247
42248 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42249
42250 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42251 Changed to 0x5100.
42252 (GRUB_TERM_PPAGE): Changed to 0x4900.
42253
42254 2008-09-24 Robert Millan <rmh@aybabtu.com>
42255
42256 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42257 macros (they were i386-pc specific).
42258 * include/grub/sparc64/ieee1275/console.h: Likewise.
42259 * include/grub/efi/console.h: Likewise.
42260
42261 2008-09-22 Bean <bean123ch@gmail.com>
42262
42263 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42264 resident and in attribute list.
42265
42266 * include/grub/ntfs.h (BMP_LEN): Removed.
42267
42268 2008-09-22 Bean <bean123ch@gmail.com>
42269
42270 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
42271 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42272
42273 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42274 error occurs, as grub_disk_open will call grub_disk_close, which will
42275 call p->close (scsi).
42276
42277 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42278
42279 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42280 (AC_PREREQ): Bumped to 2.59.
42281 (AC_TRY_COMPILE): Replace obsolete macro with ...
42282 (AC_COMPILE_IFELSE): ... this.
42283 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42284 (AC_LINK_IFELSE): ... this.
42285
42286 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42287
42288 * autogen.sh: Add a call to `gendistlist.sh'.
42289
42290 2008-09-19 Christian Franke <franke@computer.org>
42291
42292 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42293 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42294 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42295 Export __enable_execute_stack() to modules.
42296 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42297 New function.
42298
42299 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42300
42301 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42302 Sort the list.
42303
42304 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42305
42306 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
42307 #include <grub/util/hostdisk.h>.
42308
42309 2008-09-08 Robert Millan <rmh@aybabtu.com>
42310
42311 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42312 segments when their filesz is zero (grub_file_read() interprets
42313 zero-size as "read until EOF", which results in memory corruption).
42314 Use `lowest_segment' rather than 0 for calculating the current
42315 segment load address.
42316
42317 2008-09-08 Robert Millan <rmh@aybabtu.com>
42318
42319 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42320 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42321 clobbered useful information.
42322
42323 2008-09-08 Robert Millan <rmh@aybabtu.com>
42324
42325 * include/grub/util/biosdisk.h: Move to ...
42326 * include/grub/util/hostdisk.h: ... here. Update all users.
42327 * util/biosdisk.c: Move to ...
42328 * util/hostdisk.c: ... here. Update all users.
42329
42330 2008-09-07 Robert Millan <rmh@aybabtu.com>
42331
42332 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42333 variables.
42334 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42335 and length can be stored directly in the `mbi->mmap_addr' and
42336 `mbi->mmap_length' struct fields.
42337
42338 2008-09-07 Robert Millan <rmh@aybabtu.com>
42339
42340 * conf/i386.rmk: New file. Provides declaration for building
42341 `cpuid.mod'.
42342 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42343 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42344 variables.
42345 Include `conf/i386.mk'.
42346 * conf/i386-efi.rmk: Likewise.
42347 * conf/x86_64-efi.rmk: Likewise.
42348 * conf/i386-coreboot.rmk: Likewise.
42349 * conf/i386-ieee1275.rmk: Likewise.
42350
42351 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42352
42353 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42354 Adds optimization support for BGR based modes.
42355
42356 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42357 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42358 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42359 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42360 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42361 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42362 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42363 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42364 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42365 (grub_video_i386_vbeblit_index_index): Likewise.
42366 (grub_video_i386_vbeblit_replace_directN): Added.
42367 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42368 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42369 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42370 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42371 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42372 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42373 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42374 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42375 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42376 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42377 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42378 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42379 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42380
42381 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42382 (grub_video_i386_vbefill_R8G8B8): Likewise.
42383 (grub_video_i386_vbefill_index): Likewise.
42384 (grub_video_i386_vbefill_direct32): Added.
42385 (grub_video_i386_vbefill_direct24): Likewise.
42386 (grub_video_i386_vbefill_direct16): Likewise.
42387 (grub_video_i386_vbefill_direct8): Likewise.
42388
42389 * include/grub/video.h (grub_video_blit_format): Removed
42390 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42391 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42392 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42393 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42394 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
42395
42396 * video/video.c (grub_video_get_blit_format): Updated to use new
42397 blit formats. Added handling for 16 bit color modes.
42398
42399 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
42400 fillers.
42401 (common_blitter): Updated to use new blitters.
42402
42403 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42404 Removed.
42405 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42406 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42407 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42408 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42409 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42410 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42411 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42412 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42413 (grub_video_i386_vbeblit_index_index): Likewise.
42414 (grub_video_i386_vbeblit_replace_directN): Added.
42415 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42416 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42417 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42418 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42419 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42420 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42421 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42422 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42423 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42424 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42425 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42426 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42427 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42428
42429 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42430 (grub_video_i386_vbefill_R8G8B8): Likewise.
42431 (grub_video_i386_vbefill_index): Likewise.
42432 (grub_video_i386_vbefill_direct32): Added.
42433 (grub_video_i386_vbefill_direct24): Likewise.
42434 (grub_video_i386_vbefill_direct16): Likewise.
42435 (grub_video_i386_vbefill_direct8): Likewise.
42436
42437 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42438 types.
42439
42440 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42441 types.
42442
42443 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42444 blitter types.
42445
42446 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42447 types.
42448
42449 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42450
42451 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42452 RAID level 1.
42453
42454 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42455
42456 * fs/iso9660.c (grub_iso9660_date): New structure.
42457 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42458 (grub_iso9660_uuid): New function.
42459
42460 2008-09-05 Bean <bean123ch@gmail.com>
42461
42462 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42463
42464 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42465 insensitive bit for names in Win32 and Win32 & DOS namespace.
42466
42467 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42468
42469 * include/grub/types.h (LONG_MAX): Likewise.
42470
42471 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42472
42473 * util/getroot.c: Include <config.h>.
42474 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42475 add support for /dev/md/N devices and handle LVM double dash escaping.
42476
42477 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42478
42479 * config.guess: Update to latest version from config git.
42480 * config.sub: Likewise.
42481
42482 2008-09-03 Robert Millan <rmh@aybabtu.com>
42483
42484 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42485 `disk->total_sectors'.
42486
42487 2008-09-01 Colin D Bennett <colin@gibibit.com>
42488
42489 * include/grub/normal.h: Fixed incorrect comment for
42490 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42491
42492 2008-09-01 Colin D Bennett <colin@gibibit.com>
42493
42494 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42495 values with defines.
42496
42497 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42498 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42499 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42500 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42501 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42502 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42503 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42504 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42505 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42506 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42507 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42508 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42509 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42510 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42511 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42512 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42513 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42514 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42515 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42516
42517 2008-08-31 Robert Millan <rmh@aybabtu.com>
42518
42519 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42520 declaration.
42521 (grub_multiboot): Fix a few warnings.
42522
42523 2008-08-31 Robert Millan <rmh@aybabtu.com>
42524
42525 * loader/i386/pc/multiboot.c: Update comment not to say that
42526 boot_device support is unimplemented.
42527
42528 2008-08-31 Robert Millan <rmh@aybabtu.com>
42529
42530 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42531 or memory map support are unimplemented.
42532
42533 2008-08-31 Colin D Bennett <colin@gibibit.com>
42534
42535 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42536
42537 2008-08-31 Colin D Bennett <colin@gibibit.com>
42538
42539 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42540 total video memory in 'vbeinfo' output; show color format details for
42541 each video mode.
42542
42543 2008-08-30 Pavel Roskin <proski@gnu.org>
42544
42545 * util/genmoddep.c: Remove for real this time.
42546 * DISTLIST: Remove util/genmoddep.c.
42547
42548 2008-08-30 Robert Millan <rmh@aybabtu.com>
42549
42550 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42551 as required by Multiboot spec (it was already 4-byte aligned, but
42552 only by chance).
42553
42554 2008-08-29 Pavel Roskin <proski@gnu.org>
42555
42556 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42557 * kern/powerpc/ieee1275/startup.S: ... this.
42558 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42559 * DISTLIST: Likewise.
42560
42561 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42562 grub/cpu/kernel.h. Add start label for consistency with other
42563 platforms. Add grub_prefix immediately after start. Add jump
42564 to the code after grub_prefix.
42565 * include/grub/powerpc/kernel.h: Provide valid values for
42566 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42567
42568 2008-08-29 Bean <bean123ch@gmail.com>
42569
42570 * configure.ac: Change host_os to cygwin for mingw.
42571 (asprintf): New check for function.
42572
42573 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42574 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42575
42576 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
42577 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
42578 sync, sleep and grub_util_get_disk_size for mingw.
42579
42580 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42581 to get size in mingw.
42582 (open_device): Use flag O_BINARY if it's defined.
42583 (find_root_device): Add dummy code for mingw.
42584
42585 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42586 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42587 (get_scsi_disk_name): Return 0 for mingw.
42588
42589 * util/hostfs.c: #include <grub/util/misc.h>.
42590 (grub_hostfs_open): Use "rb" flag to open file, use
42591 grub_util_get_disk_size to get disk size for mingw.
42592
42593 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42594 (asprintf): New function if HAVE_ASPRINTF is not set.
42595 (sync): New function for mingw.
42596 (sleep): Likewise.
42597 (grub_util_get_disk_size): Likewise.
42598
42599 2008-08-28 Pavel Roskin <proski@gnu.org>
42600
42601 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42602 kern/time.c.
42603
42604 2008-08-28 Robert Millan <rmh@aybabtu.com>
42605
42606 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42607
42608 2008-08-28 Robert Millan <rmh@aybabtu.com>
42609
42610 Change find_grub_drive() syntax so it doesn't prevent it from
42611 detecting NULL names as errors.
42612
42613 * util/biosdisk.c (find_grub_drive): Move free slot search code
42614 from here ...
42615 (find_free_slot): ... to here.
42616 (read_device_map): Use find_free_slot() to search for free slots.
42617
42618 2008-08-27 Marco Gerards <marco@gnu.org>
42619
42620 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42621 (scsi_mod_SOURCES): New variable.
42622 (scsi_mod_CFLAGS): Likewise
42623 (scsi_mod_LDFLAGS): Likewise.
42624
42625 * disk/scsi.c: New file.
42626
42627 * include/grub/scsi.h: Likewise.
42628
42629 * include/grub/scsicmd.h: Likewise.
42630
42631 * disk/ata.c: Include <grub/scsi.h>.
42632 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42633 instead.
42634 (grub_ata_iterate): Skip ATAPI devices.
42635 (grub_ata_open): Only handle ATAPI devices.
42636 (struct grub_atapi_read): Removed.
42637 (grub_atapi_readsector): Likewise.
42638 (grub_ata_read): No longer handle ATAPI devices.
42639 (grub_ata_write): Likewise.
42640 (grub_atapi_iterate): New function.
42641 (grub_atapi_read): Likewise.
42642 (grub_atapi_write): Likewise.
42643 (grub_atapi_open): Likewise.
42644 (grub_atapi_close): Likewise.
42645 (grub_atapi_dev): New variable.
42646 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42647 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42648
42649 * include/grub/disk.h (enum grub_disk_dev_id): Add
42650 `GRUB_DISK_DEVICE_SCSI_ID'.
42651
42652 2008-08-26 Robert Millan <rmh@aybabtu.com>
42653
42654 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42655 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42656 descriptive.
42657
42658 2008-08-23 Bean <bean123ch@gmail.com>
42659
42660 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42661 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42662 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42663 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42664 dm_nv.mod.
42665 (raid5rec_mod_SOURCES): New macro.
42666 (raid5rec_mod_CFLAGS): Likewise.
42667 (raid5rec_mod_LDFLAGS): Likewise.
42668 (raid6rec_mod_SOURCES): Likewise.
42669 (raid6rec_mod_CFLAGS): Likewise.
42670 (raid6rec_mod_LDFLAGS): Likewise.
42671 (mdraid_mod_SOURCES): Likewise.
42672 (mdraid_mod_CFLAGS): Likewise.
42673 (mdraid_mod_LDFLAGS): Likewise.
42674 (dm_nv_mod_SOURCES): Likewise.
42675 (dm_nv_mod_CFLAGS): Likewise.
42676 (dm_nv_mod_LDFLAGS): Likewise.
42677
42678 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42679 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42680 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42681
42682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42683 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42684
42685 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42686
42687 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42688
42689 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42690
42691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42692
42693 * disk/raid5_recover.c: New file.
42694
42695 * disk/raid6_recover.c: Likewise.
42696
42697 * disk/mdraid_linux.c: Likewise.
42698
42699 * disk/dmraid_nvidia.c: Likewise.
42700
42701 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42702 ULONG_MAX.
42703
42704 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42705 calculate the size of raid device.
42706 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42707 different layout of raid5.
42708 (grub_raid_scan_device): Remove code specific to mdraid.
42709 (grub_raid_list): New variable.
42710 (free_array): New function.
42711 (grub_raid_register): Likewise.
42712 (grub_raid_unregister): Likewise.
42713 (grub_raid_rescan): Likewise.
42714 (GRUB_MOD_INIT): Don't iterate device here.
42715 (GRUB_MOD_FINI): Use free_array to release resource.
42716
42717 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42718 (grub_raid5_recover_func_t): New function variable type.
42719 (grub_raid6_recover_func_t): Likewise.
42720 (grub_raid5_recover_func): New variable.
42721 (grub_raid6_recover_func): Likewise.
42722 (grub_raid_register): New function.
42723 (grub_raid_unregister): Likewise.
42724 (grub_raid_rescan): Likewise.
42725 (grub_raid_block_xor): Likewise.
42726
42727 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42728 (CMD_CRC): New macro.
42729 (part): Removed.
42730 (read_file): Handle device as well as file.
42731 (cmd_crc): New function.
42732 (fstest): Handle multiple disks.
42733 (options): Remove part, raw and long, add root and diskcount.
42734 (usage): Add crc, remove -p, -r, -l, add -r and -c.
42735 (main): Find the first non option entry and ignore subsequent options,
42736 add handling for the new options, support multiple disks.
42737
42738 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42739
42740 2008-08-23 Bean <bean123ch@gmail.com>
42741
42742 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42743
42744 * genfslist.sh: Ignore kernel.mod.
42745
42746 * genpartmaplist.sh: Likewise.
42747
42748 2008-08-23 Robert Millan <rmh@aybabtu.com>
42749
42750 * util/getroot.c (find_root_device): Skip anything that starts with
42751 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42752
42753 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
42754
42755 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42756 * util/grub.d/00_header.in: Allow the administrator to change default
42757 gfxmode via ${GRUB_GFXMODE}.
42758
42759 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
42760
42761 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42762
42763 2008-08-21 Robert Millan <rmh@aybabtu.com>
42764
42765 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42766 loader.
42767 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42768 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42769
42770 2008-08-20 Carles Pina i Estany <carles@pina.cat>
42771
42772 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42773 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42774
42775 2008-08-19 Robert Millan <rmh@aybabtu.com>
42776
42777 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42778 (struct grub_virtual_screen): Remove `cursor_color'.
42779 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42780 initialization.
42781 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42782
42783 2008-08-18 Robert Millan <rmh@aybabtu.com>
42784
42785 Unify (identical) linux_normal.c files.
42786 * loader/i386/efi/linux_normal.c: Move from here ...
42787 * loader/linux_normal.c: ... to here. Update all users.
42788 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42789 * loader/i386/ieee1275/linux_normal.c: Likewise.
42790
42791 2008-08-18 Robert Millan <rmh@aybabtu.com>
42792
42793 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42794 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42795 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42796 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42797 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42798 New macros.
42799 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42800 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42801 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42802 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42803 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42804 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42805 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42806 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42807 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42808 portably using grub_getxy().
42809 Replace `-EFI' with `-bzImage' in boot message.
42810
42811 2008-08-17 Robert Millan <rmh@aybabtu.com>
42812
42813 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42814
42815 2008-08-17 Robert Millan <rmh@aybabtu.com>
42816
42817 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42818
42819 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42820 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42821 (grub_machine_mmap_iterate): New function declaration.
42822 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42823 structure.
42824 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42825 macros.
42826
42827 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42828 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42829 Move e820 parsing from here ...
42830 * kern/i386/pc/mmap.c: New file.
42831 (grub_machine_mmap_iterate): ... to here.
42832
42833 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42834 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42835 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42836 (grub_available_iterate): Redeclare to return `void', and redeclare
42837 its hook to use grub_uint64_t as addr and size parameters, and rename
42838 to ...
42839 (grub_machine_mmap_iterate): ... this. Update all users.
42840
42841 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42842 to make it more readable. Rename to ...
42843 (grub_machine_mmap_iterate): ... this.
42844
42845 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42846 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42847 (grub_multiboot): Allocate an extra region after the payload, and fill
42848 it with a Multiboot memory map. Adjust a.out loader to calculate size
42849 with the extra space.
42850 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42851 with the extra space.
42852
42853 2008-08-17 Carles Pina i Estany <carles@pina.cat>
42854
42855 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
42856
42857 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
42858
42859 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42860 mdate-sh to the list `find' searches for.
42861 * DISTLIST: Regenerated.
42862
42863 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
42864
42865 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42866 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
42867 genmoddep.awk, gensymlist.sh.in.
42868 (DISTDIRS): Add bus, docs, hook, lib.
42869 * DISTLIST: Regenerated.
42870 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
42871
42872 2008-08-16 Robert Millan <rmh@aybabtu.com>
42873
42874 * disk/raid.c (grub_raid_init): Handle/report errors set by
42875 grub_device_iterate().
42876 * disk/lvm.c (grub_lvm_init): Likewise.
42877
42878 2008-08-15 Bean <bean123ch@gmail.com>
42879
42880 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42881 and datehook.mod.
42882 (datetime_mod_SOURCES): New macro.
42883 (datetime_mod_CFLAGS): Likewise.
42884 (datetime_mod_LDFLAGS): Likewise.
42885 (date_mod_SOURCES): Likewise.
42886 (date_mod_CFLAGS): Likewise.
42887 (date_mod_LDFLAGS): Likewise.
42888 (datehook_mod_SOURCES): Likewise.
42889 (datehook_mod_CFLAGS): Likewise.
42890 (datehook_mod_LDFLAGS): Likewise.
42891
42892 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42893 and datehook.mod.
42894 (datetime_mod_SOURCES): New macro.
42895 (datetime_mod_CFLAGS): Likewise.
42896 (datetime_mod_LDFLAGS): Likewise.
42897 (date_mod_SOURCES): Likewise.
42898 (date_mod_CFLAGS): Likewise.
42899 (date_mod_LDFLAGS): Likewise.
42900 (datehook_mod_SOURCES): Likewise.
42901 (datehook_mod_CFLAGS): Likewise.
42902 (datehook_mod_LDFLAGS): Likewise.
42903
42904 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42905 and datehook.mod.
42906 (datetime_mod_SOURCES): New macro.
42907 (datetime_mod_CFLAGS): Likewise.
42908 (datetime_mod_LDFLAGS): Likewise.
42909 (date_mod_SOURCES): Likewise.
42910 (date_mod_CFLAGS): Likewise.
42911 (date_mod_LDFLAGS): Likewise.
42912 (datehook_mod_SOURCES): Likewise.
42913 (datehook_mod_CFLAGS): Likewise.
42914 (datehook_mod_LDFLAGS): Likewise.
42915
42916 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42917 and datehook.mod.
42918 (datetime_mod_SOURCES): New macro.
42919 (datetime_mod_CFLAGS): Likewise.
42920 (datetime_mod_LDFLAGS): Likewise.
42921 (date_mod_SOURCES): Likewise.
42922 (date_mod_CFLAGS): Likewise.
42923 (date_mod_LDFLAGS): Likewise.
42924 (datehook_mod_SOURCES): Likewise.
42925 (datehook_mod_CFLAGS): Likewise.
42926 (datehook_mod_LDFLAGS): Likewise.
42927
42928 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42929 and datehook.mod.
42930 (datetime_mod_SOURCES): New macro.
42931 (datetime_mod_CFLAGS): Likewise.
42932 (datetime_mod_LDFLAGS): Likewise.
42933 (date_mod_SOURCES): Likewise.
42934 (date_mod_CFLAGS): Likewise.
42935 (date_mod_LDFLAGS): Likewise.
42936 (datehook_mod_SOURCES): Likewise.
42937 (datehook_mod_CFLAGS): Likewise.
42938 (datehook_mod_LDFLAGS): Likewise.
42939
42940 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42941
42942 * commands/date.c: New file.
42943
42944 * hook/datehook.c: Likewise.
42945
42946 * include/grub/lib/datetime.h: Likewise.
42947
42948 * include/grub/i386/cmos.h: Likewise.
42949
42950 * lib/datetime.c: Likewise.
42951
42952 * lib/i386/datetime.c: Likewise.
42953
42954 * lib/efi/datetime.c: Likewise.
42955
42956 2008-08-14 Robert Millan <rmh@aybabtu.com>
42957
42958 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42959 (grub_mkelfimage_SOURCES): New variable.
42960 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42961
42962 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42963 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42964 * conf/powerpc-ieee1275.rmk: Likewise.
42965 * conf/i386-ieee1275.rmk: Likewise.
42966
42967 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42968 * kern/i386/coreboot/init.c: Likewise.
42969
42970 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42971 with `<grub/cpu/kernel.h>'.
42972 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42973 to ...
42974 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42975 * kern/i386/coreboot/startup.S: Likewise.
42976
42977 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42978 (GRUB_MOD_GAP): Remove.
42979 * include/grub/powerpc/kernel.h: New file.
42980 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42981 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42982 * include/grub/i386/kernel.h: New file.
42983 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42984 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42985 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42986
42987 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42988 `grub-mkelfimage'.
42989 Use --directory when invoking grub_mkimage.
42990
42991 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42992 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42993 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42994 and GRUB_KERNEL_CPU_PREFIX.
42995
42996 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
42997
42998 * include/grub/err.h (grub_err_printf): New function prototype.
42999 * util/misc.c (grub_err_printf): New function.
43000 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
43001 grub_printf.
43002 * kern/err.c (grub_print_error): Use grub_err_printf.
43003
43004 2008-08-13 Robert Millan <rmh@aybabtu.com>
43005
43006 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
43007
43008 2008-08-13 Robert Millan <rmh@aybabtu.com>
43009
43010 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
43011 boot entry.
43012
43013 2008-08-12 Robert Millan <rmh@aybabtu.com>
43014
43015 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
43016 of the relocation code from here ...
43017 (grub_multiboot): ... to here.
43018 (forward_relocator, backward_relocator): Move from here ...
43019 * kern/i386/loader.S (grub_multiboot_forward_relocator)
43020 (grub_multiboot_backward_relocator): ... to here.
43021 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
43022 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
43023 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
43024 (grub_multiboot_forward_relocator_end)
43025 (grub_multiboot_backward_relocator)
43026 (grub_multiboot_backward_relocator_end): New variables.
43027
43028 2008-08-12 Bean <bean123ch@gmail.com>
43029
43030 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
43031
43032 2008-08-11 Robert Millan <rmh@aybabtu.com>
43033
43034 * kern/i386/linuxbios/startup.S: Move from here ...
43035 * kern/i386/coreboot/startup.S: ... to here.
43036
43037 * kern/i386/linuxbios/init.c: Move from here ...
43038 * kern/i386/coreboot/init.c: ... to here.
43039
43040 * kern/i386/linuxbios/table.c: Move from here ...
43041 * kern/i386/coreboot/mmap.c: ... to here.
43042
43043 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
43044
43045 2008-08-11 Robert Millan <rmh@aybabtu.com>
43046
43047 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
43048 errors. Leave it to the upper layer to handle them.
43049
43050 2008-08-09 Christian Franke <franke@computer.org>
43051
43052 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
43053 * conf/common.rmk: Install `grub-pe2elf' only if requested.
43054 Install `grub.d/10_windows' only on Cygwin.
43055 * configure.ac: Add subst of `target_os'.
43056 Check `target_os' also before setting TARGET_OBJ2ELF.
43057 Add `--enable-grub-pe2elf'.
43058
43059 2008-08-08 Robert Millan <rmh@aybabtu.com>
43060
43061 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
43062 (grub_last_time): Change type to grub_uint64_t.
43063 (grub_disk_open): Migrate code from to using grub_get_time_ms().
43064 (grub_disk_close): Likewise.
43065
43066 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
43067 (run_menu): Migrate code from to using grub_get_time_ms().
43068
43069 * util/misc.c (grub_get_time_ms): New function.
43070
43071 2008-08-08 Marco Gerards <marco@gnu.org>
43072
43073 * disk/ata.c (grub_ata_regget): Change return type to
43074 `grub_uint8_t'.
43075 (grub_ata_regget2): Likewise.
43076 (grub_ata_wait_status): New function.
43077 (grub_ata_wait_busy): Removed function, updated all users to use
43078 `grub_ata_wait_status'.
43079 (grub_ata_wait_drq): Likewise.
43080 (grub_ata_cmd): New function.
43081 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
43082 error handling.
43083 (grub_ata_pio_write): Add error handling.
43084 (grub_atapi_identify): Likewise.
43085 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
43086 handling.
43087 (grub_ata_identify): Use `grub_ata_cmd' and improve error
43088 handling. Actually use the detected registers. Reorder the
43089 detection logic such that it is easier to read.
43090 (grub_ata_pciinit): Do not assign the same ID to each controller.
43091 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
43092 handling.
43093 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
43094
43095 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
43096
43097 2008-08-08 Marco Gerards <marco@gnu.org>
43098
43099 * NEWS: Update.
43100
43101 2008-08-07 Bean <bean123ch@gmail.com>
43102
43103 * include/grub/x86_64/pci.h: New file.
43104
43105 2008-08-07 Christian Franke <franke@computer.org>
43106
43107 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
43108 (TIMER2_GATE): Likewise.
43109 (grub_pit_wait): Add enable/disable of the timer2 gate
43110 bit of port 0x61. This fixes a possible infinite loop.
43111
43112 2008-08-07 Bean <bean123ch@gmail.com>
43113
43114 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
43115 kern/i386/tsc.c and kern/i386/pit.c.
43116
43117 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
43118 x86_64 platform.
43119
43120 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
43121 <grub/i386/tsc.h>.
43122
43123 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
43124
43125 2008-08-07 Bean <bean123ch@gmail.com>
43126
43127 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
43128
43129 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
43130
43131 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
43132 multiple inclusion. Add #include <grub/types.h>.
43133
43134 2008-08-06 Christian Franke <franke@computer.org>
43135
43136 * conf/common.rmk: Build and install `10_windows'.
43137 * util/grub.d/10_windows.in: New script.
43138
43139 2008-08-06 Pavel Roskin <proski@gnu.org>
43140
43141 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
43142
43143 2008-08-06 Robert Millan <rmh@aybabtu.com>
43144
43145 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
43146 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
43147
43148 2008-08-06 Bean <bean123ch@gmail.com>
43149
43150 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
43151 (grub_pxefs_fs_int): Remove dummy definition.
43152 (grub_pxefs_open): Use data->block_size to store the current block
43153 size setting.
43154 (grub_pxefs_read): Use block size stored in data->block_size. As the
43155 value of grub_pxe_blksize can be changed after the file is opened.
43156
43157 2008-08-06 Bean <bean123ch@gmail.com>
43158
43159 * fs/i386/pc/pxe.c (curr_file): new variable.
43160 (grub_pxefs_open): Simply the handling of pxe file system. Don't
43161 require the dummy internal file system anymore.
43162 (grub_pxefs_read): Removed.
43163 (grub_pxefs_close): Likewise.
43164 (grub_pxefs_fs_int): Likewise.
43165 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
43166 connection when we switch file.
43167 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
43168
43169 2008-08-06 Robert Millan <rmh@aybabtu.com>
43170
43171 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
43172 `halt.mod'.
43173 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
43174 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
43175
43176 * kern/i386/halt.c: New file.
43177 * kern/i386/reboot.c: Likewise.
43178 * include/grub/i386/reboot.h: Likewise.
43179 * include/grub/i386/halt.h: Likewise.
43180
43181 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
43182 Include `<grub/cpu/halt.h>'.
43183 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
43184 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
43185
43186 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
43187 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
43188 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
43189 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
43190 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
43191 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
43192 from here ...
43193 * include/grub/i386/at_keyboard.h: ... to here.
43194
43195 2008-08-05 Robert Millan <rmh@aybabtu.com>
43196
43197 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
43198 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
43199 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
43200 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43201 `kern/generic/millisleep.c'.
43202
43203 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
43204 instead of grub_get_rtc().
43205 (grub_tsc_init): Initialize `tsc_boot_time'.
43206
43207 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
43208 (grub_machine_init): Use grub_tsc_init() rather than
43209 installing an RTC-based handler via grub_install_get_time_ms().
43210
43211 * kern/i386/pit.c: New file.
43212 * include/grub/i386/pit.h: Likewise.
43213
43214 2008-08-05 Bean <bean123ch@gmail.com>
43215
43216 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
43217
43218 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
43219 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
43220 (pxe_mod_SOURCES): New macro.
43221 (pxe_mod_CFLAGS): Likewise.
43222 (pxe_mod_LDFLAGS): Likewise.
43223 (pxecmd_mod_SOURCES): Likewise.
43224 (pxecmd_mod_CFLAGS): Likewise.
43225 (pxecmd_mod_LDFLAGS): Likewise.
43226
43227 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
43228 (grub_pxe_call): Likewise.
43229
43230 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
43231
43232 * commands/i386/pc/pxecmd.c: New file.
43233
43234 * fs/i386/pc/pxe.c: Likewise.
43235
43236 * include/grub/i386/pc/pxe.h: Likewise.
43237
43238 2008-08-05 Bean <bean123ch@gmail.com>
43239
43240 * util/console.c (grub_console_cur_color): New variable.
43241 (grub_console_standard_color): Likewise.
43242 (grub_console_normal_color): Likewise.
43243 (grub_console_highlight_color): Likewise.
43244 (color_map): Likewise.
43245 (use_color): Likewise.
43246 (NUM_COLORS): New macro.
43247 (grub_ncurses_setcolorstate): Handle color properly.
43248 (grub_ncurses_setcolor): Don't change color here, just remember the
43249 settings, color will be set in grub_ncurses_setcolorstate.
43250 (grub_ncurses_getcolor): New function.
43251 (grub_ncurses_init): Initialize color pairs.
43252 (grub_ncurses_term): New member grub_ncurses_getcolor.
43253
43254 2008-08-05 Colin D Bennett <colin@gibibit.com>
43255
43256 High resolution timer support. Implemented for x86 CPUs using TSC.
43257 Extracted generic grub_millisleep() so it's linked in only as needed.
43258 This requires a Pentium compatible CPU; if the RDTSC instruction is
43259 not supported, then it falls back on the generic grub_get_time_ms()
43260 implementation that uses the machine's RTC.
43261
43262 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43263 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43264 `kern/generic/millisleep.c'.
43265
43266 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43267 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43268
43269 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43270 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43271
43272 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43273
43274 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43275 `kern/generic/millisleep.c'.
43276
43277 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43278
43279 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43280
43281 * kern/generic/rtc_get_time_ms.c: New file.
43282
43283 * kern/generic/millisleep.c: New file.
43284
43285 * kern/misc.c: Don't include
43286 <kern/time.h> anymore.
43287 (grub_millisleep_generic): Removed.
43288
43289 * commands/sleep.c (grub_interruptible_millisleep): Uses
43290 grub_get_time_ms() instead of grub_get_rtc().
43291
43292 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43293 function.
43294 (grub_cpu_is_cpuid_supported): New inline function.
43295 (grub_cpu_is_tsc_supported): New inline function.
43296 (grub_tsc_init): New function prototype.
43297 (grub_tsc_get_time_ms): New function prototype.
43298
43299 * kern/i386/tsc.c (grub_get_time_ms): New file.
43300
43301 * include/grub/time.h: Include <grub/types.h.
43302 (grub_millisleep_generic): Removed.
43303 (grub_get_time_ms): New prototype.
43304 (grub_install_get_time_ms): New prototype.
43305 (grub_rtc_get_time_ms): New prototype.
43306
43307 * kern/time.c (grub_get_time_ms): New function.
43308 (grub_install_get_time_ms): New function.
43309
43310 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43311 <grub/time.h> anymore.
43312 (grub_millisleep): Removed.
43313 (grub_machine_init): Call grub_tsc_init.
43314
43315 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43316 get_time_ms() implementation.
43317
43318 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43319 (ieee1275_get_time_ms): New function.
43320 (grub_machine_init): Install get_time_ms() implementation.
43321
43322 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43323 (grub_machine_init): Call grub_tsc_init().
43324 (grub_millisleep): Removed.
43325
43326 * kern/ieee1275/init.c (grub_millisleep): Removed.
43327 (grub_machine_init): Install ieee1275_get_time_ms()
43328 implementation.
43329 (ieee1275_get_time_ms): New function.
43330 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43331 real work.
43332
43333 2008-08-05 Marco Gerards <marco@gnu.org>
43334
43335 * disk/ata.c: Include <grub/pci.h>.
43336 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43337 (grub_ata_initialize): Rewritten.
43338 (grub_ata_device_initialize): New function.
43339
43340 2008-08-04 Pavel Roskin <proski@gnu.org>
43341
43342 * kern/main.c: Include grub/mm.h.
43343
43344 2008-08-04 Robert Millan <rmh@aybabtu.com>
43345
43346 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43347 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43348 corruption problem).
43349
43350 2008-08-04 Robert Millan <rmh@aybabtu.com>
43351
43352 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43353 warnings introduced in my last commit.
43354
43355 2008-08-03 Robert Millan <rmh@aybabtu.com>
43356
43357 Make PCI available on all i386 architectures.
43358
43359 * include/grub/i386/pc/pci.h: Move from here ...
43360 * include/grub/i386/pci.h: ... to here.
43361
43362 * include/grub/i386/pc/pci.h: Remove.
43363 * include/grub/i386/efi/pci.h: Remove.
43364 * include/grub/x86_64/efi/pci.h: Remove.
43365
43366 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43367 `<grub/cpu/pci.h>'.
43368
43369 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43370 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43371 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43372
43373 * conf/i386-ieee1275.rmk: Likewise.
43374
43375 2008-08-03 Robert Millan <rmh@aybabtu.com>
43376
43377 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43378 (grub_console_setcursor): Make it possible to set cursor off.
43379
43380 2008-08-03 Robert Millan <rmh@aybabtu.com>
43381
43382 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43383 of modules instead of assuming which platform provides what.
43384 * util/update-grub.in: Likewise.
43385
43386 2008-08-03 Robert Millan <rmh@aybabtu.com>
43387
43388 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43389 instead of `grub_install_dos_part' to determine whether a drive needs
43390 to be prepended to prefix (`grub_install_dos_part' is not reliable,
43391 because it can be overridden when loading GRUB via Multiboot).
43392
43393 2008-08-02 Robert Millan <rmh@aybabtu.com>
43394
43395 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43396
43397 2008-08-02 Robert Millan <rmh@aybabtu.com>
43398
43399 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43400 of informational grub_dprintf() calls.
43401
43402 2008-08-02 Robert Millan <rmh@aybabtu.com>
43403
43404 * disk/memdisk.c (memdisk_size): Don't initialize.
43405 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43406
43407 * include/grub/i386/pc/kernel.h
43408 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43409 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43410 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43411 (grub_arch_memdisk_size): Remove.
43412
43413 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43414 field (was only used to transfer a constant). Add `type' field to
43415 support multiple module types.
43416 (grub_module_iterate): New function.
43417
43418 * kern/device.c (grub_device_open): Do not hide error messages
43419 when grub_disk_open() fails. Use grub_print_error() instead.
43420
43421 * kern/i386/pc/init.c (grub_arch_modules_addr)
43422 (grub_arch_memdisk_size): Remove functions.
43423 (grub_arch_modules_addr): Return the module address in high memory
43424 (now that it isn't copied anymore).
43425
43426 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43427 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43428 decompression routine (grub_total_module_size already includes that
43429 now). Don't copy modules back to low memory.
43430
43431 * kern/main.c: Include `<grub/mm.h>'.
43432 (grub_load_modules): Split out (and use) ...
43433 (grub_module_iterate): ... this function, which iterates through
43434 module objects and runs a hook.
43435 Comment out grub_mm_init_region() call, as it would cause non-ELF
43436 modules to be overwritten.
43437
43438 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43439 the memdisk image in its own region, make it part of the module list.
43440 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43441 (main): Parse --memdisk|-m option, and pass user-provided path as
43442 parameter to generate_image().
43443 (add_segments): Pass `memdisk_path' down to load_modules().
43444 (load_modules): Embed memdisk image in module section when requested.
43445 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43446 `header.type' instead of `header.offset'.
43447
43448 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43449 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43450 (memdisk_mod_LDFLAGS): New variables.
43451 * conf/i386-coreboot.rmk: Likewise.
43452 * conf/i386-ieee1275.rmk: Likewise.
43453
43454 2008-08-02 Robert Millan <rmh@aybabtu.com>
43455
43456 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43457 (backward_relocator): New variables. Used to allocate and relocate
43458 the payload, respectively.
43459 (grub_multiboot_load_elf32): Load into heap instead of requested
43460 address, install the appropriate relocator code in each bound of
43461 the payload, and set the entry point such that
43462 grub_multiboot_real_boot() will jump to one of them.
43463
43464 * kern/i386/loader.S (grub_multiboot_payload_size)
43465 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43466 (grub_multiboot_payload_entry_offset): New variables.
43467 (grub_multiboot_real_boot): Set cpu context to what the relocator
43468 expects, and jump to the relocator instead of the payload.
43469
43470 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43471 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43472 (grub_multiboot_payload_entry_offset): Export.
43473
43474 2008-08-01 Bean <bean123ch@gmail.com>
43475
43476 * normal/menu_entry.c (editor_getline): Don't return the original
43477 string as result, as it will be released by lexer once it has done
43478 using it.
43479
43480 2008-08-01 Robert Millan <rmh@aybabtu.com>
43481
43482 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43483 within menuentries, not before them.
43484 util/grub.d/10_hurd.in: Likewise.
43485
43486 2008-08-01 Bean <bean123ch@gmail.com>
43487
43488 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43489 (bufio_mod_SOURCES): New macro.
43490 (bufio_mod_CFLAGS): Likewise.
43491 (bufio_mod_LDFLAGS): Likewise.
43492
43493 * include/grub/bufio.h: New file.
43494
43495 * io/bufio.c: Likewise.
43496
43497 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43498 (grub_video_reader_png): Use grub_buffile_open to open file.
43499
43500 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43501 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43502
43503 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43504 (grub_video_reader_tga): Use grub_buffile_open to open file.
43505
43506 * font/manager.c: Include <grub/bufio.h>.
43507 (add_font): Use grub_buffile_open to open file.
43508
43509 2008-07-31 Robert Millan <rmh@aybabtu.com>
43510
43511 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43512 ELF segments, use a macro for arbitrarily accessing any of them instead
43513 of preparing a pointer that allows access to one at a time.
43514 (grub_multiboot_load_elf64): Likewise.
43515
43516 2008-07-31 Bean <bean123ch@gmail.com>
43517
43518 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43519 GRUB_KERNEL_MACHINE_DATA_END.
43520
43521 2008-07-30 Robert Millan <rmh@aybabtu.com>
43522
43523 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43524 Increase from 0x50 to 0x60.
43525 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43526 use UUIDs to identify the root drive for them. If that's not
43527 possible, abort.
43528 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43529 check, for cross-disk installs.
43530
43531 2008-07-30 Robert Millan <rmh@aybabtu.com>
43532
43533 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43534 is non-empty, use it to set the `prefix' environment variable instead
43535 of the usual approach.
43536 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43537 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43538 environment variable instead of dummy make_install_device().
43539
43540 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43541 (start): Insert a data section, with `grub_prefix' variable.
43542 * kern/i386/linuxbios/startup.S: Likewise.
43543
43544 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43545 New variable reference.
43546 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43547 New macro. Defines offset of `grub_prefix' within startup.S (relative
43548 to `start').
43549 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43550 section within startup.S (relative to `start').
43551 * include/grub/i386/coreboot/kernel.h: Likewise.
43552
43553 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43554 Overwrite grub_prefix with its contents, at the beginning of the
43555 first segment.
43556 (main): Understand -p|--prefix.
43557
43558 2008-07-30 Robert Millan <rmh@aybabtu.com>
43559
43560 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43561
43562 2008-07-30 Robert Millan <rmh@aybabtu.com>
43563
43564 * term/i386/pc/vga_text.c (grub_console_cls): Use
43565 grub_console_gotoxy() to go back to beginning of the screen.
43566 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43567
43568 2008-07-29 Christian Franke <franke@computer.org>
43569
43570 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43571 Add conversion of emulated mount points on Cygwin.
43572
43573 2008-07-29 Christian Franke <franke@computer.org>
43574
43575 * util/update-grub.in: Add a check for admin
43576 group on Cygwin.
43577 Remove old `grub.cfg.new' before creation.
43578 Add `-f' to `mv' to handle the different filesystem
43579 semantics of Windows.
43580
43581 2008-07-29 Bean <bean123ch@gmail.com>
43582
43583 * normal/main.c (get_line): Fix buffer overflow bug.
43584
43585 2008-07-28 Robert Millan <rmh@aybabtu.com>
43586
43587 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43588 (struct grub_apple_header): New struct. Describes the layout of
43589 the partmap header.
43590 (apple_partition_map_iterate): Check the header magic as well as the
43591 partition magic (which was already being checked).
43592
43593 2008-07-28 Pavel Roskin <proski@gnu.org>
43594
43595 * genmk.rb: Add a warning to the beginning of the output that
43596 it's a generated file and should not be edited.
43597
43598 2008-07-28 Robert Millan <rmh@aybabtu.com>
43599
43600 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43601 with the same number are found, just use issue a warning with
43602 grub_dprintf(), as this error has been reported to be non-fatal.
43603
43604 2008-07-27 Robert Millan <rmh@aybabtu.com>
43605
43606 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43607 information.
43608
43609 2008-07-27 Bean <bean123ch@gmail.com>
43610
43611 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43612 (grub_fat_find_dir): Ignore case when comparing filename.
43613
43614 2008-07-27 Bean <bean123ch@gmail.com>
43615
43616 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43617 smallino, as it's more descriptive, and i8count can be confused with
43618 the other field count.
43619 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43620 inode type.
43621
43622 2008-07-27 Bean <bean123ch@gmail.com>
43623
43624 * commands/crc.c: New file.
43625
43626 * lib/crc.c: Likewise.
43627
43628 * include/grub/lib/crc.h: Likewise.
43629
43630 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43631
43632 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43633 (hexdump): Move this function to ...
43634
43635 * lib/hexdump.c: ... here.
43636
43637 * include/grub/hexdump.h: Renamed to ...
43638
43639 * include/grub/lib/hexdump.h: ... this.
43640
43641 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43642
43643 * util/grub-editenv.c: Likewise.
43644
43645 * include/envblk.h: Renamed to ...
43646
43647 * include/lib/envblk.h: ... this.
43648
43649 * util/envblk.c: Renamed to ...
43650
43651 * lib/envblk.c: ... this.
43652
43653 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43654 lib/hexdump.c.
43655 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43656 (pkglib_MODULES): Add crc.mod.
43657 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43658 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43659 (crc_mod_SOURCES): New macro.
43660 (crc_mod_CFLAGS): Likewise.
43661 (crc_mod_LDFLAGS): Likewise.
43662
43663 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43664
43665 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43666
43667 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43668
43669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43670
43671 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43672
43673 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
43674
43675 * commands/help.c: Include <grub/term.h>.
43676 (TERM_WIDTH): Removed. Updated all users.
43677
43678 2008-07-27 Pavel Roskin <proski@gnu.org>
43679
43680 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43681 spurious warnings about a comment within a comment.
43682
43683 2008-07-25 Robert Millan <rmh@aybabtu.com>
43684
43685 * util/getroot.c (find_root_device): Skip devices that match
43686 /dev/dm-[0-9]. This lets the real device be found for any type of
43687 abstraction (LVM, EVMS, RAID..).
43688 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43689 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43690 device is found first, find_root_device() will now skip it.
43691
43692 2008-07-24 Pavel Roskin <proski@gnu.org>
43693
43694 * include/grub/types.h: Use __builtin_bswap32() and
43695 __builtin_bswap64() with gcc 4.3 and newer.
43696
43697 2008-07-24 Christian Franke <franke@computer.org>
43698
43699 * util/i386/pc/grub-install.in: If `--debug' is specified,
43700 pass `--verbose' to grub-setup.
43701 Abort script if make_system_path_relative_to_its_root() fails.
43702
43703 2008-07-24 Bean <bean123ch@gmail.com>
43704
43705 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43706 variable `target_platform' should be `platform'.
43707
43708 2008-07-24 Bean <bean123ch@gmail.com>
43709
43710 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
43711 (grub_png_init_fixed_block): New function.
43712 (grub_png_decode_image_data): Handle fixed huffman code compression.
43713
43714 2008-07-24 Bean <bean123ch@gmail.com>
43715
43716 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43717 (grub_pe2elf_SOURCES): New macro.
43718 (CLEANFILES): Add grub-pe2elf.
43719
43720 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43721 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43722 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43723 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43724 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43725 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43726 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43727 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43728 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43729 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43730 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43731 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43732 (GRUB_PE32_DT_FUNCTION): Likewise.
43733 (GRUB_PE32_REL_I386_DIR32): Likewise.
43734 (GRUB_PE32_REL_I386_REL32): Likewise.
43735 (grub_pe32_symbol): New structure.
43736 (grub_pe32_reloc): Likewise.
43737
43738 * util/grub-pe2elf.c: New file.
43739
43740 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43741 start symbol in non pc platform.
43742
43743 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43744
43745 The following patches are from Christian Franke.
43746
43747 * include/grub/dl.h: Remove .previous, gas supports this only
43748 for ELF format.
43749
43750 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43751 Remove .type, gas supports this only for ELF format.
43752
43753 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43754 nullbytes in symbol table. This fixes an infinite loop if table is
43755 zero filled.
43756
43757 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43758 TARGET_IMG_LDFLAGS and EXEEXT.
43759
43760 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43761 TARGET_IMG_LDFLAGS_AC.
43762 (grub_CHECK_STACK_ARG_PROBE): New function.
43763
43764 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43765
43766 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43767
43768 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43769 to set TARGET_IMG_LD* accordingly.
43770 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43771 Add call to grub_CHECK_STACK_ARG_PROBE.
43772 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43773
43774 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43775
43776 * genmk.rb: Add EXEEXT to CLEANFILES.
43777
43778 2008-07-23 Robert Millan <rmh@aybabtu.com>
43779
43780 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43781 define the codes for arrows and lines used for the menu).
43782 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43783 as well.
43784
43785 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43786 fonts, because the latter are too slow.
43787
43788 2008-07-21 Bean <bean123ch@gmail.com>
43789
43790 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43791 a20. Run keyboard test last, as it will cause macbook to halt.
43792
43793 2008-07-18 Pavel Roskin <proski@gnu.org>
43794
43795 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43796 load foreign architecture modules correctly anyway. Keep
43797 support for loading host architecture modules, whether we
43798 compile them or not.
43799
43800 2008-07-17 Pavel Roskin <proski@gnu.org>
43801
43802 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43803 change target_cpu. The compiler default can mismatch target_cpu
43804 in any case.
43805
43806 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43807 * kern/efi/efi.c: Likewise.
43808
43809 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43810 target compiler is functional.
43811 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43812 are set up.
43813
43814 * configure.ac: Default to efi platform for x86_64-apple. Allow
43815 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43816 adjustments from the rest, only do them if target is not
43817 explicitly given. Merge other adjustments with the final sanity
43818 check. Remove an extraneous check for supported CPU. Be
43819 specific which CPU and which platform is not supported.
43820
43821 * configure.ac: Default to pc platform for x86_64.
43822
43823 2008-07-17 Robert Millan <rmh@aybabtu.com>
43824
43825 Partial LinuxBIOS -> Coreboot rename.
43826
43827 * conf/i386-linuxbios.rmk: Renamed to ...
43828 * conf/i386-coreboot.rmk: ... this.
43829 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43830 * configure.ac: Accept "coreboot" as input platform (but maintain
43831 compatibility with "linuxbios").
43832 * include/grub/i386/linuxbios: Renamed to ...
43833 * include/grub/i386/coreboot: ... this.
43834
43835 2008-07-17 Bean <bean123ch@gmail.com>
43836
43837 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
43838 (appleldr_mod_SOURCE): New variable.
43839 (appleldr_mod_CFLAGS): Likewise.
43840 (appleldr_mod_LDFLAGS): Likewise.
43841 (pci_mod_SOURCES): Likewise.
43842 (pci_mod_CFLAGS): Likewise.
43843 (pci_mod_LDFLAGS): Likewise.
43844 (lspci_mod_SOURCES): Likewise.
43845 (lspci_mod_CFLAGS): Likewise.
43846 (lspci_mod_LDFLAGS): Likewise.
43847
43848 * conf/x86_64-efi.rmk: New file.
43849
43850 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43851 macro.
43852 (grub_efidisk_write): Likewise.
43853
43854 * include/efi/api.h (efi_call_0): New macro.
43855 (efi_call_1): Likewise.
43856 (efi_call_2): Likewise.
43857 (efi_call_3): Likewise.
43858 (efi_call_4): Likewise.
43859 (efi_call_5): Likewise.
43860 (efi_call_6): Likewise.
43861
43862 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43863 grub_rescue_cmd_chainloader.
43864
43865 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43866 (grub_pe32_optional_header): Change some fields based on i386 or
43867 x86_64 platform.
43868 (GRUB_PE32_PE32_MAGIC): Likewise.
43869
43870 * include/grub/efi/uga_draw.h: New file.
43871
43872 * include/grub/elf.h (STN_ABS): New constant.
43873 (R_X86_64_NONE): Relocation constant for x86_64.
43874 (R_X86_64_64): Likewise.
43875 (R_X86_64_PC32): Likewise.
43876 (R_X86_64_GOT32): Likewise.
43877 (R_X86_64_PLT32): Likewise.
43878 (R_X86_64_COPY): Likewise.
43879 (R_X86_64_GLOB_DAT): Likewise.
43880 (R_X86_64_JUMP_SLOT): Likewise.
43881 (R_X86_64_RELATIVE): Likewise.
43882 (R_X86_64_GOTPCREL): Likewise.
43883 (R_X86_64_32): Likewise.
43884 (R_X86_64_32S): Likewise.
43885 (R_X86_64_16): Likewise.
43886 (R_X86_64_PC16): Likewise.
43887 (R_X86_64_8): Likewise.
43888 (R_X86_64_PC8): Likewise.
43889
43890 * include/grub/i386/efi/pci.h: New file.
43891
43892 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43893 Change it value based on platform.
43894 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43895 (GRUB_E820_RAM): Likewise.
43896 (GRUB_E820_RESERVED): Likewise.
43897 (GRUB_E820_ACPI): Likewise.
43898 (GRUB_E820_NVS): Likewise.
43899 (GRUB_E820_EXEC_CODE): Likewise.
43900 (GRUB_E820_MAX_ENTRY): Likewise.
43901 (grub_e820_mmap): New structure.
43902 (linux_kernel_header): Change the efi field according to different
43903 kernel version, also field from linux_kernel_header.
43904
43905 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43906
43907 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43908 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43909 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43910 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43911 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43912 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43913 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43914 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43915 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43916 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43917
43918 * include/grub/x86_64/efi/kernel.h: New file.
43919
43920 * include/grub/x86_64/efi/loader.h: Likewise.
43921
43922 * include/grub/x86_64/efi/machine.h: Likewise.
43923
43924 * include/grub/x86_64/efi/pci.h: Likewise.
43925
43926 * include/grub/x86_64/efi/time.h: Likewise.
43927
43928 * include/grub/x86_64/linux.h: Likewise.
43929
43930 * include/grub/x86_64/setjmp.h: Likewise.
43931
43932 * include/grub/x86_64/time.h: Likewise.
43933
43934 * include/grub/x86_64/types.h: Likewise.
43935
43936 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43937 GRUB_TARGET_SIZEOF_VOID_P.
43938
43939 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43940 (grub_efi_locate_handle): Likewise.
43941 (grub_efi_open_protocol): Likewise.
43942 (grub_efi_set_text_mode): Likewise.
43943 (grub_efi_stall): Likewise.
43944 (grub_exit): Likewise.
43945 (grub_reboot): Likewise.
43946 (grub_halt): Likewise.
43947 (grub_efi_exit_boot_services): Likewise.
43948 (grub_get_rtc): Likewise.
43949
43950 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43951 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43952 (grub_efi_allocate_pages): Wrap efi calls.
43953 (grub_efi_free_pages): Wrap efi calls.
43954 (grub_efi_get_memory_map): Wrap efi calls.
43955
43956 * kern/x86_64/dl.c: New file.
43957
43958 * kern/x86_64/efi/callwrap.S: Likewise.
43959
43960 * kern/x86_64/efi/startup.S: Likewise.
43961
43962 * loader/efi/appleloader.c: Likewise.
43963
43964 * loader/efi/chainloader.c (cmdline): New variable.
43965 (grub_chainloader_unload): Wrap efi calls.
43966 (grub_chainloader_boot): Likewise.
43967 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43968 command line.
43969
43970 * loader/efi/chainloader_normal.c (chainloader_command):
43971 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43972 command line.
43973
43974 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43975 method.
43976 (grub_e820_add_region): New function.
43977 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43978 booting.
43979 (grub_find_video_card): New function.
43980 (grub_linux_setup_video): New function.
43981 (grub_rescue_cmd_linux): Probe for video information.
43982
43983 * normal/x86_64/setjmp.S: New file.
43984
43985 * term/efi/console.c (map_char): New function.
43986 (grub_console_putchar): Map unicode char.
43987 (grub_console_checkkey): Wrap efi calls.
43988 (grub_console_getkey): Likewise.
43989 (grub_console_getwh): Likewise.
43990 (grub_console_gotoxy): Likewise.
43991 (grub_console_cls): Likewise.
43992 (grub_console_setcolorstate): Likewise.
43993 (grub_console_setcursor): Likewise.
43994
43995 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43996
43997 2008-07-16 Pavel Roskin <proski@gnu.org>
43998
43999 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
44000 format strings.
44001
44002 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
44003 pointer, not an integer. This fixes a warning and prevents
44004 precision loss on 64-bit systems.
44005 (relocate_addresses): Remove unneeded cast.
44006
44007 2008-07-15 Pavel Roskin <proski@gnu.org>
44008
44009 * kern/i386/ieee1275/init.c: Include grub/cache.h.
44010
44011 * term/ieee1275/ofconsole.c: Disable code unused on i386.
44012
44013 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
44014 Fix comparison between signed and unsigned.
44015
44016 * include/grub/i386/ieee1275/console.h: Declare
44017 grub_console_init() and grub_console_fini().
44018
44019 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
44020 It's empty and unused.
44021
44022 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
44023 beginning to avoid warnings with some compilers.
44024
44025 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
44026 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
44027
44028 2008-07-14 Pavel Roskin <proski@gnu.org>
44029
44030 * kern/env.c (grub_register_variable_hook): Don't copy empty
44031 string, it leaks memory. Pass "" to grub_env_set(), it should
44032 handle constant strings.
44033
44034 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
44035 * commands/cmp.c (grub_cmd_cmp): Likewise.
44036 * kern/dl.c (grub_dl_flush_cache): Likewise.
44037 (grub_dl_load_core): Likewise.
44038 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
44039 (grub_elf64_load_phdrs): Likewise.
44040
44041 2008-07-13 Pavel Roskin <proski@gnu.org>
44042
44043 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
44044 between signed and unsigned.
44045 (LzmaEnc_Finish): Fix warning about an unused parameter.
44046
44047 2008-07-13 Bean <bean123ch@gmail.com>
44048
44049 * Makefile.in (enable_lzo): New rule.
44050
44051 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
44052
44053 * configure.ac (ENABLE_LZO): New option --enable-lzo.
44054
44055 * boot/i386/pc/lnxboot.S: #include <config.h>.
44056
44057 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
44058 its value according to the compression algorithm used, lzo or lzma.
44059
44060 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
44061 compression algorithm according to configure macro.
44062
44063 * kern/i386/pc/startup.S (codestart): Likewise.
44064
44065 * kern/i386/pc/lzma_decode.S: New file.
44066
44067 * include/grub/lib/LzFind.h: Likewise.
44068
44069 * include/grub/lib/LzHash.h: Likewise.
44070
44071 * include/grub/lib/LzmaDec.h: Likewise.
44072
44073 * include/grub/lib/LzmaEnc.h: Likewise.
44074
44075 * include/grub/lib/LzmaTypes.h: Likewise.
44076
44077 * lib/LzFind.c: Likewise.
44078
44079 * lib/LzmaDec.c: Likewise.
44080
44081 * lib/LzmaEnc.c: Likewise.
44082
44083 2008-07-13 Bean <bean123ch@gmail.com>
44084
44085 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
44086 (grub_ext4_extent_header): New structure.
44087 (grub_ext4_extent): Likewise.
44088 (grub_ext4_extent_idx): Likewise.
44089 (grub_ext4_find_leaf): New function.
44090 (grub_ext2_read_block): Handle extents.
44091
44092 2008-07-12 Robert Millan <rmh@aybabtu.com>
44093
44094 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
44095
44096 2008-07-11 Robert Millan <rmh@aybabtu.com>
44097
44098 * util/grub.d/40_custom.in: New file. Example on how to add custom
44099 entries to /etc/grub.d.
44100 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
44101 40_custom (implicitly, by merging all the grub.d rules).
44102
44103 2008-07-11 Pavel Roskin <proski@gnu.org>
44104
44105 * commands/read.c (grub_getline): Fix invalid memory access.
44106 Don't add newline to the variable value.
44107
44108 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
44109 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
44110 (serial_hw_get_port): Check validity of the port number.
44111 (grub_cmd_serial): Check return value of serial_hw_get_port().
44112
44113 2008-07-07 Pavel Roskin <proski@gnu.org>
44114
44115 * boot/i386/pc/diskboot.S (notification_string): Replace
44116 "Loading kernel" with just "loading". This is shorter, less
44117 confusing and saves a few bytes for possible future changes.
44118
44119 2008-07-05 Pavel Roskin <proski@gnu.org>
44120
44121 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
44122 size for ATAPI devices, they are undefined. Output sector
44123 number in decimal form.
44124
44125 * disk/ata.c: Use named constants for status bits.
44126
44127 2008-07-04 Pavel Roskin <proski@gnu.org>
44128
44129 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
44130 grub_addr_t before casting it to the void pointer to fix a
44131 warning. Non-addressable regions are discarded earlier.
44132 (grub_arch_modules_addr): Cast _end to grub_addr_t.
44133 * kern/i386/linuxbios/table.c: Include grub/misc.h.
44134 (check_signature): Don't shadow table_header.
44135 (grub_linuxbios_table_iterate): Cast numeric constants to
44136 grub_linuxbios_table_header_t.
44137 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
44138 grub_stop().
44139
44140 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
44141 prevent warnings.
44142
44143 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
44144 pointer, which can cause warnings. Support 64-bit addresses.
44145
44146 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
44147 of sizeof(long). This fixes PowerPC image generation on x86_64.
44148
44149 2008-07-04 Robert Millan <rmh@aybabtu.com>
44150
44151 This fixes a performance issue when pc & gpt partmap iterators
44152 didn't abort iteration even after our hook found what it was
44153 looking for (often causing expensive probes of non-existent drives).
44154
44155 Some callers relied on previous buggy behaviour, since they would
44156 raise an error when their own hooks caused early abortion of its
44157 iteration.
44158
44159 * kern/device.c (grub_device_open): Improve error message.
44160 * disk/lvm.c (grub_lvm_open): Likewise.
44161 * disk/raid.c (grub_raid_open): Likewise.
44162
44163 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
44164 when hook requests it, independently of grub_errno.
44165 (pc_partition_map_probe): Do not fail when find_func() caused
44166 early abortion of pc_partition_map_iterate().
44167
44168 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
44169 when hook requests it, independently of grub_errno.
44170 (gpt_partition_map_probe): Do not fail when find_func() caused
44171 early abortion of gpt_partition_map_iterate().
44172
44173 * kern/partition.c (grub_partition_iterate): Abort parent iteration
44174 when hook requests it, independently of grub_errno. Do not fail when
44175 part_map_iterate_hook() caused early abortion of p->iterate().
44176
44177 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
44178 when grub_partition_iterate() returned with non-zero.
44179
44180 2008-07-03 Pavel Roskin <proski@gnu.org>
44181
44182 * disk/ata.c (grub_ata_pio_write): Check status before writing,
44183 like we do in grub_ata_pio_read().
44184 (grub_ata_readwrite): Always write individual sectors. Fix the
44185 sector count for the remainder.
44186 (grub_ata_write): Enable writing to ATA devices. Correctly
44187 report error for ATAPI devices.
44188
44189 2008-07-02 Pavel Roskin <proski@gnu.org>
44190
44191 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
44192 warning.
44193
44194 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
44195 for every read sector, we already increment it for the whole
44196 batch. This fixes reading more than 256 sectors at once.
44197
44198 * util/grub-editenv.c (cmd_info): Cast argument to long
44199 explicitly. ptrdiff_t reduces to int on i386.
44200
44201 * util/grub-editenv.c (main): Be specific which parameter is
44202 missing.
44203
44204 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
44205 (memdisk): Make memdisk_orig_addr a pointer.
44206
44207 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
44208 for file offsets, use grub_off_t instead. Fix printf format
44209 warnings.
44210
44211 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
44212 there. Real unexpected warnings should not drown in the noise
44213 about known problems.
44214
44215 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
44216 grub_disk_addr_t for memory addresses.
44217
44218 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
44219 explicitly to fix a warning.
44220
44221 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
44222
44223 * Makefile.in (MODULE_LDFLAGS): New variable.
44224 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
44225 the linker accepts --build-id=none.
44226 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
44227 MODULE_LDFLAGS.
44228 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
44229
44230 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
44231 those in Linux XFS code. Provide a way to access 64-bit parent
44232 inode.
44233 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
44234 the end of struct grub_xfs_dir_header.
44235
44236 2008-07-02 Bean <bean123ch@gmail.com>
44237
44238 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
44239 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44240 and GRUB_IEEE1275_FLAG_NO_ANSI.
44241
44242 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
44243 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44244 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
44245
44246 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44247 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44248
44249 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44250 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44251
44252 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44253 esc sequence on non ANSI terminal.
44254 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44255
44256 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44257 beginning of file.
44258
44259 2008-07-02 Bean <bean123ch@gmail.com>
44260
44261 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44262 (grub_editenv_SOURCES): New variable.
44263 (pkglib_MODULES): Add loadenv.mod.
44264 (loadenv_mod_SOURCES): New variable.
44265 (loadenv_mod_CFLAGS): Likewise.
44266 (loadenv_mod_LDFLAGS): Likewise.
44267
44268 * include/grub/envblk.h: New file.
44269
44270 * util/envblk.c: New file.
44271
44272 * util/grub-editenv.c: New file.
44273
44274 * commands/loadenv.c: New file.
44275
44276 2008-07-01 Pavel Roskin <proski@gnu.org>
44277
44278 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44279 not unsigned char. This fixes warnings and is consistent with
44280 other tags.
44281
44282 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44283
44284 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44285
44286 * term/tparm.c (analyze): Always set *popcount.
44287
44288 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44289 cast to fix a warning.
44290
44291 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44292 cast to suppress a warning.
44293
44294 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44295 grub_fshelp_read_file() expects.
44296
44297 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44298 write uuid as a 32-bit value in CPU byte order, so declare and
44299 use it as such.
44300
44301 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44302 long if the format specifier expects it.
44303 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44304 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44305 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44306 long to fix a warning.
44307 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44308 grub_dprintf() arguments to fix warnings.
44309
44310 2008-06-30 Pavel Roskin <proski@gnu.org>
44311
44312 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44313 install_bsd_part immediately before core.img is embedded or
44314 modified on disk. This fixes core.img verification if core.img
44315 cannot be embedded.
44316
44317 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44318 core_path to calculate the blocklist.
44319 Patch from Javier Martín <lordhabbit@gmail.com>
44320
44321 2008-06-29 Robert Millan <rmh@aybabtu.com>
44322
44323 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44324 block to disk block.
44325 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44326 Patch from Niels Böhm <bitbucket@arcor.de>
44327
44328 2008-06-29 Robert Millan <rmh@aybabtu.com>
44329
44330 * util/update-grub_lib.in (font_path): Search for fonts in
44331 /boot/grub first, which is more likely to be readable (we aren't
44332 deciding where fonts live, just looking for them).
44333
44334 2008-06-26 Pavel Roskin <proski@gnu.org>
44335
44336 * util/biosdisk.c (read_device_map): Don't leave dead map
44337 entries for devices failing stat() check.
44338
44339 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44340 core_path_dev for the core.img path on the target device.
44341
44342 2008-06-26 Robert Millan <rmh@aybabtu.com>
44343
44344 * disk/fs_uuid.c: New file.
44345 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44346 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44347 (fs_uuid_mod_LDFLAGS): New variables.
44348 * include/grub/disk.h (grub_disk_dev_id): Add
44349 `GRUB_DISK_DEVICE_UUID_ID'.
44350 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44351 implement iterate().
44352
44353 2008-06-26 Robert Millan <rmh@aybabtu.com>
44354
44355 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44356 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44357 Linux image includes no initrd.
44358
44359 2008-06-21 Javier Martín <lordhabbit@gmail.com>
44360
44361 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44362 call to resolve the core image location that effectively appended the
44363 name twice.
44364
44365 2008-06-21 Robert Millan <rmh@aybabtu.com>
44366
44367 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44368 call from here ...
44369
44370 * util/grub.d/10_hurd.in: ... to here ...
44371 * util/grub.d/10_linux.in: ... and here.
44372
44373 2008-06-19 Robert Millan <rmh@aybabtu.com>
44374
44375 * kern/main.c (grub_main): Export `prefix' variable immediately
44376 after it has been set by grub_machine_set_prefix().
44377
44378 2008-06-19 Robert Millan <rmh@aybabtu.com>
44379
44380 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44381 search result when not saving to variable, not the other way around.
44382 When saving to variable, abort iteration as soon as a match is found.
44383
44384 2008-06-19 Robert Millan <rmh@aybabtu.com>
44385
44386 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44387 check for partition that provides /boot/grub. Its logic is flawed,
44388 as it prevents prepare_grub_to_access_device() from being called
44389 multiple times.
44390
44391 2008-06-19 Robert Millan <rmh@aybabtu.com>
44392
44393 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44394 "insmod" command directly when abstraction modules are needed,
44395 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
44396 since it had already been processed).
44397
44398 2008-06-19 Pavel Roskin <proski@gnu.org>
44399
44400 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44401 changed. This is needed in case GRUB_LIBDIR changes.
44402 * conf/i386-ieee1275.rmk: Likewise.
44403 * conf/i386-linuxbios.rmk: Likewise.
44404 * conf/i386-pc.rmk: Likewise.
44405 * conf/powerpc-ieee1275.rmk: Likewise.
44406
44407 2008-06-18 Pavel Roskin <proski@gnu.org>
44408
44409 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44410 kernel_elf_symlist.c to symlist.c for consistency with other
44411 architectures. Update all users.
44412 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44413
44414 2008-06-18 Robert Millan <rmh@aybabtu.com>
44415
44416 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44417 it in prefix.
44418
44419 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44420 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44421 a RAID device, run setup() for all members independently on whether
44422 LVM abstraction is being used.
44423 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44424 If grub-mkimage has set `*install_dos_part == -2', don't override this
44425 value.
44426 Perform *install_dos_part adjustments independently on whether
44427 we're embedding or not.
44428 Clarify error message when image is too big for embedding.
44429 Remove duplicate *install_dos_part stanza.
44430
44431 2008-06-17 Robert Millan <rmh@aybabtu.com>
44432
44433 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44434 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44435 variables.
44436 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44437 values in grub_ofconsole_normal_color and
44438 grub_ofconsole_highlight_color (they're not directly related to
44439 background and foreground).
44440 (grub_ofconsole_setcolorstate): Extract background and foreground
44441 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44442
44443 2008-06-17 Robert Millan <rmh@aybabtu.com>
44444
44445 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44446 /boot/grub for the check in last commit, not /boot (they could be
44447 different partitions).
44448
44449 2008-06-16 Robert Millan <rmh@aybabtu.com>
44450
44451 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44452 asked to setup access for the same partition that provides /boot,
44453 don't bother using UUIDs since our root already has the value we
44454 want.
44455
44456 2008-06-16 Robert Millan <rmh@aybabtu.com>
44457
44458 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44459 I2O devices.
44460 Patch from Sven Mueller <sven@debian.org>.
44461
44462 2008-06-16 Robert Millan <rmh@aybabtu.com>
44463
44464 * util/update-grub.in: Check for $EUID instead of $UID.
44465 Reported by Vincent Zweije.
44466
44467 2008-06-16 Bean <bean123ch@gmail.com>
44468
44469 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
44470 (grub_ext2_read_block): Likewise.
44471 (grub_ext2_read_inode): Likewise.
44472 (grub_ext2_mount): Likewise.
44473 (grub_ext2_close): Likewise.
44474 (grub_ext3_get_journal): Removed.
44475
44476 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
44477 (grub_reiserfs_read_symlink): Likewise.
44478 (grub_reiserfs_mount): Likewise.
44479 (grub_reiserfs_open): Likewise.
44480 (grub_reiserfs_read): Likewise.
44481 (grub_reiserfs_close): Likewise.
44482 (grub_reiserfs_get_journal): Removed.
44483
44484 * fs/fshelp.c (grub_fshelp_read): Removed.
44485 (grub_fshelp_map_block): Likewise.
44486
44487 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44488 (grub_fshelp_journal): Likewise.
44489 (grub_fshelp_read): Likewise.
44490 (grub_fshelp_map_block): Likewise.
44491
44492 2008-06-16 Pavel Roskin <proski@gnu.org>
44493
44494 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44495 floating point anymore.
44496 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44497
44498 2008-06-15 Pavel Roskin <proski@gnu.org>
44499
44500 * commands/ls.c (grub_ls_list_files): Use integer calculations
44501 for human readable format, avoid floating point use.
44502 * kern/misc.c (grub_ftoa): Remove.
44503 (grub_vsprintf): Remove floating point support.
44504
44505 2008-06-15 Robert Millan <rmh@aybabtu.com>
44506
44507 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
44508 devices.
44509 Reported by Max Vozeler.
44510
44511 2008-06-15 Robert Millan <rmh@aybabtu.com>
44512
44513 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44514 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44515 skipped later.
44516 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44517 the beginning of the prefix.
44518
44519 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44520 It is assumed that if we have a memdisk, grub-mkimage has set
44521 grub_prefix to include the "(memdisk)" drive in it.
44522
44523 2008-06-15 Robert Millan <rmh@aybabtu.com>
44524
44525 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44526 Initialize keyboard controller after registering the terminal, so that
44527 grub_printf() can be called from grub_keyboard_controller_init().
44528
44529 2008-06-15 Robert Millan <rmh@aybabtu.com>
44530
44531 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44532 extent-btree which is written as big endian on disk.
44533 Reported by Alain Greppin <al@chilibi.org>.
44534
44535 2008-06-14 Robert Millan <rmh@aybabtu.com>
44536
44537 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44538 * util/i386/pc/grub-install.in (modules): Likewise.
44539
44540 2008-06-13 Pavel Roskin <proski@gnu.org>
44541
44542 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44543
44544 2008-06-13 Bean <bean123ch@gmail.com>
44545
44546 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44547
44548 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44549
44550 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44551 to indicate sparse block.
44552
44553 2008-06-12 Pavel Roskin <proski@gnu.org>
44554
44555 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44556 number, grub_fshelp_read() does it for us.
44557
44558 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44559 linear disk read with journal translation.
44560 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44561 * include/grub/fshelp.h: Declare grub_fshelp_read().
44562
44563 2008-06-09 Pavel Roskin <proski@gnu.org>
44564
44565 * fs/minix.c (grub_minix_mount): Handle error reading
44566 superblock.
44567
44568 2008-06-08 Robert Millan <rmh@aybabtu.com>
44569
44570 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44571 don't append the RAID prefix afterwards.
44572 Reported by Clint Adams.
44573
44574 2008-06-08 Robert Millan <rmh@aybabtu.com>
44575
44576 Based on description from Pavel:
44577 * kern/disk.c (grub_disk_check_range): Rename to ...
44578 (grub_disk_adjust_range): ... this. Add a comment explaining the
44579 tasks performed by this function.
44580
44581 2008-06-08 Robert Millan <rmh@aybabtu.com>
44582
44583 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44584 `num_serial' (for consistency with other variables).
44585 (struct grub_ntfs_data): Add `uuid' member.
44586 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44587 (grub_ntfs_uuid): New function.
44588 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44589
44590 2008-06-07 Pavel Roskin <proski@gnu.org>
44591
44592 * util/biosdisk.c (open_device): Revert last change to the
44593 function, it broke installation. The sector needs to be
44594 different dependent on which device is opened.
44595
44596 2008-06-06 Robert Millan <rmh@aybabtu.com>
44597
44598 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44599 rest of GRUB, and breakage doesn't happen if its value were modified.
44600
44601 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44602 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44603 a constant (same value).
44604 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44605 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44606
44607 2008-06-06 Robert Millan <rmh@aybabtu.com>
44608
44609 * util/biosdisk.c (open_device): Do not modify sector offset when
44610 accessing a partition. kern/disk.c already handles this for us.
44611
44612 2008-06-06 Robert Millan <rmh@aybabtu.com>
44613
44614 * util/grub-emu.c (grub_machine_init): Move code in this function from
44615 here ...
44616 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44617 segfault in case grub_printf() is called).
44618
44619 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44620 grub_probe. Update all users not to explicitly add it again.
44621 (grub_device): New variable; contains corresponding device for grubdir.
44622 (fs_module, partmap_module, devabstraction_module): Pass
44623 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44624 every time.
44625
44626 2008-06-05 Robert Millan <rmh@aybabtu.com>
44627
44628 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44629 is found, print it (same layout as with labels).
44630
44631 2008-06-04 Robert Millan <rmh@aybabtu.com>
44632
44633 * util/biosdisk.c (get_drive): Rename to ...
44634 (find_grub_drive): ... this. Update all users.
44635
44636 (get_os_disk): Rename to ...
44637 (convert_system_partition_to_system_disk): ... this. Update all users.
44638
44639 (find_drive): Rename to ...
44640 (find_system_device): ... this. Update all users.
44641
44642 2008-06-04 Robert Millan <rmh@aybabtu.com>
44643
44644 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44645 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44646 (make_device_map): Likewise.
44647
44648 2008-06-01 Robert Millan <rmh@aybabtu.com>
44649
44650 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44651 before dereferencing it.
44652
44653 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44654 union with fat12/fat16-specific ones. Add some new fields, including
44655 `num_serial' for both versions.
44656 (struct grub_fat_data): Add `uuid' member.
44657 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44658 names. Initialize `data->uuid' using `num_serial'.
44659 (grub_fat_uuid): New function.
44660 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44661
44662 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44663 (grub_reiserfs_uuid): New function.
44664 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44665 member.
44666
44667 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44668 (grub_xfs_uuid): New function.
44669 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44670
44671 2008-06-01 Robert Millan <rmh@aybabtu.com>
44672
44673 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44674 code that is backward compatible with pre-uuid search command.
44675
44676 2008-05-31 Robert Millan <rmh@aybabtu.com>
44677
44678 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44679 floppies after everything else, to ensure floppy drive isn't accessed
44680 unnecessarily (patch from Bean).
44681
44682 2008-05-31 Robert Millan <rmh@aybabtu.com>
44683
44684 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44685 not print device names when we were asked to set a variable.
44686
44687 2008-05-31 Robert Millan <rmh@aybabtu.com>
44688
44689 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44690 using "cursor-on" and "cursor-off" commands (understood at least by
44691 the Open Firmware flavour on OLPC).
44692
44693 2008-05-31 Michael Gorven <michael@gorven.za.net>
44694
44695 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44696 on and off sequences.
44697
44698 2008-05-31 Robert Millan <rmh@aybabtu.com>
44699
44700 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44701 * util/update-grub.in: Likewise.
44702
44703 2008-05-30 Pavel Roskin <proski@gnu.org>
44704
44705 * util/biosdisk.c (linux_find_partition): Simplify logic and
44706 make the code more universal. Keep special processing for
44707 devfs, but use a simple rule for all other devices. If the
44708 device ends with a number, append 'p' and the partition number.
44709 Otherwise, append only the partition number.
44710
44711 2008-05-30 Robert Millan <rmh@aybabtu.com>
44712
44713 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44714 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44715 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44716 the `root' parameter to Linux.
44717
44718 2008-05-30 Robert Millan <rmh@aybabtu.com>
44719
44720 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44721 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44722 --fs_uuid with --fs-uuid.
44723 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44724 all filesystems support them).
44725
44726 2008-05-30 Robert Millan <rmh@aybabtu.com>
44727
44728 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
44729 grub_printf() flags, since we're printing in units of 2 bytes.
44730
44731 2008-05-30 Robert Millan <rmh@aybabtu.com>
44732
44733 * util/grub.d/00_header.in: Remove obsolete comment referencing
44734 convert_system_path_to_grub_path().
44735 * util/update-grub.in: Likewise.
44736 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44737 (convert_system_path_to_grub_path): Add a warning message explaining
44738 that this function is deprecated. Rely on is_path_readable_by_grub()
44739 for the readability checks.
44740 (font_path): Use is_path_readable_by_grub() for the readability
44741 check rather than convert_system_path_to_grub_path().
44742
44743 2008-05-30 Robert Millan <rmh@aybabtu.com>
44744
44745 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44746 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44747 converting it first.
44748 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44749 grub.cfg for access to font file, and afterwards call it again to set
44750 the root device.
44751
44752 2008-05-30 Robert Millan <rmh@aybabtu.com>
44753
44754 * commands/search.c (options): Add --fs_uuid option.
44755 (search_fs_uuid): New function.
44756 (grub_cmd_search): Fix --set argument passing.
44757 Use search_fs_uuid() when requested via --fs_uuid.
44758 (grub_search_init): Update help message.
44759 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44760 and redeclare it as an array of 16-bit words.
44761 (grub_ext2_uuid): New function.
44762 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44763 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44764 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44765 (GRUB_DEVICE_BOOT_UUID): New variables.
44766 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44767 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44768 whenever possible.
44769 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44770 just assume `root' variable has the right value.
44771 * util/grub.d/10_linux.in: Likewise.
44772 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44773 via PRINT_FS_UUID.
44774 (main): Recognise `-t fs_uuid' argument.
44775
44776 2008-05-30 Robert Millan <rmh@aybabtu.com>
44777
44778 * util/biosdisk.c (map): Redefine structure to hold information
44779 about GRUB drive name.
44780 (get_drive): Reimplement without assuming (and verifying) BIOS-like
44781 drive names.
44782 (call_hook): Remove.
44783 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44784 member. Assume drive has partitions.
44785 (grub_util_biosdisk_open): Access device names via `.device' struct
44786 member.
44787 (open_device): Likewise.
44788 (find_drive): Likewise.
44789 (read_device_map): Adjust map[] usage to match the new struct
44790 definition. Don't check for duplicates (still possible, but not cheap
44791 anymore).
44792 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44793 (make_device_name): Remove assumption of BIOS-like drive names.
44794
44795 2008-05-30 Pavel Roskin <proski@gnu.org>
44796
44797 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44798 compiling execute.c doesn't need grub_script.tab.h anymore.
44799 (normal/command.c_DEPENDENCIES): Likewise.
44800 (normal/function.c_DEPENDENCIES): Likewise.
44801 * conf/i386-ieee1275.rmk: Likewise.
44802 * conf/i386-linuxbios.rmk: Likewise.
44803 * conf/i386-pc.rmk: Likewise.
44804 * conf/powerpc-ieee1275.rmk: Likewise.
44805 * conf/sparc64-ieee1275.rmk: Likewise.
44806
44807 2008-05-29 Pavel Roskin <proski@gnu.org>
44808
44809 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44810 when scanning metadata for volume group name.
44811
44812 * include/grub/script.h: Don't include grub_script.tab.h. It's
44813 a generated file, which may only be included from the files with
44814 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44815 use union YYSTYPE, as the later allows forward declaration.
44816 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44817
44818 2008-05-29 Robert Millan <rmh@aybabtu.com>
44819
44820 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44821 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44822 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44823 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44824 scan codes.
44825
44826 2008-05-29 Robert Millan <rmh@aybabtu.com>
44827
44828 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44829 control key combinations.
44830
44831 2008-05-29 Robert Millan <rmh@aybabtu.com>
44832
44833 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44834 * util/ieee1275/grub-install.in: ... to here.
44835 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44836 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44837 (grub_install_SOURCES): Likewise.
44838
44839 2008-05-29 Robert Millan <rmh@aybabtu.com>
44840
44841 * fs/affs.c: Update copyright year.
44842 * fs/ext2.c: Likewise.
44843 * fs/fshelp.c: Likewise.
44844 * fs/hfsplus.c: Likewise.
44845 * fs/ntfs.c: Likewise.
44846 * fs/xfs.c: Likewise.
44847 * include/grub/fshelp.h: Likewise.
44848 * util/grub-mkdevicemap.c: Likewise.
44849
44850 2008-05-28 Robert Millan <rmh@aybabtu.com>
44851
44852 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44853 might need to be fatfs to support some firmware implementations
44854 (e.g. OFW or EFI).
44855
44856 2008-05-28 Robert Millan <rmh@aybabtu.com>
44857
44858 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44859 devices.
44860 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44861 (make_device_map): Likewise.
44862
44863 2008-05-20 Bean <bean123ch@gmail.com>
44864
44865 * fs/fshelp.c (grub_fshelp_map_block): New function.
44866 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44867 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44868
44869 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44870 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44871 (grub_fshelp_journal): New structure.
44872 (grub_fshelp_map_block): New function prototype.
44873 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44874 (grub_fshelp_map_block): Likewise.
44875
44876 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44877 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44878 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44879 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44880 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44881 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44882 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44883 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44884 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44885 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44886 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44887 (grub_ext2_sblock): New members for journal support.
44888 (grub_ext3_journal_header): New structure.
44889 (grub_ext3_journal_revoke_header): Likewise.
44890 (grub_ext3_journal_block_tag): Likewise.
44891 (grub_ext3_journal_sblock): Likewise.
44892 (grub_fshelp_node): New members logfile and journal.
44893 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44894 grub_fshelp_map_block to get real block number.
44895 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44896 number.
44897 (grub_ext2_read_inode): Likewise.
44898 (grub_ext3_get_journal): New function.
44899 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44900 (grub_ext2_close): Release memory used by journal.
44901
44902 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44903 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44904 (grub_reiserfs_transaction_header): Renamed to
44905 grub_reiserfs_description_block, replace field data with real_blocks.
44906 (grub_reiserfs_commit_block): New structure.
44907 (grub_reiserfs_data): New member journal.
44908 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44909 number.
44910 (grub_reiserfs_read_symlink): Likewise.
44911 (grub_reiserfs_iterate_dir): Likewise.
44912 (grub_reiserfs_open): Likewise.
44913 (grub_reiserfs_read): Likewise.
44914 (grub_reiserfs_get_journal): New function.
44915 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44916 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44917 using grub_reiserfs_get_journal.
44918 (grub_reiserfs_close): Release memory used by journal.
44919
44920 * fs/affs.c (grub_affs_read_block): Change block type to
44921 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44922
44923 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44924
44925 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44926
44927 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44928
44929 * fs/udf.c (grub_udf_read_block): Change block type to
44930 grub_disk_addr_t. Use type cast to avoid warning.
44931
44932 * fs/xfs.c (grub_xfs_read_block): Likewise.
44933
44934 2008-05-16 Christian Franke <franke@computer.org>
44935
44936 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44937 to ensure that break with ESC will always work.
44938 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44939 Remove ESC from keyboard queue.
44940
44941 2008-05-16 Christian Franke <franke@computer.org>
44942
44943 * util/biosdisk.c: [__CYGWIN__] Add includes.
44944 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44945 (get_os_disk): Move variable declarations to OS specific
44946 parts to avoid warning.
44947 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44948 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44949 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44950 Cygwin.
44951 * util/getroot.c: [__CYGWIN__] Add includes.
44952 (strip_extra_slashes): Fix "/" case.
44953 [__CYGWIN__] (get_win32_path): New function.
44954 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44955 [__CYGWIN__] (find_root_device): Disable.
44956 [__CYGWIN__] (get_bootsec_serial): New function.
44957 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44958 [__linux__] (grub_guess_root_device): Add early returns to simplify
44959 structure.
44960 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44961 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44962 check for Linux only.
44963
44964 2008-05-15 Bean <bean123ch@gmail.com>
44965
44966 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44967 keyboard hang problem in apple's intel mac.
44968
44969 2008-05-09 Robert Millan <rmh@aybabtu.com>
44970
44971 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44972 devices.
44973 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44974 (make_device_map): Likewise.
44975 Reported by Aurelien Jarno <aurel32@debian.org>
44976
44977 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
44978
44979 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44980 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44981 (make_device_map): Output entries for xvd type disks.
44982
44983 2008-05-07 Robert Millan <rmh@aybabtu.com>
44984
44985 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44986 devices.
44987 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44988 (make_device_map): Likewise.
44989 Reported by Roland Dreier <rdreier@cisco.com>
44990
44991 2008-05-07 Robert Millan <rmh@aybabtu.com>
44992
44993 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44994 grub_strstr() call. Correct a few mistakes in failure path handling.
44995
44996 2008-05-06 Robert Millan <rmh@aybabtu.com>
44997
44998 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44999 Do not print a trailing slash (therefore, the root directory is an
45000 empty string).
45001 (convert_system_path_to_grub_path): Do not remove trailing slash
45002 from make_system_path_relative_to_its_root() output.
45003
45004 * util/i386/pc/grub-install.in: Add trailing slash to output from
45005 make_system_path_relative_to_its_root().
45006
45007 2008-05-06 Robert Millan <rmh@aybabtu.com>
45008
45009 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
45010 ensures that output lines aren't intermangled with those sent to
45011 stderr (via grub_util_info()).
45012 * util/grub-probe.c (grub_refresh): Likewise.
45013 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
45014
45015 2008-05-05 Christian Franke <franke@computer.org>
45016
45017 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
45018 Add Cygwin device names.
45019 (get_ide_disk_name) [__CYGWIN__]: Likewise.
45020 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
45021 (check_device): Return error instead of success on empty name.
45022 (make_device_map): Move label inside linux specific code to
45023 prevent compiler warning.
45024
45025 2008-04-30 Robert Millan <rmh@aybabtu.com>
45026
45027 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
45028 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
45029 first boot option.
45030 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
45031
45032 2008-04-29 Robert Millan <rmh@aybabtu.com>
45033
45034 * docs/grub.cfg: New file (example GRUB configuration).
45035
45036 2008-04-26 Robert Millan <rmh@aybabtu.com>
45037
45038 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
45039 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
45040 and `disk/ieee1275/nand.c'.
45041
45042 2008-04-25 Bean <bean123ch@gmail.com>
45043
45044 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
45045 i386-linuxbios.
45046
45047 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
45048 change the buffer size to 4096 for cdrom device.
45049
45050 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
45051 and nand.mod.
45052 (_linux_mod_SOURCES): New variable.
45053 (_linux_mod_CFLAGS): Likewise.
45054 (_linux_mod_LDFLAGS): Likewise.
45055 (linux_mod_SOURCES): Likewise.
45056 (linux_mod_CFLAGS): Likewise.
45057 (linux_mod_LDFLAGS): Likewise.
45058 (nand_mod_SOURCES): Likewise.
45059 (nand_mod_CFLAGS): Likewise.
45060 (nand_mod_LDFLAGS): Likewise.
45061
45062 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
45063 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
45064 type property. (nand device in olpc don't have this property)
45065
45066 * include/grub/disk.h (grub_disk_dev_id): New macro
45067 GRUB_DISK_DEVICE_NAND_ID.
45068
45069 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
45070 function prototype.
45071 (grub_rescue_cmd_initrd): Likewise.
45072
45073 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
45074 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
45075 ofw_cif_handler and ofw_idt, adjust padding number.
45076
45077 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
45078 GRUB_MACHINE_IEEE1275 is defined.
45079
45080 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
45081 Use NESTED_FUNC_ATTR attribute on the hook parameter.
45082
45083 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
45084 on nested function heap_init.
45085 (grub_upper_mem): New variable for i386-ieee1275.
45086 (grub_get_extended_memory): New function for i386-ieee1275.
45087 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
45088
45089 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
45090 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
45091 property.
45092
45093 * loader/i386/ieee1275/linux.c: New file.
45094
45095 * loader/i386/ieee1275/linux_normal.c: New file.
45096
45097 * disk/ieee1275/nand.c: New file.
45098
45099 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
45100
45101 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
45102 value.
45103 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
45104
45105 2008-04-18 Robert Millan <rmh@aybabtu.com>
45106
45107 Restructures early code path on ieee1275 to unify grub_main() as
45108 the first C function that is executed in every platform.
45109
45110 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
45111 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
45112 cmain().
45113 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
45114 * kern/ieee1275/cmain.c (cmain): Rename to ...
45115 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
45116 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
45117 at the beginning.
45118
45119 2008-04-18 Robert Millan <rmh@aybabtu.com>
45120
45121 * util/update-grub.in: Fix syntax error when setting
45122 `GRUB_PRELOAD_MODULES'.
45123 Reported by Stephane Chazelas <stephane@artesyncp.com>
45124
45125 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
45126
45127 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
45128 section into account, newer toolchains generate unique build ids
45129 * configure.ac: remove the test for --build-id=none acceptance,
45130 we want build ids to be preserved
45131 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
45132 far from other sections don't cause the raw binary images grow
45133 size
45134
45135 2008-04-15 Robert Millan <rmh@aybabtu.com>
45136
45137 * disk/lvm.c: Update copyright year.
45138 * kern/misc.c: Likewise.
45139
45140 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45141
45142 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
45143 there is no memory left for physical volume name.
45144
45145 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45146
45147 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
45148 volume name mapping to support bigger than 9 character names properly.
45149
45150 2008-04-13 Robert Millan <rmh@aybabtu.com>
45151
45152 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
45153 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
45154
45155 2008-04-13 Christian Franke <franke@computer.org>
45156
45157 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
45158 to create a floppy emulation boot CD when non emulation mode
45159 does not work.
45160 Enable Joliet CD filesystem extension.
45161
45162 2008-04-13 Robert Millan <rmh@aybabtu.com>
45163
45164 * kern/misc.c (grub_strncat): Fix off-by-one error.
45165 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
45166
45167 * kern/env.c (grub_env_context_close): Clear current context, not
45168 previous one.
45169 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
45170
45171 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
45172
45173 2008-04-13 Robert Millan <rmh@aybabtu.com>
45174
45175 Improve robustness when handling LVM.
45176
45177 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
45178 (and leave `*p' unmodified).
45179 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
45180 through it.
45181 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
45182 iterating through it.
45183 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
45184 through it.
45185 (grub_lvm_scan_device): Check the return value (and fail gracefully
45186 when due) on each grub_lvm_getvalue() or grub_strstr() call.
45187 Don't assume `vg->pvs != NULL' when iterating through it.
45188
45189 2008-04-13 Robert Millan <rmh@aybabtu.com>
45190
45191 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
45192 * genmk.rb (partmap): New variable.
45193 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
45194 (#{partmap}): New target rule.
45195 * genpartmaplist.sh: New file.
45196 * Makefile.in (pkglib_DATA): Add partmap.lst.
45197 (partmap.lst): New target rule.
45198 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
45199 modules (including all partition maps), instead of preloading them.
45200
45201 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
45202
45203 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
45204 `linux-boot-prober' (if installed) to detect other operating
45205 systems which are installed on the computer and add them to
45206 the boot menu.
45207 * conf/common.rmk: Build and install 30_os-prober.
45208
45209 2008-04-12 Robert Millan <rmh@aybabtu.com>
45210
45211 * kern/powerpc/ieee1275/init.c: Move from here ...
45212 * kern/ieee1275/init.c: ... to here. Update all users.
45213
45214 * kern/powerpc/ieee1275/cmain.c: Move from here ...
45215 * kern/ieee1275/cmain.c: ... to here. Update all users.
45216
45217 * kern/powerpc/ieee1275/openfw.c: Move from here ...
45218 * kern/ieee1275/openfw.c: ... to here. Update all users.
45219
45220 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
45221 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
45222
45223 2008-04-10 Pavel Roskin <proski@gnu.org>
45224
45225 * configure.ac: Always use "_cv_" in cache variables for
45226 compatibility with Autoconf 2.62.
45227
45228 2008-04-07 Robert Millan <rmh@aybabtu.com>
45229
45230 Revert grub/machine/init.h addition by Pavel (since it breaks on
45231 i386-ieee1275 and others):
45232 * util/i386/pc/misc.c: Remove grub/machine/init.h.
45233 * util/powerpc/ieee1275/misc.c: Likewise.
45234
45235 2008-04-07 Robert Millan <rmh@aybabtu.com>
45236
45237 * util/grub-probe.c (probe): Improve error message.
45238
45239 2008-04-07 Robert Millan <rmh@aybabtu.com>
45240
45241 * util/biosdisk.c (read_device_map): Skip devices that don't exist
45242 (this prevents the presence of a bogus entry from ruining the whole
45243 thing).
45244
45245 2008-04-06 Pavel Roskin <proski@gnu.org>
45246
45247 * util/biosdisk.c: Include grub/util/biosdisk.h.
45248 * util/grub-fstest.c (execute_command): Make static.
45249 * util/grub-mkdevicemap.c (check_device): Likewise.
45250 * util/i386/pc/misc.c: Include grub/machine/init.h.
45251 * util/powerpc/ieee1275/misc.c: Likewise.
45252 * util/lvm.c: Include grub/util/lvm.h.
45253 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45254 grub/cache.h.
45255 * util/raid.c: Include grub/util/raid.h.
45256 (grub_util_getdiskname): Make static.
45257
45258 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45259 grub_hostfs_fini(), as they are called from grub_init_all() and
45260 grub_fini_all() respectively. This fixes an infinite loop in
45261 grub-fstest due to double registration of hostfs.
45262 Reported by Christian Franke <Christian.Franke@t-online.de>
45263
45264 2008-04-05 Pavel Roskin <proski@gnu.org>
45265
45266 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45267 all 8 functions. Otherwise, probe function 0 only.
45268
45269 2008-04-04 Pavel Roskin <proski@gnu.org>
45270
45271 * commands/lspci.c (grub_lspci_iter): Print the bus number
45272 correctly.
45273
45274 * commands/lspci.c (grub_pci_classes): Fix typos.
45275 (grub_lspci_iter): Don't print func twice. Print vendor ID
45276 before device ID, as it's normally done.
45277
45278 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45279 Fix signedness warnings.
45280 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45281 Likewise.
45282 * util/ieee1275/get_disk_name.c: Include config.h so that
45283 _GNU_SOURCE is defined and getline() is declared. Mark an
45284 unused argument as such. Fix a signedness warning.
45285
45286 2008-04-02 Pavel Roskin <proski@gnu.org>
45287
45288 * genkernsyms.sh.in: Use more robust assignments for CC and
45289 srcdir. Quote srcdir.
45290 * gensymlist.sh.in: Likewise. Assert at the compile time that
45291 the symbol table is not empty.
45292
45293 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45294 * fs/cpio.c (grub_cpio_read): Likewise.
45295
45296 2008-04-01 Pavel Roskin <proski@gnu.org>
45297
45298 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45299 * disk/host.c (grub_host_open): Likewise.
45300 * disk/loopback.c (grub_loopback_open): Likewise.
45301 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45302 disk->id as in disk/host.c, not a multi-character constant.
45303
45304 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45305 later is obsolete, potentially dangerous and sets a bad example.
45306 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45307 * util/misc.c (grub_util_get_image_size): Likewise.
45308
45309 * disk/loopback.c (options): Improve help for "--partitions".
45310
45311 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45312 options to align them with the short options, e.g. "echo -e".
45313
45314 2008-03-31 Bean <bean123ch@gmail.com>
45315
45316 * video/reader/png.c (grub_png_data): New member is_16bit and
45317 image_data.
45318 (grub_png_decode_image_header): Detect 16 bit png image.
45319 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45320 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45321 (grub_video_reader_png): Release memory occupied by image_data.
45322
45323 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45324 4096 bytes.
45325 (grub_nfs_mount): Skip the test for sector per cluster.
45326
45327 * include/grub/ntfs.h (MAX_SPC): Removed.
45328
45329 2008-03-31 Bean <bean123ch@gmail.com>
45330
45331 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45332 (grub_probe_SOURCES): Add fs/afs.c.
45333 (grub_fstest_SOURCES): Likewise.
45334 (afs_mod_SOURCES): New variable.
45335 (afs_mod_CFLAGS): Likewise.
45336 (afs_mod_LDFLAGS): Likewise.
45337
45338 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45339 (grub_emu_SOURCES): Likewise.
45340
45341 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45342
45343 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45344
45345 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45346
45347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45348
45349 * fs/afs.c: New file.
45350
45351 2008-03-30 Pavel Roskin <proski@gnu.org>
45352
45353 * disk/host.c: Include grub/misc.h to fix a warning.
45354 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45355 warnings about implicit declarations.
45356
45357 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45358 variable.
45359 * include/grub/i386/loader.h: Change declaration of
45360 grub_linux_boot() to match what grub_loader_set() expects.
45361 * util/getroot.c (grub_guess_root_device): Return const char* to
45362 fix a warning.
45363 * util/grub-probe.c (probe): Fix a warning about uninitialized
45364 abstraction_name variable.
45365 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45366 second argument as unused to fix a warning.
45367
45368 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45369 missing grub_error() call.
45370
45371 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45372 2.60 and newer uses it to define datadir.
45373
45374 * commands/sleep.c: Fix warning about implicit declaration.
45375 * disk/memdisk.c: Likewise.
45376 * loader/aout.c: Likewise.
45377 * loader/i386/bsd_normal.c: Likewise.
45378 * util/grub-probe.c: Likewise.
45379
45380 * commands/i386/cpuid.c (has_longmode): Make static.
45381 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45382 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45383
45384 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45385 GDT. This is more robust, as %ds can change.
45386 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45387 calling real_to_prot().
45388 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45389
45390 2008-03-28 Pavel Roskin <proski@gnu.org>
45391
45392 * kern/i386/pc/startup.S: Assert that uncompressed functions
45393 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45394 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45395 code, as they push parts of the code (error handlers) beyond
45396 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45397 code as correctness and size.
45398
45399 2008-03-28 Pavel Roskin <proski@gnu.org>
45400
45401 * kern/i386/pc/startup.S
45402 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45403 data block address to the real mode, keep offset minimal. This
45404 works around a bug in AWARD BIOS on old Athlon systems, which
45405 makes CD detection hang.
45406
45407 2008-03-26 Pavel Roskin <proski@gnu.org>
45408
45409 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45410 const.
45411 * include/grub/normal.h: Add grub_parse_color_name_pair()
45412 declaration.
45413
45414 2008-03-24 Bean <bean123ch@gmail.com>
45415
45416 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45417 (cd_count): Removed.
45418 (cd_drive): New variable.
45419 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45420 (grub_biosdisk_call_hook): Likewise.
45421 (grub_biosdisk_iterate): Change cdrom detection method.
45422 (grub_biosdisk_open): Replace cd_start with cd_drive.
45423 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45424 detect cdrom device.
45425
45426 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45427 Removed.
45428 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45429 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45430 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45431 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45432 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45433 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45434 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45435 (grub_biosdisk_cdrp): New structure.
45436 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45437
45438 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45439
45440 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45441 device.
45442
45443 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45444 New function.
45445
45446 2008-03-20 Robert Millan <rmh@aybabtu.com>
45447
45448 Remove 2 TiB limit in ata.mod.
45449 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45450 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45451 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45452 grub_uint64_t instead of grub_uint32_t.
45453
45454 2008-03-05 Bean <bean123ch@gmail.com>
45455
45456 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45457 (grub_multiboot): Set boot device.
45458
45459 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45460
45461 2008-03-02 Bean <bean123ch@gmail.com>
45462
45463 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45464 symlink_buffer.
45465
45466 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45467
45468 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45469 texinfo.tex.
45470
45471 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45472 modified.
45473
45474 * docs/fdl.texi: New file.
45475
45476 * docs/mdate-sh: New file. Copied from gnulib.
45477 * docs/texinfo.tex: Likewise.
45478
45479 * config.guess: Updated from gnulib.
45480 * install-sh: Likewise.
45481
45482 2008-02-28 Robert Millan <rmh@aybabtu.com>
45483
45484 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45485 (aout_mod_SOURCES): New variable.
45486 (aout_mod_CFLAGS): Likewise.
45487 (aout_mod_LDFLAGS): Likewise.
45488
45489 * conf/i386-ieee1275.rmk: Likewise.
45490
45491 2008-02-28 Robert Millan <rmh@aybabtu.com>
45492
45493 * util/update-grub.in: Reorganise terminal validity check. Accept
45494 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45495 Based on suggestion by Franklin PIAT.
45496
45497 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45498
45499 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45500 function.
45501 * util/getroot.c (grub_util_check_block_device): New function that
45502 returns the given argument if it is a block device and returns NULL else.
45503 * util/grub-probe.c (argument_is_device): New variable.
45504 (probe): Promote device_name from a variable to an argument. Receive
45505 device_name from grub_util_check_block_device() if path is NULL and from
45506 grub_guess_root_device() else. Do not free() device_name anymore.
45507 (options): Introduce new parameter '-d, --device'.
45508 (main): Add description of the new parameter to the help screen.
45509 Rename path variable to argument. Set argument_is_device if the '-d'
45510 option is given. Pass argument to probe() depending on
45511 argument_is_device.
45512
45513 2008-02-24 Bean <bean123ch@gmail.com>
45514
45515 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45516 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45517 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45518 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45519 (GRUB_ISO9660_VOLDESC_END): Likewise.
45520 (grub_iso9660_primary_voldesc): New member escape.
45521 (grub_iso9660_data): New member joliet.
45522 (grub_iso9660_convert_string): New function.
45523 (grub_iso9660_mount): Detect joliet extension.
45524 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45525 (grub_iso9660_iso9660_label): Likewise.
45526
45527 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45528 (grub_setup_SOURCES): Add fs/udf.c.
45529 (grub_fstest_SOURCES): Likewise.
45530 (udf_mod_SOURCES): New variable.
45531 (udf_mod_CFLAGS): Likewise.
45532 (udf_mod_LDFLAGS): Likewise.
45533
45534 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45535 (grub_emu_SOURCES): Likewise.
45536
45537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45538
45539 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45540
45541 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45542
45543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45544
45545 * fs/udf.c: New file.
45546
45547 2008-02-24 Robert Millan <rmh@aybabtu.com>
45548
45549 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45550 (normal/lexer.c_DEPENDENCIES): New variables.
45551 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45552 (normal/lexer.c_DEPENDENCIES): Likewise.
45553 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45554 (normal/lexer.c_DEPENDENCIES): Likewise.
45555 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45556 (normal/lexer.c_DEPENDENCIES): Likewise.
45557 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45558 (normal/lexer.c_DEPENDENCIES): Likewise.
45559 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45560 (normal/lexer.c_DEPENDENCIES): Likewise.
45561
45562 2008-02-23 Robert Millan <rmh@aybabtu.com>
45563
45564 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45565 since they were intended to be in hex. This didn't break previously
45566 because of a bug in gpt_partition_map_iterate() (see below).
45567
45568 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45569 when checking the validity of GPT header.
45570 Remove `partno', since it always provides the same information as `i'.
45571
45572 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45573
45574 * include/grub/efi/time.h: Fix a wrong comment.
45575
45576 2008-02-19 Pavel Roskin <proski@gnu.org>
45577
45578 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45579 message.
45580
45581 2008-02-19 Bean <bean123ch@gmail.com>
45582
45583 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45584 (aout_mod_SOURCES): New variable.
45585 (aout_mod_CFLAGS): Likewise.
45586 (aout_mod_LDFLAGS): Likewise.
45587 (_bsd_mod_SOURCES): New variable.
45588 (_bsd_mod_CFLAGS): Likewise.
45589 (_bsd_mod_LDFLAGS): Likewise.
45590 (bsd_mod_SOURCES): New variable.
45591 (bsd_mod_CFLAGS): Likewise.
45592 (bsd_mod_LDFLAGS): Likewise.
45593
45594 * include/grub/aout.h: New file.
45595
45596 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45597
45598 * include/grub/i386/bsd.h: New file.
45599
45600 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45601 to make it public.
45602
45603 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45604 function is called, so that it's possible to change it inside the hook.
45605 (grub_elf64_load): Likewise.
45606 (grub_elf_file): Don't close the file if elf header is not found.
45607 (grub_elf_close): Close the file if grub_elf_file fails (The new
45608 grub_elf_file won't close it).
45609 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45610 (grub_elf64_size): Likewise.
45611
45612 * kern/i386/loader.S (grub_unix_real_boot): New function.
45613
45614 * loader/aout.c: New file.
45615
45616 * loader/i386/bsd.c: New file.
45617
45618 * loader/i386/bsd_normal.c: New file.
45619
45620 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45621
45622 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
45623 can test other formats.
45624
45625 2008-02-19 Robert Millan <rmh@aybabtu.com>
45626
45627 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45628 (grub_gpt_partition_type_empty): Redefine with macro from
45629 `<grub/gpt_partition.h>'.
45630 (gpt_partition_map_iterate): Adjust partition type comparison.
45631
45632 Export `entry' as partmap-specific `part.data' struct.
45633 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45634
45635 * include/grub/gpt_partition.h (grub_gpt_header)
45636 (grub_gpt_partentry): ... to here (new file).
45637
45638 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45639
45640 (grub_gpt_partition_type_bios_boot): New const variable, defined
45641 with macro from `<grub/gpt_partition.h>'.
45642
45643 (setup): Replace `first_start' with `embed_region', which keeps
45644 track of the embed region (and is partmap-agnostic).
45645
45646 Replace find_first_partition_start() with find_usable_region(),
45647 which finds a usable region for embedding using partmap-specific
45648 knowledge (supports PC/MSDOS and GPT).
45649
45650 Fix all assumptions that the embed region start at sector 1, using
45651 `embed_region.start' from now on. Similarly, use `embed_region.end'
45652 rather than `first_start' to calculate available size.
45653
45654 In grub_util_info() message, replace "into after the MBR" with an
45655 indication of the specific sector our embed region starts at.
45656
45657 2008-02-19 Robert Millan <rmh@aybabtu.com>
45658
45659 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45660 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45661 `commands/reboot.c'.
45662 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45663 (halt_mod_SOURCES): Likewise.
45664 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45665 (halt_mod_SOURCES): Likewise.
45666
45667 2008-02-17 Christian Franke <franke@computer.org>
45668
45669 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45670
45671 2008-02-17 Robert Millan <rmh@aybabtu.com>
45672
45673 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45674 set `first_start' to 0 for non-PC/MSDOS partition maps.
45675
45676 2008-02-16 Robert Millan <rmh@aybabtu.com>
45677
45678 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45679 do not assume partition map is PC/MSDOS before performing checks that
45680 are specific to that layout.
45681
45682 2008-02-13 Robert Millan <rmh@aybabtu.com>
45683
45684 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45685 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45686 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45687
45688 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45689
45690 * configure.ac: Only a cosmetic change on the handling of
45691 -fno-stack-protector.
45692
45693 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
45694
45695 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45696 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45697 reboot.c.
45698 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45699 (halt_mod_SOURCES): New variable.
45700 (halt_mod_CFLAGS): Likewise.
45701 (halt_mod_LDFLAGS): Likewise.
45702 (reboot_mod_SOURCES): Likewise.
45703 (reboot_mod_CFLAGS): Likewise.
45704 (reboot_mod_LDFLAGS): Likewise.
45705
45706 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45707 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45708 reboot.c.
45709 (halt_mod_SOURCES): Likewise.
45710 (reboot_mod_SOURCES): Likewise.
45711
45712 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45713 commands/i386/pc/reboot.c by commands/reboot.c.
45714 (reboot_mod_SOURCES): Likewise.
45715
45716 * commands/i386/pc/reboot.c: merge this file ...
45717
45718 * commands/ieee1275/reboot.c: ... and this file ...
45719
45720 * commands/reboot.c: ... to this file.
45721 Add some precompiler directive to include the correct header for
45722 each machine.
45723
45724 * commands/ieee1275/halt.c: move this file ...
45725
45726 * commands/halt.c: ... to here.
45727 Add some precompiler directive to include the correct header for
45728 each machine.
45729
45730 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45731 (grub_halt): Likewise.
45732
45733 * kern/efi/efi.c (grub_reboot): New function.
45734 (grub_halt): Likewise.
45735
45736 2008-02-12 Robert Millan <rmh@aybabtu.com>
45737
45738 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45739 /dev (like it is done for /dev/mapper). This doesn't provide support
45740 for EVMS, but at least it is now easy to identify the problem when it
45741 arises.
45742
45743 2008-02-11 Robert Millan <rmh@aybabtu.com>
45744
45745 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45746 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45747 comparing it with -1, not 0.
45748
45749 2008-02-10 Robert Millan <rmh@aybabtu.com>
45750
45751 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45752 `disk/lvm.c'.
45753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45754 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45755
45756 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45757 `disk/lvm.c' to the end of the list.
45758 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45759 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45760
45761 2008-02-10 Robert Millan <rmh@aybabtu.com>
45762
45763 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45764 grub_print_error() instead. This will let user know why we're entering
45765 rescue mode.
45766 Based on suggestions from Sam Morris.
45767
45768 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
45769
45770 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45771 on remaining N args, instead of "--" arg N times.
45772
45773 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45774
45775 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45776 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45777 pattern for unknown glyphs.
45778
45779 2008-02-09 Robert Millan <rmh@aybabtu.com>
45780
45781 * configure.ac: Probe for `help2man'.
45782 * Makefile.in (builddir): New variable.
45783 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45784 or otherwise add a few flags/options to it.
45785 (install-local): For every executable utility or script that is
45786 installed, invoke $(HELP2MAN) to install a manpage based on --help
45787 output.
45788
45789 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45790 that it doesn't prevent --help from working in build tree.
45791
45792 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45793 with `bug-grub@gnu.org'.
45794 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45795 * util/update-grub.in (usage): New function.
45796 Implement proper argument check, with support for --help and --version
45797 (as well as existing -y).
45798
45799 2008-02-09 Christian Franke <franke@computer.org>
45800
45801 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45802 avoid overwriting previous output.
45803 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45804
45805 2008-02-09 Robert Millan <rmh@aybabtu.com>
45806
45807 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45808 drawing the menu.
45809
45810 2008-02-09 Robert Millan <rmh@aybabtu.com>
45811
45812 * commands/sleep.c: New file.
45813 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45814 (sleep_mod_SOURCES): New variable.
45815 (sleep_mod_CFLAGS): Likewise.
45816 (sleep_mod_LDFLAGS): Likewise.
45817
45818 2008-02-09 Robert Millan <rmh@aybabtu.com>
45819
45820 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45821 situations in which we can deduce the RAID size and the superblock
45822 doesn't match it.
45823
45824 2008-02-09 Robert Millan <rmh@aybabtu.com>
45825
45826 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45827 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45828 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45829
45830 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45831 and return a grub_diskmemberlist_t composed of physical array members.
45832 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45833
45834 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45835 prototype.
45836 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45837 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45838 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45839
45840 * util/grub-probe.c (probe): Move partmap probing code from here ...
45841 (probe_partmap): ... to here.
45842 (probe): Use probe_partmap() once for the disk we're probing, and
45843 additionally, when such disk contains a memberlist() struct member,
45844 once for each disk that is contained in the structure returned by
45845 memberlist().
45846
45847 2008-02-09 Robert Millan <rmh@aybabtu.com>
45848
45849 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45850 environment variable to 'all' in order to obtain debug output from
45851 non-util/ code.
45852 * util/i386/pc/grub-setup.c (main): Likewise.
45853
45854 2008-02-08 Robert Millan <rmh@aybabtu.com>
45855
45856 * disk/raid.c (grub_raid_scan_device): Check for
45857 `array->device[sb.this_disk.number]' rather than for
45858 `array->device[sb.this_disk.number]->name', since the latter is not
45859 guaranteed to be accessible.
45860
45861 2008-02-08 Robert Millan <rmh@aybabtu.com>
45862
45863 * disk/raid.c: Update copyright.
45864 * fs/cpio.c: Likewise.
45865 * include/grub/raid.h: Likewise.
45866 * loader/i386/pc/multiboot.c: Likewise.
45867 * util/hostfs.c: Likewise.
45868
45869 2008-02-08 Robert Millan <rmh@aybabtu.com>
45870
45871 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45872 to a grub_disk_t array.
45873 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45874 `device[x]'.
45875 (grub_raid_scan_device): Replace `device[x].name' accesses with
45876 `device[x]->name'. Simplify initialization of `array->device[x]'.
45877
45878 2008-02-08 Robert Millan <rmh@aybabtu.com>
45879
45880 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45881 grub_dprintf() calls.
45882 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45883 error message.
45884
45885 2008-02-07 Christian Franke <franke@computer.org>
45886
45887 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45888 instead of fseek and ftell to support large files.
45889 (grub_hostfs_read): Likewise.
45890
45891 2008-02-07 Robert Millan <rmh@aybabtu.com>
45892
45893 Patch from Jeroen Dekkers.
45894 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
45895 failure, since successfully reading all array members might not be
45896 required.
45897
45898 2008-02-06 Robert Millan <rmh@aybabtu.com>
45899
45900 * util/grub-probe.c (probe): Simplify partmap probing (with the
45901 assumption that the first word up to the underscore equals to
45902 the module name).
45903
45904 2008-02-06 Christian Franke <franke@computer.org>
45905
45906 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45907 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45908 last block of a cpio or tar stream.
45909 Check for "TRAILER!!!" instead of any empty data
45910 block to detect last block of a cpio stream.
45911 (grub_cpio_dir): Fix constness of variable np.
45912 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45913 cpio or tar trailer is detected. This fixes a crash
45914 on open of a non existing file.
45915
45916 2008-02-05 Bean <bean123ch@gmail.com>
45917
45918 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45919 address of entry.
45920 (grub_multiboot_load_elf64): Likewise.
45921 (grub_multiboot): Initialize mbi structure.
45922
45923 * util/grub-fstest.c: Don't include unused header file script.h.
45924
45925 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
45926 of file.
45927 (grub_fstest_SOURCES): Likewise.
45928
45929 2008-02-05 Robert Millan <rmh@aybabtu.com>
45930
45931 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45932 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45933 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45934 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45935
45936 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45937 (translation_table): Replace hardcoded values with macros
45938 provided by `<grub/term.h>'.
45939
45940 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45941 (keyboard_map): Correct/add a few values, with macros provided
45942 by `<grub/term.h>'.
45943 (keyboard_map_shift): Zero values that don't differ from their
45944 `keyboard_map' equivalents.
45945 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45946 Discard the second scan code that is always sent by Caps lock.
45947 Only use `keyboard_map_shift' when it provides a non-zero value,
45948 otherwise fallback to `keyboard_map'.
45949
45950 2008-02-04 Bean <bean123ch@gmail.com>
45951
45952 * Makefile.in (enable_grub_fstest): New variable.
45953
45954 * conf/common.rmk (grub_fstest_init.lst): New rule.
45955 (grub_fstest_init.h): Likewise.
45956 (grub_fstest_init.c): Likewise.
45957 (util/grub-fstest.c_DEPENDENCIES): New variable.
45958 (grub_fstest_SOURCES): Likewise.
45959
45960 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45961
45962 * util/grub-fstest.c: New file.
45963
45964 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45965
45966 Make grub-setup handle a separate root device.
45967
45968 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45969 so that the root device can be compared with the destination
45970 device.
45971 When embedding the core image, if the root and destination devices
45972 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45973 0xFF.
45974 When not embedding, set ROOT_DRIVE to 0xFF.
45975
45976 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45977
45978 Add support for having a grub directory in a different drive. This
45979 is still only the data handling part.
45980
45981 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45982 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45983 (grub_root_drive): New variable.
45984
45985 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45986 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45987 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45988 as it was.
45989
45990 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45991
45992 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45993 macro.
45994 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45995
45996 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45997 is bogus, because PXE booting does not specify any drive
45998 correctly.
45999
46000 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
46001 am not sure if this is really correct.
46002
46003 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
46004 is always identical to the boot drive when booting from a CD.
46005
46006 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
46007 longer.
46008 (root_drive): New variable.
46009 (real_start): Unconditionally set %dh to ROOT_DRIVE.
46010 (setup_sectors): Push %dx right after popping it, because %dh will
46011 be modified later.
46012 (copy_buffer): Restore %dx.
46013
46014 2008-02-03 Robert Millan <rmh@aybabtu.com>
46015
46016 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
46017 use `cdboot.img' for cdrom images.
46018
46019 2008-02-03 Robert Millan <rmh@aybabtu.com>
46020
46021 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
46022 only setup gfxterm when `font' command has succeeded.
46023
46024 2008-02-03 Robert Millan <rmh@aybabtu.com>
46025
46026 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
46027 (grub_rescue_cmd_multiboot_loader)
46028 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
46029
46030 2008-02-03 Pavel Roskin <proski@gnu.org>
46031
46032 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
46033 %edx and %esi from stack only after grub_gate_a20() is called.
46034 grub_gate_a20() clobbers %edx.
46035
46036 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
46037
46038 * configure.ac (AC_INIT): Bumped to 1.96.
46039
46040 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
46041 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
46042 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
46043 video/readers/png.c.
46044
46045 2008-02-03 Bean <bean123ch@gmail.com>
46046
46047 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
46048 (cdboot_img_SOURCES): New variable.
46049 (cdboot_img_ASFLAGS): New variable.
46050 (cdboot_img_LDFLAGS): New variable.
46051
46052 * boot/i386/pc/cdboot.S: New file.
46053
46054 * disk/i386/pc/biosdisk.c (cd_start): New variable.
46055 (cd_count): Likewise.
46056 (grub_biosdisk_get_drive): Add support for cd device.
46057 (grub_biosdisk_call_hook): Likewise.
46058 (grub_biosdisk_iterate): Likewise.
46059 (grub_biosdisk_open): Likewise.
46060 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
46061 (grub_biosdisk_rw): Support reading from cd device.
46062 (GRUB_MOD_INIT): Iterate cd devices.
46063
46064 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
46065 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
46066 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
46067
46068 * kern/i386/pc/init.c (make_install_device): Check for cd device.
46069
46070 2008-02-02 Robert Millan <rmh@aybabtu.com>
46071
46072 * commands/read.c: New file.
46073 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
46074 (read_mod_SOURCES): New variable.
46075 (read_mod_CFLAGS): Likewise.
46076 (read_mod_LDFLAGS): Likewise.
46077
46078 2008-02-02 Robert Millan <rmh@aybabtu.com>
46079
46080 * normal/main.c (grub_normal_execute): Check for `menu->size' when
46081 determining whether menu has to be displayed.
46082
46083 2008-02-02 Marco Gerards <marco@gnu.org>
46084
46085 * bus/pci.c: New file.
46086
46087 * include/grub/pci.h: Likewise.
46088
46089 * include/grub/i386/pc/pci.h: Likewise.
46090
46091 * commands/lspci.c: Likewise.
46092
46093 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
46094 `lspci.mod'.
46095 (pci_mod_SOURCES): New variable.
46096 (pci_mod_CFLAGS): Likewise.
46097 (pci_mod_LDFLAGS): Likewise.
46098 (lspci_mod_SOURCES): Likewise.
46099 (lspci_mod_CFLAGS): Likewise.
46100 (lspci_mod_LDFLAGS): Likewise.
46101
46102 2008-02-02 Bean <bean123ch@gmail.com>
46103
46104 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
46105 (grub_ufs_get_file_block): Fix indirect block calculation problem.
46106
46107 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
46108 (grub_xfs_btree_node): New structure.
46109 (grub_xfs_btree_root): New structure.
46110 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
46111 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
46112 (GRUB_XFS_EXTENT_BLOCK): Likewise.
46113 (GRUB_XFS_EXTENT_SIZE): Likewise.
46114 (grub_xfs_read_block): Support btree format type.
46115 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
46116 Use directory block as basic unit.
46117
46118 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
46119
46120 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
46121 __attribute__ ((__regparm__ (1))).
46122
46123 2008-02-01 Robert Millan <rmh@aybabtu.com>
46124
46125 Correct a mistake in previous commit.
46126
46127 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
46128 top.
46129 (normal/command.c_DEPENDENCIES): New variable.
46130
46131 2008-02-01 Robert Millan <rmh@aybabtu.com>
46132
46133 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
46134 top.
46135 (normal/command.c_DEPENDENCIES): New variable.
46136 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
46137 * conf/i386-ieee1275.rmk: Likewise.
46138 * conf/i386-linuxbios.rmk: Likewise.
46139 * conf/i386-pc.rmk: Likewise.
46140 * conf/sparc64-ieee1275.rmk: Likewise.
46141 * conf/powerpc-ieee1275.rmk: Likewise.
46142 (grub_emu_SOURCES): Add `fs/fshelp.c'.
46143
46144 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
46145
46146 2008-02-01 Robert Millan <rmh@aybabtu.com>
46147
46148 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
46149 call at beginning of function.
46150
46151 2008-01-31 Pavel Roskin <proski@gnu.org>
46152
46153 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
46154 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
46155 (grub_mkrescue_SOURCES): Likewise.
46156 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
46157
46158 2008-01-30 Robert Millan <rmh@aybabtu.com>
46159
46160 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
46161 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
46162 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
46163 (grub_probe_SOURCES): ... to here.
46164
46165 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
46166 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
46167 * conf/i386-ieee1275.rmk: Likewise.
46168 * conf/i386-linuxbios.rmk: Likewise.
46169 * conf/powerpc-ieee1275.rmk: Likewise.
46170
46171 2008-01-30 Tristan Gingold <gingold@free.fr>
46172
46173 * kern/rescue.c: Silently accept empty lines.
46174
46175 2008-01-29 Bean <bean123ch@gmail.com>
46176
46177 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
46178 (real_code_2): Code cleanup and change comment style.
46179 (move_memory): Avoid using 32-bit address mode.
46180
46181 2008-01-29 Bean <bean123ch@gmail.com>
46182
46183 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
46184 (png_mod_SOURCES): New variable.
46185 (png_mod_CFLAGS): Likewise.
46186 (png_mod_LDFLAGS): Likewise.
46187
46188 * video/readers/png.c: New file.
46189
46190 2008-01-28 Robert Millan <rmh@aybabtu.com>
46191
46192 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
46193 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
46194 `ifndef GRUB_MOD_GAP' hack.
46195 * util/elf/grub-mkimage.c (add_segments): Likewise.
46196
46197 2008-01-27 Robert Millan <rmh@aybabtu.com>
46198
46199 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
46200 `GRUB_MOD_GAP' for platforms in which it's not defined.
46201 * util/elf/grub-mkimage.c (add_segments): Likewise.
46202
46203 2008-01-27 Robert Millan <rmh@aybabtu.com>
46204
46205 Get grub-emu to build again (including parallel builds).
46206
46207 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
46208 Split into ...
46209 (util/grub-emu.c_DEPENDENCIES): ... this, ...
46210 (normal/execute.c_DEPENDENCIES): ... this, ...
46211 (grub-emu_DEPENDENCIES): ... and this.
46212
46213 * conf/i386-efi.rmk: Likewise.
46214 * conf/i386-linuxbios.rmk: Likewise.
46215 * conf/i386-ieee1275.rmk: Likewise.
46216 * conf/powerpc-ieee1275.rmk: Likewise.
46217 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
46218
46219 2008-01-27 Robert Millan <rmh@aybabtu.com>
46220
46221 * NEWS: Add a few items.
46222
46223 2008-01-27 Robert Millan <rmh@aybabtu.com>
46224
46225 Fix parallel builds with grub-emu. Based on earlier commit for
46226 grub-probe and grub-setup.
46227
46228 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46229 (util/grub-emu.c_DEPENDENCIES): ... this.
46230 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46231 (util/grub-emu.c_DEPENDENCIES): ... this.
46232 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46233 (util/grub-emu.c_DEPENDENCIES): ... this.
46234 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46235 (util/grub-emu.c_DEPENDENCIES): ... this.
46236 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46237 (util/grub-emu.c_DEPENDENCIES): ... this.
46238
46239 2008-01-27 Pavel Roskin <proski@gnu.org>
46240
46241 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
46242 to create a gap between _end and the modules added to the image
46243 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
46244 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
46245 * util/elf/grub-mkimage.c (add_segments): Likewise.
46246
46247 2008-01-26 Pavel Roskin <proski@gnu.org>
46248
46249 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46250 just return an error.
46251
46252 2008-01-26 Bean <bean123ch@gmail.com>
46253
46254 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46255 (grub_reiserfs_get_item): Save offset of the next item.
46256 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46257
46258 2008-01-25 Robert Millan <rmh@aybabtu.com>
46259
46260 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46261 make all filesystem sources appear together (possibly fixing omissions
46262 while at it).
46263 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46264 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46265 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46267
46268 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46269 add `kern/file.c'.
46270 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46271 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46272 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46273 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46274
46275 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46276 (probe): Add a sanity check to make sure of our ability to read
46277 requested files when probing for filesystem type.
46278
46279 * genmk.rb: Update copyright year (2007).
46280
46281 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46282 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46283 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46284 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46285 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46286 : Remove function prototypes.
46287
46288 2008-01-25 Robert Millan <rmh@aybabtu.com>
46289
46290 Revert my previous commits (based on wrong assumption of how grub_errno
46291 works).
46292
46293 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
46294 * kern/file.c (grub_file_open): Likewise.
46295
46296 2008-01-24 Pavel Roskin <proski@gnu.org>
46297
46298 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46299 that hang if GRUB tries to setup colors.
46300 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46301 colors for firmwares that don't support it.
46302 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46303 Recognize Open Hack'Ware, set flags to work around its
46304 limitations.
46305
46306 2008-01-24 Robert Millan <rmh@aybabtu.com>
46307
46308 * kern/file.c (grub_file_open): Do not account previous failures of
46309 unrelated functions when grub_errno is checked for.
46310 Reported by Oleg Strikov.
46311
46312 2008-01-24 Bean <bean123ch@gmail.com>
46313
46314 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46315 (grub_ufs_sblock): New member volume name.
46316 (grub_ufs_find_file): Fix string copy bug.
46317 (grub_ufs_label): Implement this function properly.
46318
46319 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46320 (grub_hfs_iterate_records): Use the correct file number for extents
46321 and catalog file. Fix problem in next index calculation.
46322 (grub_hfs_find_node): Replace recursive function call with loop.
46323 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46324
46325 2008-01-23 Robert Millan <rmh@aybabtu.com>
46326
46327 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46328 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46329 (grub_multiboot2_real_boot): New function prototype.
46330
46331 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46332 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46333
46334 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46335 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46336
46337 2008-01-23 Robert Millan <rmh@aybabtu.com>
46338
46339 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46340 #ifdef'ed out grub_printf().
46341
46342 2008-01-23 Robert Millan <rmh@aybabtu.com>
46343
46344 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46345 grub_dprintf calls, since they make "debug=all" mode unusable.
46346 (grub_console_checkkey): Likewise.
46347
46348 2008-01-23 Robert Millan <rmh@aybabtu.com>
46349
46350 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46351 `term/i386/pc/at_keyboard.c'.
46352 (pkglib_MODULES): Add `serial.mod'.
46353 (serial_mod_SOURCES): New variable.
46354 (serial_mod_CFLAGS): Likewise.
46355 (serial_mod_LDFLAGS): Likewise.
46356
46357 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46358 `<grub/powerpc/ieee1275/console.h>'.
46359 (grub_keyboard_controller_init): New function prototype.
46360 (grub_console_checkkey): Likewise.
46361 (grub_console_getkey): Likewise.
46362
46363 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46364 keyboard on i386.
46365
46366 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46367 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46368
46369 2008-01-23 Robert Millan <rmh@aybabtu.com>
46370
46371 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46372 present, "(memdisk)/boot/grub" becomes the default prefix.
46373
46374 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46375 a memdisk tarball with all the modules. Add --overlay=DIR option that
46376 allows users to overlay additional files into the image.
46377
46378 2008-01-23 Robert Millan <rmh@aybabtu.com>
46379
46380 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46381 and `machine/memory.h'.
46382 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46383 (_multiboot_mod_SOURCES): New variable.
46384 (_multiboot_mod_CFLAGS): Likewise.
46385 (_multiboot_mod_LDFLAGS): Likewise.
46386 (multiboot_mod_SOURCES): Likewise.
46387 (multiboot_mod_CFLAGS): Likewise.
46388 (multiboot_mod_LDFLAGS): Likewise.
46389
46390 * include/grub/i386/ieee1275/loader.h: New file.
46391
46392 * include/grub/i386/ieee1275/machine.h: Likewise.
46393
46394 * include/grub/i386/ieee1275/memory.h: Likewise.
46395
46396 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46397 variable declaration.
46398 (grub_os_area_size): Likewise.
46399
46400 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46401 (grub_lower_mem, grub_upper_mem): New variables.
46402 (grub_stop_floppy): New function (just to make
46403 grub_multiboot2_real_boot() happy).
46404
46405 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46406 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46407 (grub_stop): New function.
46408 Include `"../realmode.S"' and `"../loader.S"'.
46409
46410 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46411 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46412
46413 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46414 rely on grub_multiboot2_real_boot() for final boot.
46415
46416 2008-01-22 Robert Millan <rmh@aybabtu.com>
46417
46418 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46419 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46420 device that doesn't look like an SD card.
46421 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46422 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46423 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46424 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46425 found.
46426
46427 2008-01-22 Robert Millan <rmh@aybabtu.com>
46428
46429 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46430 avoid claiming over our own code.
46431
46432 2008-01-22 Bean <bean123ch@gmail.com>
46433
46434 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46435 (jpeg_mod_SOURCES): New variable.
46436 (jpeg_mod_CFLAGS): Likewise.
46437 (jpeg_mod_LDFLAGS): Likewise.
46438
46439 * video/readers/jpeg.c : New file.
46440
46441 2008-01-22 Bean <bean123ch@gmail.com>
46442
46443 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46444 there are no more items.
46445
46446 2008-01-21 Robert Millan <rmh@aybabtu.com>
46447
46448 * kern/mm.c (grub_mm_init_region): Improve debug message.
46449
46450 2008-01-21 Robert Millan <rmh@aybabtu.com>
46451
46452 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46453 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46454 address.
46455 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46456 a C macro.
46457 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46458 Indicates start of upper memory.
46459 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46460 (generate_image): Abort when image size is big enough to corrupt
46461 upper memory.
46462
46463 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46464 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46465 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46466 instead of hardcoding 0xA0000.
46467 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46468 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46469 instead of hardcoding 0xA0000.
46470
46471 2008-01-21 Robert Millan <rmh@aybabtu.com>
46472
46473 * disk/memdisk.c (memdisk_size): New variable.
46474 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46475 `memdisk_size'.
46476 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46477 image to dynamic memory.
46478 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46479 `memdisk_size'. Free memdisk block.
46480
46481 2008-01-21 Robert Millan <rmh@aybabtu.com>
46482
46483 Fix detection of very small filesystems (like tar).
46484
46485 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46486 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46487 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46488 a problem with this disk).
46489
46490 2008-01-21 Robert Millan <rmh@aybabtu.com>
46491
46492 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46493 on grub_biosdisk_rw_standard() error.
46494
46495 2008-01-21 Robert Millan <rmh@aybabtu.com>
46496
46497 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46498 recent changes.
46499 * kern/elf.c: Likewise.
46500 * kern/ieee1275/ieee1275.c: Likewise.
46501 * kern/powerpc/ieee1275/openfw.c: Likewise.
46502 * term/ieee1275/ofconsole.c: Likewise.
46503
46504 2008-01-21 Robert Millan <rmh@aybabtu.com>
46505
46506 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46507
46508 * include/grub/kernel.h (grub_arch_memdisk_addr)
46509 (grub_arch_memdisk_size): Moved from here ...
46510
46511 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46512 (grub_arch_memdisk_size): ... to here.
46513
46514 2008-01-21 Robert Millan <rmh@aybabtu.com>
46515
46516 Mostly based on bugfix from Bean.
46517
46518 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46519 attribute with hook() parameter.
46520 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46521 declaration.
46522 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46523 attribute with hook() parameter.
46524 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46525 declaration.
46526
46527 2008-01-21 Robert Millan <rmh@aybabtu.com>
46528
46529 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46530 (pkglib_MODULES): Add `memdisk.mod'.
46531 (memdisk_mod_SOURCES): New variable.
46532 (memdisk_mod_CFLAGS): Likewise.
46533 (memdisk_mod_LDFLAGS): Likewise.
46534
46535 * disk/memdisk.c: New file.
46536
46537 * include/grub/disk.h (grub_disk_dev_id): Add
46538 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46539
46540 * include/grub/i386/pc/kernel.h
46541 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46542 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46543 (grub_kernel_image_size): New variable declaration.
46544 (grub_total_module_size): Likewise.
46545 (grub_memdisk_image_size): Likewise.
46546
46547 * include/grub/i386/pc/memory.h
46548 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46549
46550 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46551 (grub_arch_memdisk_addr): New variable declaration.
46552 (grub_arch_memdisk_size): Likewise.
46553
46554 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46555 (grub_arch_memdisk_size): Likewise.
46556
46557 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46558 (codestart): Replace hardcoded `0x100000' with
46559 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46560
46561 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46562 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46563 not NULL, append the contents of the file it refers to, at the end of
46564 the compressed kernel image. Initialize `grub_memdisk_image_size'
46565 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46566 (options): Add "memdisk"|'m' option.
46567 (main): Parse --memdisk|-m option, and pass user-provided path as
46568 parameter to generate_image().
46569
46570 2008-01-20 Robert Millan <rmh@aybabtu.com>
46571
46572 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46573 grub_dprintf() calls from here ...
46574 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46575
46576 2008-01-20 Robert Millan <rmh@aybabtu.com>
46577
46578 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46579
46580 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46581 declaration.
46582 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46583 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46584 `GRUB_IEEE1275_FLAG_REAL_MODE'.
46585 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
46586 property).
46587 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46588 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46589
46590 2008-01-19 Robert Millan <rmh@aybabtu.com>
46591
46592 Get rid of confusing function (superseded by
46593 `grub_ieee1275_get_integer_property')
46594 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46595 prototype.
46596 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46597 function.
46598 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46599 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
46600 in native endianness from grub_ieee1275_get_integer_property().
46601
46602 2008-01-19 Robert Millan <rmh@aybabtu.com>
46603
46604 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46605 command after "shut-down", since implementations differ on which
46606 the command for halt is.
46607
46608 2008-01-19 Robert Millan <rmh@aybabtu.com>
46609
46610 * include/grub/i386/linuxbios/console.h: Add header protection.
46611 (grub_keyboard_controller_init): New function prototype.
46612 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46613 (KEYBOARD_COMMAND_READ): Likewise.
46614 (KEYBOARD_COMMAND_WRITE): Likewise.
46615 (KEYBOARD_SCANCODE_SET1): Likewise.
46616 (grub_keyboard_controller_write): New function.
46617 (grub_keyboard_controller_read): Likewise.
46618 (grub_keyboard_controller_init): Likewise.
46619
46620 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46621 (grub_console_init): On coreboot/LinuxBIOS, call
46622 grub_keyboard_controller_init().
46623
46624 2008-01-19 Robert Millan <rmh@aybabtu.com>
46625
46626 PowerPC changes provided by Pavel Roskin.
46627
46628 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46629 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46630 don't rely on cmain() doing it.
46631 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46632 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46633
46634 2008-01-16 Robert Millan <rmh@aybabtu.com>
46635
46636 * include/grub/i386/linuxbios/memory.h
46637 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46638 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46639 receive `table_header' as argument. Instead, probe for it in the
46640 known memory ranges where it can be present.
46641 (grub_available_iterate): Do not pass a fixed `table_header' address
46642 to grub_linuxbios_table_iterate().
46643
46644 2008-01-15 Robert Millan <rmh@aybabtu.com>
46645
46646 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46647 * conf/i386-ieee1275.rmk: New file.
46648 * include/grub/i386/ieee1275/console.h: Likewise.
46649 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46650 * include/grub/i386/ieee1275/kernel.h: Likewise.
46651 * include/grub/i386/ieee1275/time.h: Likewise.
46652 * kern/i386/ieee1275/init.c: Likewise.
46653 * kern/i386/ieee1275/startup.S: Likewise.
46654
46655 2008-01-15 Robert Millan <rmh@aybabtu.com>
46656
46657 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46658 when pointers are 32-bit (but still do set it to one when they are
46659 64-bit).
46660
46661 2008-01-15 Robert Millan <rmh@aybabtu.com>
46662
46663 * include/grub/ieee1275/ieee1275.h
46664 (grub_ieee1275_get_integer_property): New function prototype.
46665
46666 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46667 (grub_ieee1275_get_integer_property): New function. Wraps around
46668 grub_ieee1275_get_property() to handle endianness.
46669
46670 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46671 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
46672 where appropriate.
46673 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46674 (grub_map): Likewise.
46675 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46676
46677 2008-01-15 Bean <bean123ch@gmail.com>
46678
46679 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46680 (grub_script_execute_cmdline): Reset grub_errno.
46681
46682 * normal/main.c (read_config_file): Reset grub_errno.
46683
46684 * normal/parse.y (script_init): New.
46685 (script): Move function and menuentry here.
46686 (delimiter): New.
46687 (command): Add delimiter at the end of command.
46688 (commands): Adjust to match the new command.
46689 (commandblock): Remove grub_script_lexer_record_start.
46690 (menuentry): Add grub_script_lexer_record_start, use the new commands.
46691 (if): Use the new commands.
46692
46693 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46694
46695 2008-01-15 Robert Millan <rmh@aybabtu.com>
46696
46697 * normal/menu.c (run_menu): Move timeout message from here ...
46698 (print_timeout): ... to here.
46699 (run_menu): Use print_timeout() once during initial draw to print
46700 the whole message, and again in every clock tick to update only
46701 the number of seconds.
46702
46703 2008-01-15 Robert Millan <rmh@aybabtu.com>
46704
46705 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46706 actual size of `available' from grub_ieee1275_get_property(), and
46707 restrict parsing to that bound.
46708
46709 2008-01-15 Christian Franke <franke@computer.org>
46710
46711 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46712 (argp_program_version): Remove variable.
46713 (argp_program_bug_address): Likewise.
46714 (options): Convert from struct argp_option to struct option.
46715 (struct arguments): Remove.
46716 (parse_opt): Remove.
46717 (usage): New function.
46718 (main): Replace struct args members by simple variables.
46719 Replace argp_parse() by getopt_long().
46720 Add switch to evaluate options.
46721 Add missing "(...)" around root_dev in prefix string.
46722
46723 2008-01-14 Robert Millan <rmh@aybabtu.com>
46724
46725 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46726 for grub_ieee1275_exit(), in order to improve portability.
46727
46728 2008-01-14 Robert Millan <rmh@aybabtu.com>
46729
46730 * util/grub.d/10_linux.in (prefix): Define.
46731 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46732
46733 2008-01-13 Pavel Roskin <proski@gnu.org>
46734
46735 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46736 grub_errno if no errors have been detected.
46737
46738 2008-01-12 Robert Millan <rmh@aybabtu.com>
46739
46740 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46741 (grub_util_get_dev_abstraction): New function prototype.
46742
46743 * util/getroot.c: Include `<grub/util/getroot.h>'
46744 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46745 (grub_util_get_dev_abstraction): ... here (new function).
46746
46747 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46748 `PRINT_ABSTRACTION'.
46749 (probe): Probe for abstraction type when requested.
46750 (main): Understand `--target=abstraction'.
46751
46752 * util/i386/efi/grub-install.in: Add abstraction module to core
46753 image when it is found to be necessary.
46754 * util/i386/pc/grub-install.in: Likewise.
46755 * util/powerpc/ieee1275/grub-install.in: Likewise.
46756
46757 * util/update-grub_lib.in (font_path): Return system path without
46758 converting to GRUB path.
46759 * util/update-grub.in: Convert system path returned by font_path()
46760 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46761 abstraction module is needed for loading fonts (if any). Export
46762 that as `GRUB_PRELOAD_MODULES'.
46763 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46764 insmod commands).
46765
46766 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46767
46768 Remove some unused code from reiserfs.
46769
46770 * fs/reiserfs.c (struct grub_reiserfs_key)
46771 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46772 (struct grub_reiserfs_node_body): Removed.
46773 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46774 Likewise.
46775 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46776 Likewise.
46777 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46778 Likewise.
46779 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46780 Likewise.
46781 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46782 Likewise.
46783 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46784 Likewise.
46785 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46786 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46787 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46788
46789 2008-01-10 Robert Millan <rmh@aybabtu.com>
46790
46791 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46792 Determines if a file is garbage left by packaging systems, etc.
46793 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46794 for processing /etc/grub.d scripts.
46795 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46796 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46797 as a condition for processing Linux images.
46798
46799 2008-01-10 Pavel Roskin <proski@gnu.org>
46800
46801 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46802 to compile reiserfs.c on PowerPC.
46803
46804 2008-01-10 Robert Millan <rmh@aybabtu.com>
46805
46806 * kern/device.c (grub_device_iterate): Do not abort device iteration
46807 when one of the devices cannot be opened.
46808 * kern/disk.c (grub_disk_open): Do not account previous failures of
46809 unrelated functions when grub_errno is checked for.
46810
46811 2008-01-08 Robert Millan <rmh@aybabtu.com>
46812
46813 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46814 `! grub_linux_is_bzimage', change order of address comparison to make
46815 it more intuitive, and improve "too big zImage" error message.
46816
46817 2008-01-08 Robert Millan <rmh@aybabtu.com>
46818
46819 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46820 `$(update-grub_DATA)'.
46821 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46822 targets.
46823
46824 2008-01-07 Robert Millan <rmh@aybabtu.com>
46825
46826 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46827 which instruction is modified by grub-setup during installation
46828 (since it wasn't obvious by only looking at this file).
46829
46830 2008-01-07 Robert Millan <rmh@aybabtu.com>
46831
46832 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46833 listing actual TODO items.
46834
46835 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46836
46837 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46838 correctly.
46839 (grub_reiserfs_get_key_offset): Likewise.
46840 (grub_reiserfs_set_key_offset): Likewise.
46841 (grub_reiserfs_set_key_type): Likewise.
46842 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
46843
46844 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46845 better to remove the bitfield version completely.
46846
46847 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46848
46849 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46850 allocated from the heap, due to the fshelp implementation.
46851 (grub_reiserfs_dir): Free NODE, due to the same reason.
46852
46853 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46854
46855 Mostly from Vincent Pelletier:
46856
46857 * fs/reiserfs.c: New file.
46858
46859 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46860 (reiserfs_mod_SOURCES): New variable.
46861 (reiserfs_mod_CFLAGS): Likewise.
46862 (reiserfs_mod_LDFLAGS): Likewise.
46863
46864 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46865 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46866 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46867 normal/color.c.
46868
46869 2008-01-06 Robert Millan <rmh@aybabtu.com>
46870
46871 * normal/color.c: Remove `<grub/env.h>'.
46872
46873 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46874
46875 * include/grub/normal.h: Include <grub/env.h>.
46876
46877 2008-01-05 Robert Millan <rmh@aybabtu.com>
46878
46879 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46880 usage example with `(hd0,1)'.
46881 Reported by Samuel Thibault.
46882
46883 2008-01-05 Robert Millan <rmh@aybabtu.com>
46884
46885 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46886 (grub_linux_boot_zimage): Rename to ...
46887 (grub_linux_boot): ... this.
46888 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46889 (grub_linux_boot_zimage): Conditionalize zImage copy.
46890
46891 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46892 (grub_linux_boot_bzimage): Remove prototype.
46893 (grub_linux_boot_zimage): Rename to ...
46894 (grub_linux_boot): ... this.
46895
46896 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46897 (grub_linux_boot): Remove function.
46898
46899 2008-01-05 Robert Millan <rmh@aybabtu.com>
46900
46901 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46902 (grub_env_write_color_highlight): Likewise.
46903 (grub_wait_after_message): Likewise.
46904
46905 * normal/color.c: New file.
46906
46907 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46908 (normal_mod_DEPENDENCIES): Likewise.
46909
46910 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46911 (normal_mod_DEPENDENCIES): Likewise.
46912
46913 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46914 (normal_mod_DEPENDENCIES): Likewise.
46915
46916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46917 (normal_mod_DEPENDENCIES): Likewise.
46918
46919 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46920 for waiting after a message is printed.
46921 * normal/main.c (read_config_file): Likewise.
46922 (grub_normal_init): Register grub_env_write_color_normal() and
46923 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46924 `color_highlight' variables as global.
46925
46926 * normal/menu.c (grub_wait_after_message): New function.
46927 (grub_color_menu_normal): New variable. Replaces ...
46928 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46929 (grub_color_menu_highlight): New variable. Replaces ...
46930 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46931 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46932 `GRUB_TERM_COLOR_STANDARD'.
46933 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46934 `normal_code' and `highlight_code' to `old_color_normal' and
46935 `old_color_highlight', respectively.
46936 (grub_menu_init_page): Update colors when drawing the menu, based on
46937 `menu_color_normal' and `menu_color_highlight' variables.
46938 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46939 a message is printed.
46940
46941 2008-01-05 Robert Millan <rmh@aybabtu.com>
46942
46943 * kern/env.c (grub_env_context_open): Propagate hooks for global
46944 variables to new context.
46945
46946 * kern/main.c (grub_set_root_dev): Export `root' variable.
46947
46948 2008-01-05 Robert Millan <rmh@aybabtu.com>
46949
46950 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
46951 discs unconditionally, since udev and others have options to provide
46952 them.
46953
46954 2008-01-05 Robert Millan <rmh@aybabtu.com>
46955
46956 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46957
46958 2008-01-04 Christian Franke <franke@computer.org>
46959
46960 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46961 of eisa_mmap.
46962
46963 2008-01-03 Pavel Roskin <proski@gnu.org>
46964
46965 * kern/i386/linuxbios/init.c: Put "void" to all function
46966 declarations with no arguments.
46967 * kern/powerpc/ieee1275/init.c: Likewise.
46968 * term/i386/pc/at_keyboard.c: Likewise.
46969 * term/i386/pc/vga_text.c: Likewise.
46970 * util/grub-mkdevicemap.c: Likewise.
46971
46972 2008-01-02 Robert Millan <rmh@aybabtu.com>
46973
46974 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46975 message when loaded image is out of bounds.
46976 (grub_multiboot_load_elf64): Likewise.
46977
46978 2008-01-02 Pavel Roskin <proski@gnu.org>
46979
46980 * util/grub.d/10_linux.in: Try version without ".old" when
46981 looking for initrd. It's better to use initrd from the newer
46982 kernel of the same version than no initrd at all.
46983
46984 2008-01-01 Robert Millan <rmh@aybabtu.com>
46985
46986 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46987
46988 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46989
46990 * include/grub/video.h: Added grub_video_unmap_color and
46991 grub_video_get_active_render_target.
46992 (grub_video_adapter): Added unmap_color and get_active_render_target.
46993
46994 * video/video.c: Added grub_video_unmap_color and
46995 grub_video_get_active_render_target.
46996 (grub_video_get_info): Changed method to accept NULL pointer as an
46997 argument to allow detection of active video adapter.
46998
46999 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
47000 grub_video_vbe_unmap_color_int.
47001 Added grub_video_vbe_unmap_color and
47002 grub_video_vbe_get_active_render_target.
47003 (grub_video_vbe_adapter): Added unmap_color and
47004 get_active_render_target.
47005
47006 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
47007 with grub_video_vbe_unmap_color_int.
47008
47009 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
47010 (DEFAULT_NORMAL_COLOR): Likewise.
47011 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
47012 (DEFAULT_FG_COLOR): Removed.
47013 (DEFAULT_BG_COLOR): Likewise.
47014 (DEFAULT_CURSOR_COLOR): Changed value.
47015 (grub_virtual_screen): Added standard_color_setting,
47016 normal_color_setting, highlight_color_setting and term_color.
47017 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
47018 (bitmap_width): Added.
47019 (bitmap_height): Likewise.
47020 (bitmap): Likewise.
47021 (set_term_color): Likewise.
47022 (grub_virtual_screen_setup): Changed to use new terminal coloring
47023 settings.
47024 (grub_gfxterm_init): Added init for bitmap.
47025 (grub_gfxterm_fini): Added destroy for bitmap.
47026 (redraw_screen_rect): Updated to use background bitmap and new
47027 terminal coloring.
47028 (scroll_up): Added optimization for case when there is no bitmap.
47029 (grub_gfxterm_cls): Fixed to use correct background color.
47030 (grub_virtual_screen_setcolorstate): Changed to use new terminal
47031 coloring.
47032 (grub_virtual_screen_setcolor): Likewise.
47033 (grub_virtual_screen_getcolor): Added.
47034 (grub_gfxterm_background_image_cmd): Likewise.
47035 (grub_video_term): Added setcolor and getcolor.
47036 (MOD_INIT): Added registration of background_image command.
47037 (MOD_TERM): Added unregistration for background_image command.
47038
47039 2007-12-30 Pavel Roskin <proski@gnu.org>
47040
47041 * loader/multiboot_loader.c: Fix multiboot command
47042 unregistration. Fix all typos in the word "multiboot".
47043
47044 2007-12-29 Pavel Roskin <proski@gnu.org>
47045
47046 * util/grub.d/10_linux.in: Refactor search for initrd. Add
47047 support for initrd names used in Fedora.
47048
47049 2007-12-26 Bean <bean123ch@gmail.com>
47050
47051 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
47052 (cpio_mod_SOURCES): New variable.
47053 (cpio_mod_CFLAGS): Likewise.
47054 (cpio_mod_LDFLAGS): Likewise.
47055
47056 * fs/cpio.c: New file.
47057
47058 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
47059
47060 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
47061
47062 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
47063
47064 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47065
47066 2007-12-25 Robert Millan <rmh@aybabtu.com>
47067
47068 * include/grub/term.h (struct grub_term): Add `getcolor' function.
47069 (grub_getcolor): New function.
47070
47071 * kern/term.c (grub_getcolor): New function.
47072 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
47073 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
47074 (print_entry): Set normal and highlight colors to
47075 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
47076 respectively, before printing and restore them to old
47077 values afterwards.
47078 (grub_menu_init_page): Likewise. Fill an additional colored space
47079 that would otherwise be left blank.
47080
47081 * term/efi/console.c (grub_console_getcolor): New function.
47082 (struct grub_console_term.getcolor): New variable.
47083 * term/i386/pc/console.c (grub_console_getcolor): New function.
47084 (struct grub_console_term.getcolor): New variable.
47085 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
47086 (struct grub_console_term.getcolor): New variable.
47087
47088 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
47089 (struct grub_console_term.setcolor): Remove variable.
47090 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
47091 (struct grub_console_term.setcolor): Remove variable.
47092 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
47093 (struct grub_console_term.setcolor): Remove variable.
47094 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
47095 (struct grub_console_term.setcolor): Remove variable.
47096
47097 2007-12-25 Robert Millan <rmh@aybabtu.com>
47098
47099 * configure.ac: Search for possible unifont.hex locations, and
47100 define UNIFONT_HEX if found.
47101
47102 * Makefile.in (UNIFONT_HEX): Define variable.
47103 (DATA): Rename to ...
47104 (PKGLIB): ... this. Update all users.
47105 (PKGDATA): New variable.
47106 (pkgdata_IMAGES): Rename to ...
47107 (pkglib_IMAGES): ... this. Update all users.
47108 (pkgdata_MODULES): Rename to ...
47109 (pkglib_MODULES): ... this. Update all users.
47110 (pkgdata_PROGRAMS): Rename to ...
47111 (pkglib_PROGRAMS): ... this. Update all users.
47112 (pkgdata_DATA): Rename to ...
47113 (pkglib_DATA): ... this. Update all users.
47114 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
47115 (unicode.pff, ascii.pff): New rules.
47116 (all-local): Add `$(PKGDATA)' dependency.
47117 (install-local): Process `$(PKGDATA)'.
47118
47119 * util/update-grub_lib.in (font_path): Search for *.pff files in
47120 a few more locations, including `${pkgdata}'.
47121
47122 2007-12-23 Robert Millan <rmh@aybabtu.com>
47123
47124 Patch from Bean <bean123ch@gmail.com>:
47125 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
47126 `size'.
47127
47128 2007-12-21 Bean <bean123ch@gmail.com>
47129
47130 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
47131 (ntfscomp_mod_SOURCES): New variable.
47132 (ntfscomp_mod_CFLAGS): Likewise.
47133 (ntfscomp_mod_LDFLAGS): Likewise.
47134
47135 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
47136 (grub_probe_SOURCES): Likewise.
47137 (grub_emu_SOURCES): Likewise.
47138
47139 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47140 (grub_emu_SOURCES): Likewise.
47141
47142 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47143 (grub_emu_SOURCES): Likewise.
47144
47145 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47146 (grub_emu_SOURCES): Likewise.
47147
47148 * fs/ntfs.c (grub_ntfscomp_func): New variable.
47149 (read_run_list): Renamed to grub_ntfs_read_run_list.
47150 (decomp_nextvcn): Moved to ntfscomp.c.
47151 (decomp_getch): Likewise.
47152 (decomp_get16): Likewise.
47153 (decomp_block): Likewise.
47154 (read_block): Likewise.
47155 (read_data): Partially moved to ntfscomp.c.
47156 (fixup): Change unsigned to grub_uint16_t.
47157 (read_mft): Change unsigned long to grub_uint32_t.
47158 (read_attr): Likewise.
47159 (read_data): Likewise.
47160 (read_run_data): Likewise.
47161 (read_run_list): Likewise.
47162 (read_mft): Likewise.
47163
47164 * fs/ntfscomp.c: New file.
47165
47166 * include/grub/ntfs.h: New file.
47167
47168 2007-12-16 Robert Millan <rmh@aybabtu.com>
47169
47170 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
47171 IDE disk check, since Linux is known to support 20 IDE disks.
47172 Reported by Colin Watson.
47173
47174 2007-12-15 Bean <bean123ch@gmail.com>
47175
47176 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
47177 (lnxboot_img_SOURCES): New variable.
47178 (lnxboot_img_ASFLAGS): Likewise.
47179 (lnxboot_img_LDFLAGS): Likewise.
47180
47181 * boot/i386/pc/lnxboot.S: New file.
47182
47183 2007-11-24 Pavel Roskin <proski@gnu.org>
47184
47185 * configure.ac: Test if '--build-id=none' is supported by the
47186 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
47187 objcopy to generate incorrect binary files (binutils
47188 2.17.50.0.18-1 as shipped by Fedora 8).
47189 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
47190 linking, so that build ID doesn't break the test.
47191
47192 2007-11-24 Pavel Roskin <proski@gnu.org>
47193
47194 * include/grub/i386/time.h: use "void" in the argument list
47195 of grub_cpu_idle().
47196 * include/grub/powerpc/time.h: Likewise.
47197 * include/grub/sparc64/time.h: Likewise.
47198
47199 2007-11-18 Christian Franke <franke@computer.org>
47200
47201 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
47202 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
47203 This fixes the problem that function keys did not work in grub-emu.
47204
47205 2007-11-18 Christian Franke <franke@computer.org>
47206
47207 * disk/host.c (grub_host_open): Remove attribute unused from
47208 name parameter. Add check for "host". This fixes the problem
47209 that grub-emu does not find partitions.
47210
47211 2007-11-18 Christian Franke <franke@computer.org>
47212
47213 * util/hostfs.c (is_dir): New function.
47214 (grub_hostfs_dir): Handle missing dirent.d_type case.
47215 (grub_hostfs_read): Add missing fseek().
47216 (grub_hostfs_label): Clear label pointer. This fixes a crash
47217 of grub-emu on "ls (host)".
47218
47219 2007-11-18 Christian Franke <franke@computer.org>
47220
47221 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
47222 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
47223 to 64 bit boundary by default.
47224
47225 2007-11-18 Bean <bean123ch@gmail.com>
47226
47227 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
47228 (hexdump_mod_SOURCES): New variable.
47229 (hexdump_mod_CFLAGS): Likewise.
47230 (hexdump_mod_LDFLAGS): Likewise.
47231
47232 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47233
47234 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47235
47236 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47237
47238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47239
47240 * include/grub/hexdump.h: New file.
47241
47242 * commands/hexdump.c: New file.
47243
47244 2007-11-10 Robert Millan <rmh@aybabtu.com>
47245
47246 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47247 in grub_outb() calls.
47248 (beep_on): Likewise.
47249
47250 2007-11-10 Christian Franke <franke@computer.org>
47251
47252 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47253 (grub_menu_run): Likewise.
47254
47255 2007-11-10 Robert Millan <rmh@aybabtu.com>
47256
47257 * include/grub/i386/efi/machine.h: New file.
47258 * include/grub/i386/linuxbios/machine.h: Likewise.
47259 * include/grub/i386/pc/machine.h: Likewise.
47260 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47261 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47262
47263 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47264 (serial_hw_io_addr): New variable.
47265 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47266 instead of `(unsigned short *) 0x400'.
47267
47268 2007-11-10 Bean <bean123ch@gmail.com>
47269
47270 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47271
47272 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47273
47274 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47275 (vga_mod_SOURCES): Added.
47276 (vga_mod_CFLAGS): Likewise.
47277 (vga_mod_LDFLAGS): Likewise.
47278
47279 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47280 grub_outb() calls.
47281 (set_map_mask): Likewise.
47282 (set_read_map): Likewise.
47283 (set_read_address): Likewise.
47284 (vga_font): Removed variable.
47285 (get_vga_glyph): Removed function.
47286 (invalidate_char): Likewise.
47287 (write_char): Changed to use grub_font_get_glyph() for font
47288 information.
47289 (grub_vga_putchar): Likewise.
47290 (grub_vga_getcharwidth): Likewise.
47291
47292 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47293
47294 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47295 flags.
47296 (pxeboot_img_LDFLAGS): Likewise.
47297 (diskboot_img_LDFLAGS): Likewise.
47298 (kernel_img_LDFLAGS): Likewise.
47299
47300 2007-11-06 Robert Millan <rmh@aybabtu.com>
47301
47302 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47303 in grub_outb() calls.
47304 (serial_hw_init): Likewise.
47305
47306 2007-11-05 Robert Millan <rmh@aybabtu.com>
47307
47308 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47309 spaces. Skip non-regular files.
47310
47311 2007-11-05 Robert Millan <rmh@aybabtu.com>
47312
47313 * kern/disk.c (grub_disk_firmware_fini)
47314 (grub_disk_firmware_is_tainted): New variables.
47315
47316 * include/grub/disk.h (grub_disk_firmware_fini)
47317 (grub_disk_firmware_is_tainted): Likewise.
47318
47319 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47320 (grub_disk_biosdisk_fini): ... to here.
47321 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47322 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47323 is set. Register grub_disk_biosdisk_fini() in
47324 `grub_disk_firmware_fini'.
47325
47326 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47327 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47328 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47329 to finish existing firmware disk interface.
47330
47331 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47332 (ata_mod_SOURCES): New variable.
47333 (ata_mod_CFLAGS): Likewise.
47334 (ata_mod_LDFLAGS): Likewise.
47335
47336 2007-11-05 Robert Millan <rmh@aybabtu.com>
47337
47338 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47339 (grub_ata_wait): Reimplement using grub_millisleep().
47340
47341 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47342 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47343
47344 2007-11-03 Marco Gerards <marco@gnu.org>
47345
47346 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47347 (CRTC_ADDR_PORT): New macro.
47348 (CRTC_DATA_PORT): Likewise.
47349 (CRTC_CURSOR): Likewise.
47350 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47351 (CRTC_CURSOR_ADDR_LOW): Likewise.
47352 (update_cursor): New function.
47353 (grub_console_real_putchar): Call `update_cursor'.
47354 (grub_console_gotoxy): Likewise.
47355 (grub_console_cls): Set the default color when clearing the
47356 screen.
47357 (grub_console_setcursor): Implemented.
47358
47359 2007-11-03 Marco Gerards <marco@gnu.org>
47360
47361 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47362 become activate.
47363 (grub_ata_pio_write): Likewise.
47364
47365 (grub_atapi_identify): Wait after issuing an ATA command.
47366 (grub_atapi_packet): Likewise.
47367 (grub_ata_identify): Likewise.
47368 (grub_ata_readwrite): Likewise.
47369
47370 2007-11-03 Marco Gerards <marco@gnu.org>
47371
47372 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47373 (grub_ata_pio_write): Likewise.
47374 (grub_ata_readwrite): Use `grub_error', instead of
47375 returning `grub_errno'.
47376
47377 2007-11-03 Marco Gerards <marco@gnu.org>
47378
47379 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47380 grub_ata_pio_write once for every single sector, instead of for
47381 multiple sectors.
47382
47383 2007-10-31 Robert Millan <rmh@aybabtu.com>
47384
47385 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47386
47387 * conf/i386-linuxbios.rmk: New file.
47388
47389 * kern/i386/pc/hardware.c: Likewise.
47390 * term/i386/pc/at_keyboard.c: Likewise.
47391 * term/i386/pc/vga_text.c: Likewise.
47392
47393 * include/grub/i386/linuxbios/boot.h: Likewise.
47394 * include/grub/i386/linuxbios/console.h: Likewise.
47395 * include/grub/i386/linuxbios/init.h: Likewise.
47396 * include/grub/i386/linuxbios/kernel.h: Likewise.
47397 * include/grub/i386/linuxbios/loader.h: Likewise.
47398 * include/grub/i386/linuxbios/memory.h: Likewise.
47399 * include/grub/i386/linuxbios/serial.h: Likewise.
47400 * include/grub/i386/linuxbios/time.h: Likewise.
47401
47402 * kern/i386/linuxbios/init.c: Likewise.
47403 * kern/i386/linuxbios/startup.S: Likewise.
47404 * kern/i386/linuxbios/table.c: Likewise.
47405
47406 2007-10-31 Marco Gerards <marco@gnu.org>
47407
47408 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47409 (ata_mod_SOURCES): New variable.
47410 (ata_mod_CFLAGS): Likewise.
47411 (ata_mod_LDFLAGS): Likewise.
47412
47413 * disk/ata.c: New file.
47414
47415 * include/grub/disk.h (grub_disk_dev_id): Add
47416 `GRUB_DISK_DEV_ATA_ID'.
47417
47418 2007-10-31 Robert Millan <rmh@aybabtu.com>
47419
47420 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47421 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47422
47423 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47424 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47425
47426 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47427 `<grub/types.h>'.
47428
47429 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47430
47431 2007-10-27 Robert Millan <rmh@aybabtu.com>
47432
47433 * include/grub/types.h (ULONG_MAX): Define macro.
47434
47435 2007-10-22 Robert Millan <rmh@aybabtu.com>
47436
47437 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47438 `"../realmode.S"'.
47439 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47440
47441 2007-10-22 Robert Millan <rmh@aybabtu.com>
47442
47443 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47444 (pkgdata_MODULES): Add `biosdisk.mod'.
47445 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47446 variables.
47447
47448 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47449 (grub_biosdisk_init): Replace with ...
47450 (GRUB_MOD_INIT(biosdisk)): ... this.
47451 (grub_biosdisk_fini): Replace with ...
47452 (GRUB_MOD_FINI(biosdisk)): ... this.
47453
47454 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47455 (grub_machine_init): Remove call to grub_biosdisk_init().
47456 (grub_machine_fini): Remove call to grub_machine_fini().
47457
47458 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47459
47460 2007-10-22 Robert Millan <rmh@aybabtu.com>
47461
47462 * include/grub/time.h: New file.
47463 * include/grub/i386/time.h: Likewise.
47464 * include/grub/powerpc/time.h: Likewise.
47465 * include/grub/sparc64/time.h: Likewise.
47466
47467 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47468 instances to ...
47469 (KERNEL_MACHINE_TIME_HEADER): ... this.
47470 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47471 instances to ...
47472 (KERNEL_MACHINE_TIME_HEADER): ... this.
47473 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47474 instances to ...
47475 (KERNEL_MACHINE_TIME_HEADER): ... this.
47476
47477 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47478 (grub_millisleep): New function.
47479 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47480 (grub_millisleep): New function.
47481 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47482 Remove `grub/machine/time.h' include.
47483 (grub_millisleep): New function.
47484 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47485 Remove `grub/machine/time.h' include.
47486 (grub_millisleep): New function.
47487
47488 * include/grub/misc.h (grub_div_roundup): New function.
47489
47490 * kern/misc.c: Include `<grub/time.h>'.
47491 (grub_millisleep_generic): New function.
47492
47493 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47494 Add `time.h'.
47495 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47496 Add `time.h'.
47497 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47498 `machine/time.h'. Add `time.h'.
47499 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47500
47501 2007-10-21 Robert Millan <rmh@aybabtu.com>
47502
47503 * include/grub/misc.h (grub_max): New function.
47504
47505 2007-10-21 Robert Millan <rmh@aybabtu.com>
47506
47507 * util/misc.c (grub_util_info): Call fflush() before returning.
47508
47509 2007-10-20 Robert Millan <rmh@aybabtu.com>
47510
47511 * genmk.rb (Image): Copy `extra_flags' from here ...
47512 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47513
47514 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47515 to `argc' and `args' arguments.
47516
47517 2007-10-17 Robert Millan <rmh@aybabtu.com>
47518
47519 * kern/i386/loader.S: New file.
47520
47521 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47522 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47523 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47524 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47525 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47526 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47527 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47528 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47529 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47530 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47531 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47532 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47533 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47534 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47535
47536 * kern/i386/realmode.S: New file.
47537
47538 * kern/i386/pc/startup.S (protstack): Moved from here ...
47539 * kern/i386/realmode.S (protstack)... to here.
47540 * kern/i386/pc/startup.S (gdt): Moved from here ...
47541 * kern/i386/realmode.S (gdt)... to here.
47542 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47543 * kern/i386/realmode.S (prot_to_real)... to here.
47544
47545 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47546 `kern/i386/realmode.S'.
47547
47548 2007-10-17 Robert Millan <rmh@aybabtu.com>
47549
47550 * include/grub/i386/loader.h: New file.
47551
47552 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47553 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47554 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47555 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47556 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47557 * include/grub/i386/loader.h (grub_linux_prot_size)
47558 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47559 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47560 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47561 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47562
47563 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47564
47565 2007-10-15 Robert Millan <rmh@aybabtu.com>
47566
47567 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47568 filesystem when dev->disk is unset.
47569 Do probe for filesystem even when dev->disk->has_partitions is set.
47570 In case a filesystem is found, always report it.
47571 In case it isn't, if dev->disk->has_partitions is set, report that
47572 a partition table was found instead of reporting that no filesystem
47573 could be identified.
47574
47575 2007-10-12 Robert Millan <rmh@aybabtu.com>
47576
47577 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47578 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47579
47580 * include/grub/types.h (grub_host_to_target16): New macro.
47581 (grub_host_to_target32): Likewise.
47582 (grub_host_to_target64): Likewise.
47583 (grub_target_to_host16): Likewise.
47584 (grub_target_to_host32): Likewise.
47585 (grub_target_to_host64): Likewise.
47586
47587 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47588 Renamed from to ...
47589 (GRUB_MOD_ALIGN): ...this. Update all users.
47590
47591 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47592 grub_host_to_target32.
47593 Replace grub_be_to_cpu32 with grub_target_to_host32.
47594 (load_modules): Likewise.
47595 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47596 Replace grub_be_to_cpu32 with grub_target_to_host32.
47597 Replace grub_cpu_to_be16 with grub_host_to_target16.
47598 Replace grub_cpu_to_be32 grub_host_to_target32.
47599
47600 2007-10-12 Robert Millan <rmh@aybabtu.com>
47601
47602 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47603 * util/elf/grub-mkimage.c: ... here.
47604
47605 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47606 `util/powerpc/ieee1275/grub-mkimage.c'.
47607
47608 2007-10-07 Robert Millan <rmh@aybabtu.com>
47609
47610 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47611 and make it easier to figure out.
47612 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47613 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47614 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47615 leave us with less than HEAP_MIN_SIZE total heap.
47616 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
47617
47618 2007-10-03 Robert Millan <rmh@aybabtu.com>
47619
47620 * include/grub/i386/io.h: New file.
47621 * commands/i386/pc/play.c (inb): Removed.
47622 (outb): Removed.
47623 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47624 with grub_outb().
47625 * term/i386/pc/serial.c (inb): Removed.
47626 (outb): Removed.
47627 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47628 with grub_outb().
47629 * term/i386/pc/vga.c (inb): Removed.
47630 (outb): Removed.
47631 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47632 with grub_outb().
47633
47634 2007-10-02 Robert Millan <rmh@aybabtu.com>
47635
47636 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47638 Reported by Marcin Kurek.
47639
47640 2007-09-07 Robert Millan <rmh@aybabtu.com>
47641
47642 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47643 SmartFirmware version updates (as released by Sven Luther), and avoid
47644 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47645 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47646 known broken.
47647
47648 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47649
47650 From Hitoshi Ozeki:
47651 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47652 when merging two regions.
47653
47654 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47655
47656 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47657 * normal/completion.c (grub_normal_do_completion): Likewise.
47658 Reported by Hitoshi Ozeki.
47659
47660 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47661
47662 Do not use devices at boot in chainloading.
47663
47664 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47665 (boot_part_addr): Likewise.
47666 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47667 with BOOT_DRIVE and BOOT_PART_ADDR.
47668 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47669 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47670
47671 2007-08-29 Robert Millan <rmh@aybabtu.com>
47672
47673 Patch from Simon Peter <dn.tlp@gmx.net>:
47674 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47675 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47676 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47677 util/i386/pc/grub-setup.c_DEPENDENCIES.
47678 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47679 util/grub-probe.c_DEPENDENCIES.
47680 * conf/powerpc-ieee1275.rmk: Likewise.
47681
47682 2007-08-28 Robert Millan <rmh@aybabtu.com>
47683
47684 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47685 to tell grub-mkdevicemap how to name devices.
47686 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47687 feature).
47688
47689 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47690 util/i386/get_disk_name.c.
47691 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47692 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47693 util/ieee1275/get_disk_name.c.
47694
47695 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47696
47697 * DISTLIST: Add util/i386/get_disk_name.c and
47698 util/ieee1275/get_disk_name.c.
47699
47700 * util/grub-mkdevicemap.c: Replace device naming logic with
47701 grub_util_get_disk_name() calls.
47702
47703 2007-08-20 Robert Millan <rmh@aybabtu.com>
47704
47705 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47706 (so that it works for both plural and singular quantities).
47707
47708 2007-08-05 Robert Millan <rmh@aybabtu.com>
47709
47710 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47711 so that [xz] isn't taken into account when determining order.
47712
47713 2007-08-02 Marco Gerards <marco@gnu.org>
47714
47715 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47716 `include/multiboot2.h', `include/grub/elfload.h',
47717 `include/multiboot.h', `include/grub/multiboot.h',
47718 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47719 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47720 `kern/elf.c', `loader/multiboot_loader.c',
47721 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47722 `loader/i386/pc/multiboot2.c',
47723 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47724 `util/i386/pc/grub-mkrescue.in'. Remove
47725 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47726 `include/grub/i386/pc/util/biosdisk.h' and
47727 `include/grub/powerpc/ieee1275/multiboot.h'.
47728
47729 2007-08-02 Bean <bean123ch@gmail.com>
47730
47731 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47732 (ntfs_mod_SOURCES): New variable.
47733 (ntfs_mod_CFLAGS): Likewise.
47734 (ntfs_mod_LDFLAGS): Likewise.
47735
47736 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47737 (grub_probe_SOURCES): Likewise.
47738 (grub_emu_SOURCES): Likewise.
47739
47740 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47741 (grub_emu_SOURCES): Likewise.
47742
47743 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47744 (grub_emu_SOURCES): Likewise.
47745
47746 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47747
47748 * fs/ntfs.c: New file.
47749
47750 2007-08-02 Bean <bean123ch@gmail.com>
47751
47752 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47753
47754 * file.h (grub_file): Likewise.
47755
47756 * fshelp.h (grub_fshelp_read_file): Likewise.
47757
47758 * util/i386/pc/grub-setup.c (setup): Likewise.
47759 (save_first_sector): Likewise.
47760 (save_blocklists): Likewise.
47761
47762 * fs/affs.c (grub_affs_read_file): Likewise.
47763
47764 * fs/ext2.c (grub_ext2_read_file): Likewise.
47765
47766 * fs/fat.c (grub_fat_read_data): Likewise.
47767
47768 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47769
47770 * fs/hfs.c (grub_hfs_read_file): Likewise.
47771
47772 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47773
47774 * fs/jfs.c (grub_jfs_read_file): Likewise.
47775
47776 * fs/minix.c (grub_minix_read_file): Likewise.
47777
47778 * fs/sfs.c (grub_sfs_read_file): Likewise.
47779
47780 * fs/ufs.c (grub_ufs_read_file): Likewise.
47781
47782 * fs/xfs.c (grub_xfs_read_file): Likewise.
47783
47784 * command/blocklist.c (read_blocklist): Likewise.
47785 (print_blocklist): Likewise.
47786
47787 2007-08-02 Marco Gerards <marco@gnu.org>
47788
47789 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47790 `util/hostfs.c'.
47791
47792 * disk/host.c: New file.
47793
47794 * util/hostfs.c: Likewise.
47795
47796 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47797 return `GRUB_ERR_BAD_FS'.
47798 * fs/sfs.c (grub_sfs_mount): Likewise.
47799 * fs/xfs.c (grub_xfs_mount): Likewise.
47800
47801 * include/grub/disk.h (enum grub_disk_dev_id): Add
47802 `GRUB_DISK_DEVICE_HOST_ID'.
47803
47804 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47805
47806 2007-07-24 Jerone Young <jerone@gmail.com>
47807
47808 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
47809 modules for compilation.
47810 * conf/powerpc-ieee1275.rmk: Likewise.
47811
47812 * include/multiboot.h: Move multiboot definitions to one file. Rename
47813 many definitions to not get grub specific.
47814 * include/multiboot2.h: Create header with multiboot 2 definitions.
47815 * include/grub/multiboot.h: Header for grub specific function
47816 prototypes and definitions.
47817 * include/grub/multiboot2.h: Likewise.
47818 * include/grub/multiboot_loader.h: Likewise.
47819 * include/grub/i386/pc/multiboot.h: Removed.
47820 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47821
47822 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47823 and 2 to allow for one multiboot and module commands.
47824 * loader/multiboot2.c: Add multiboot2 functionality.
47825 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47826 and definition names.
47827 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47828 2 functions.
47829 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47830 ieee1275 specific multiboot2 code.
47831
47832 * kern/i386/pc/startup.S: Change headers and definition names for
47833 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47834
47835 2007-07-22 Robert Millan <rmh@aybabtu.com>
47836
47837 * geninitheader.sh: Process file specified in first parameter rather
47838 than hardcoding grub_modules_init.lst.
47839 * geninit.sh: Likewise. Also, construct header name dynamically rather
47840 than hardcoding grub_modules_init.h.
47841
47842 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47843 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47844 grub_probe_init.[ch] and grub_setup_init.[ch].
47845
47846 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47847 grub_modules_init.h with grub_emu_init.h.
47848 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47849 grub_probe_init.[ch] files.
47850 * conf/i386-efi.rmk: Likewise.
47851 * conf/i386-pc.rmk: Likewise.
47852 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47853 grub_setup_init.[ch] files.
47854
47855 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47856 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47857 to initialize modules rather than a list of hardcoded functions.
47858 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47859 grub_init_all() to initialize modules rather than a list of hardcoded
47860 functions.
47861
47862 2007-07-22 Robert Millan <rmh@aybabtu.com>
47863
47864 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47865 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47866
47867 2007-07-22 Robert Millan <rmh@aybabtu.com>
47868
47869 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47870 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47871 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47872 flag when running on SmartFirmware.
47873 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47874 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47875 was set.
47876
47877 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47878 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47879 rather than decreasing it.
47880
47881 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47882 there's not enough space to do it, fail in the same way as when it
47883 can't be done because there are no partitions.
47884
47885 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47886 when nvsetenv failed.
47887
47888 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47889
47890 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47891 because this rule is automatically generated.
47892 (grub-mkrescue): Removed for the same reason as above.
47893
47894 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47895
47896 Migrate to GNU General Public License Version 3.
47897
47898 * COPYING: Replaced with the plain text version of GPLv3.
47899
47900 * config.guess: Updated from gnulib.
47901 * config.sub: Likewise.
47902
47903 * geninit.sh: Output a GPLv3 copyright notice.
47904 * geninitheader.sh: Likewise.
47905 * genmodsrc.sh: Likewise.
47906 * gensymlist.sh.in: Likewise.
47907
47908 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47909 * boot/i386/pc/diskboot.S: Likewise.
47910 * boot/i386/pc/pxeboot.S: Likewise.
47911 * commands/blocklist.c: Likewise.
47912 * commands/boot.c: Likewise.
47913 * commands/cat.c: Likewise.
47914 * commands/cmp.c: Likewise.
47915 * commands/configfile.c: Likewise.
47916 * commands/echo.c: Likewise.
47917 * commands/help.c: Likewise.
47918 * commands/ls.c: Likewise.
47919 * commands/search.c: Likewise.
47920 * commands/terminal.c: Likewise.
47921 * commands/test.c: Likewise.
47922 * commands/videotest.c: Likewise.
47923 * commands/i386/cpuid.c: Likewise.
47924 * commands/i386/pc/halt.c: Likewise.
47925 * commands/i386/pc/play.c: Likewise.
47926 * commands/i386/pc/reboot.c: Likewise.
47927 * commands/i386/pc/vbeinfo.c: Likewise.
47928 * commands/i386/pc/vbetest.c: Likewise.
47929 * commands/ieee1275/halt.c: Likewise.
47930 * commands/ieee1275/reboot.c: Likewise.
47931 * commands/ieee1275/suspend.c: Likewise.
47932 * disk/loopback.c: Likewise.
47933 * disk/lvm.c: Likewise.
47934 * disk/raid.c: Likewise.
47935 * disk/efi/efidisk.c: Likewise.
47936 * disk/i386/pc/biosdisk.c: Likewise.
47937 * disk/ieee1275/ofdisk.c: Likewise.
47938 * font/manager.c: Likewise.
47939 * fs/affs.c: Likewise.
47940 * fs/ext2.c: Likewise.
47941 * fs/fat.c: Likewise.
47942 * fs/fshelp.c: Likewise.
47943 * fs/hfs.c: Likewise.
47944 * fs/hfsplus.c: Likewise.
47945 * fs/iso9660.c: Likewise.
47946 * fs/jfs.c: Likewise.
47947 * fs/minix.c: Likewise.
47948 * fs/sfs.c: Likewise.
47949 * fs/ufs.c: Likewise.
47950 * fs/xfs.c: Likewise.
47951 * hello/hello.c: Likewise.
47952 * include/grub/acorn_filecore.h: Likewise.
47953 * include/grub/arg.h: Likewise.
47954 * include/grub/bitmap.h: Likewise.
47955 * include/grub/boot.h: Likewise.
47956 * include/grub/cache.h: Likewise.
47957 * include/grub/device.h: Likewise.
47958 * include/grub/disk.h: Likewise.
47959 * include/grub/dl.h: Likewise.
47960 * include/grub/elfload.h: Likewise.
47961 * include/grub/env.h: Likewise.
47962 * include/grub/err.h: Likewise.
47963 * include/grub/file.h: Likewise.
47964 * include/grub/font.h: Likewise.
47965 * include/grub/fs.h: Likewise.
47966 * include/grub/fshelp.h: Likewise.
47967 * include/grub/gzio.h: Likewise.
47968 * include/grub/hfs.h: Likewise.
47969 * include/grub/kernel.h: Likewise.
47970 * include/grub/loader.h: Likewise.
47971 * include/grub/lvm.h: Likewise.
47972 * include/grub/misc.h: Likewise.
47973 * include/grub/mm.h: Likewise.
47974 * include/grub/net.h: Likewise.
47975 * include/grub/normal.h: Likewise.
47976 * include/grub/parser.h: Likewise.
47977 * include/grub/partition.h: Likewise.
47978 * include/grub/pc_partition.h: Likewise.
47979 * include/grub/raid.h: Likewise.
47980 * include/grub/rescue.h: Likewise.
47981 * include/grub/script.h: Likewise.
47982 * include/grub/setjmp.h: Likewise.
47983 * include/grub/symbol.h: Likewise.
47984 * include/grub/term.h: Likewise.
47985 * include/grub/terminfo.h: Likewise.
47986 * include/grub/tparm.h: Likewise.
47987 * include/grub/types.h: Likewise.
47988 * include/grub/video.h: Likewise.
47989 * include/grub/efi/api.h: Likewise.
47990 * include/grub/efi/chainloader.h: Likewise.
47991 * include/grub/efi/console.h: Likewise.
47992 * include/grub/efi/console_control.h: Likewise.
47993 * include/grub/efi/disk.h: Likewise.
47994 * include/grub/efi/efi.h: Likewise.
47995 * include/grub/efi/pe32.h: Likewise.
47996 * include/grub/efi/time.h: Likewise.
47997 * include/grub/i386/linux.h: Likewise.
47998 * include/grub/i386/setjmp.h: Likewise.
47999 * include/grub/i386/types.h: Likewise.
48000 * include/grub/i386/efi/kernel.h: Likewise.
48001 * include/grub/i386/efi/loader.h: Likewise.
48002 * include/grub/i386/efi/time.h: Likewise.
48003 * include/grub/i386/pc/biosdisk.h: Likewise.
48004 * include/grub/i386/pc/boot.h: Likewise.
48005 * include/grub/i386/pc/chainloader.h: Likewise.
48006 * include/grub/i386/pc/console.h: Likewise.
48007 * include/grub/i386/pc/init.h: Likewise.
48008 * include/grub/i386/pc/kernel.h: Likewise.
48009 * include/grub/i386/pc/loader.h: Likewise.
48010 * include/grub/i386/pc/memory.h: Likewise.
48011 * include/grub/i386/pc/multiboot.h: Likewise.
48012 * include/grub/i386/pc/serial.h: Likewise.
48013 * include/grub/i386/pc/time.h: Likewise.
48014 * include/grub/i386/pc/vbe.h: Likewise.
48015 * include/grub/i386/pc/vbeblit.h: Likewise.
48016 * include/grub/i386/pc/vbefill.h: Likewise.
48017 * include/grub/i386/pc/vbeutil.h: Likewise.
48018 * include/grub/i386/pc/vga.h: Likewise.
48019 * include/grub/ieee1275/ieee1275.h: Likewise.
48020 * include/grub/ieee1275/ofdisk.h: Likewise.
48021 * include/grub/powerpc/libgcc.h: Likewise.
48022 * include/grub/powerpc/setjmp.h: Likewise.
48023 * include/grub/powerpc/types.h: Likewise.
48024 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
48025 * include/grub/powerpc/ieee1275/console.h: Likewise.
48026 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
48027 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
48028 * include/grub/powerpc/ieee1275/loader.h: Likewise.
48029 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
48030 * include/grub/powerpc/ieee1275/time.h: Likewise.
48031 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
48032 * include/grub/sparc64/libgcc.h: Likewise.
48033 * include/grub/sparc64/setjmp.h: Likewise.
48034 * include/grub/sparc64/types.h: Likewise.
48035 * include/grub/sparc64/ieee1275/console.h: Likewise.
48036 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48037 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48038 * include/grub/sparc64/ieee1275/time.h: Likewise.
48039 * include/grub/util/biosdisk.h: Likewise.
48040 * include/grub/util/getroot.h: Likewise.
48041 * include/grub/util/lvm.h: Likewise.
48042 * include/grub/util/misc.h: Likewise.
48043 * include/grub/util/raid.h: Likewise.
48044 * include/grub/util/resolve.h: Likewise.
48045 * io/gzio.c: Likewise.
48046 * kern/device.c: Likewise.
48047 * kern/disk.c: Likewise.
48048 * kern/dl.c: Likewise.
48049 * kern/elf.c: Likewise.
48050 * kern/env.c: Likewise.
48051 * kern/err.c: Likewise.
48052 * kern/file.c: Likewise.
48053 * kern/fs.c: Likewise.
48054 * kern/loader.c: Likewise.
48055 * kern/main.c: Likewise.
48056 * kern/misc.c: Likewise.
48057 * kern/mm.c: Likewise.
48058 * kern/parser.c: Likewise.
48059 * kern/partition.c: Likewise.
48060 * kern/rescue.c: Likewise.
48061 * kern/term.c: Likewise.
48062 * kern/efi/efi.c: Likewise.
48063 * kern/efi/init.c: Likewise.
48064 * kern/efi/mm.c: Likewise.
48065 * kern/i386/dl.c: Likewise.
48066 * kern/i386/efi/init.c: Likewise.
48067 * kern/i386/efi/startup.S: Likewise.
48068 * kern/i386/pc/init.c: Likewise.
48069 * kern/i386/pc/lzo1x.S: Likewise.
48070 * kern/i386/pc/startup.S: Likewise.
48071 * kern/ieee1275/ieee1275.c: Likewise.
48072 * kern/powerpc/cache.S: Likewise.
48073 * kern/powerpc/dl.c: Likewise.
48074 * kern/powerpc/ieee1275/cmain.c: Likewise.
48075 * kern/powerpc/ieee1275/crt0.S: Likewise.
48076 * kern/powerpc/ieee1275/init.c: Likewise.
48077 * kern/powerpc/ieee1275/openfw.c: Likewise.
48078 * kern/sparc64/cache.S: Likewise.
48079 * kern/sparc64/dl.c: Likewise.
48080 * kern/sparc64/ieee1275/init.c: Likewise.
48081 * kern/sparc64/ieee1275/openfw.c: Likewise.
48082 * loader/efi/chainloader.c: Likewise.
48083 * loader/efi/chainloader_normal.c: Likewise.
48084 * loader/i386/efi/linux.c: Likewise.
48085 * loader/i386/efi/linux_normal.c: Likewise.
48086 * loader/i386/pc/chainloader.c: Likewise.
48087 * loader/i386/pc/chainloader_normal.c: Likewise.
48088 * loader/i386/pc/linux.c: Likewise.
48089 * loader/i386/pc/linux_normal.c: Likewise.
48090 * loader/i386/pc/multiboot.c: Likewise.
48091 * loader/i386/pc/multiboot_normal.c: Likewise.
48092 * loader/powerpc/ieee1275/linux.c: Likewise.
48093 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48094 * normal/arg.c: Likewise.
48095 * normal/cmdline.c: Likewise.
48096 * normal/command.c: Likewise.
48097 * normal/completion.c: Likewise.
48098 * normal/execute.c: Likewise.
48099 * normal/function.c: Likewise.
48100 * normal/lexer.c: Likewise.
48101 * normal/main.c: Likewise.
48102 * normal/menu.c: Likewise.
48103 * normal/menu_entry.c: Likewise.
48104 * normal/misc.c: Likewise.
48105 * normal/parser.y: Likewise.
48106 * normal/script.c: Likewise.
48107 * normal/i386/setjmp.S: Likewise.
48108 * normal/powerpc/setjmp.S: Likewise.
48109 * normal/sparc64/setjmp.S: Likewise.
48110 * partmap/acorn.c: Likewise.
48111 * partmap/amiga.c: Likewise.
48112 * partmap/apple.c: Likewise.
48113 * partmap/gpt.c: Likewise.
48114 * partmap/pc.c: Likewise.
48115 * partmap/sun.c: Likewise.
48116 * term/gfxterm.c: Likewise.
48117 * term/terminfo.c: Likewise.
48118 * term/efi/console.c: Likewise.
48119 * term/i386/pc/console.c: Likewise.
48120 * term/i386/pc/serial.c: Likewise.
48121 * term/i386/pc/vesafb.c: Likewise.
48122 * term/i386/pc/vga.c: Likewise.
48123 * term/ieee1275/ofconsole.c: Likewise.
48124 * util/biosdisk.c: Likewise.
48125 * util/console.c: Likewise.
48126 * util/genmoddep.c: Likewise.
48127 * util/getroot.c: Likewise.
48128 * util/grub-emu.c: Likewise.
48129 * util/grub-mkdevicemap.c: Likewise.
48130 * util/grub-probe.c: Likewise.
48131 * util/lvm.c: Likewise.
48132 * util/misc.c: Likewise.
48133 * util/raid.c: Likewise.
48134 * util/resolve.c: Likewise.
48135 * util/update-grub.in: Likewise.
48136 * util/update-grub_lib.in: Likewise.
48137 * util/grub.d/00_header.in: Likewise.
48138 * util/grub.d/10_hurd.in: Likewise.
48139 * util/grub.d/10_linux.in: Likewise.
48140 * util/i386/efi/grub-install.in: Likewise.
48141 * util/i386/efi/grub-mkimage.c: Likewise.
48142 * util/i386/pc/grub-install.in: Likewise.
48143 * util/i386/pc/grub-mkimage.c: Likewise.
48144 * util/i386/pc/grub-mkrescue.in: Likewise.
48145 * util/i386/pc/grub-setup.c: Likewise.
48146 * util/i386/pc/misc.c: Likewise.
48147 * util/powerpc/ieee1275/grub-install.in: Likewise.
48148 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
48149 * util/powerpc/ieee1275/misc.c: Likewise.
48150 * video/bitmap.c: Likewise.
48151 * video/video.c: Likewise.
48152 * video/i386/pc/vbe.c: Likewise.
48153 * video/i386/pc/vbeblit.c: Likewise.
48154 * video/i386/pc/vbefill.c: Likewise.
48155 * video/i386/pc/vbeutil.c: Likewise.
48156 * video/readers/tga.c: Likewise.
48157
48158 2007-07-02 Robert Millan <rmh@aybabtu.com>
48159
48160 * conf/i386-efi.rmk: Replace obsolete reference to
48161 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
48162 with util/getroot.c.
48163 * conf/powerpc-ieee1275.rmk: Likewise.
48164 * conf/sparc64-ieee1275.rmk: Likewise.
48165
48166 * util/grub-emu.c (main): Fix unchecked pointer handling.
48167
48168 2007-07-02 Robert Millan <rmh@aybabtu.com>
48169
48170 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
48171 invocation to fail, in order to support partition-less media.
48172
48173 * util/i386/pc/grub-install.in: Likewise.
48174
48175 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
48176 which fs or partmap modules are needed (akin to its sister scripts).
48177
48178 Also use grub-probe to get rid of unportable /proc/mounts check.
48179
48180 Print the same informational message that the other scripts do, before
48181 exiting.
48182
48183 2007-06-23 Robert Millan <rmh@aybabtu.com>
48184
48185 * util/update-grub_lib.in (font_path): New function. Determine whether
48186 a font file can be found and, if so, echo the GRUB path to it.
48187
48188 * util/update-grub.in: Handle multiple terminals depending on user
48189 input, platform availability and font file presence. Propagate
48190 variables of our findings to /etc/grub.d/ children.
48191
48192 * util/grub.d/00_header.in: Handle multiple terminals, based on
48193 environment setup by update-grub.
48194
48195 2007-06-23 Robert Millan <rmh@aybabtu.com>
48196
48197 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
48198
48199 2007-06-21 Robert Millan <rmh@aybabtu.com>
48200
48201 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
48202 indicate end of data section in kernel image.
48203 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
48204 GRUB_KERNEL_MACHINE_DATA_END.
48205
48206 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
48207 space for it.
48208 * kern/i386/efi/startup.S: Likewise.
48209
48210 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
48211 during image generation. Implement --prefix option to override this
48212 patch.
48213 * util/i386/efi/grub-mkimage.c: Likewise.
48214
48215 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
48216 code to make path relative to its root into a separate function.
48217
48218 * util/i386/pc/grub-install.in: Use newly provided
48219 make_system_path_relative_to_its_root() to convert ${grubdir}, then
48220 pass the result to grub-install --prefix.
48221
48222 2007-06-13 Robert Millan <rmh@aybabtu.com>
48223
48224 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
48225 DEFAULT_DEVICE_MAP.
48226 * util/grub-emu.c: Use above definitions from misc.h instead of
48227 defining them.
48228 * util/grub-mkdevicemap.c: Likewise.
48229 * util/i386/pc/grub-setup.c: Likewise.
48230 * util/grub-probe.c: Likewise.
48231 (probe): Abort with grub_util_error() when either
48232 grub_guess_root_device or grub_util_get_grub_dev fails.
48233
48234 2007-06-12 Robert Millan <rmh@aybabtu.com>
48235
48236 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
48237 "pager" assignment.
48238 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
48239 "pcdata".
48240 * util/grub-probe.c (probe): Likewise for "drive_name".
48241
48242 2007-06-11 Robert Millan <rmh@aybabtu.com>
48243
48244 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
48245 not just the cdrom one.
48246
48247 2007-06-11 Robert Millan <rmh@aybabtu.com>
48248
48249 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48250 Add --pkglibdir=DIR option to override pkglibdir.
48251 Mention --image-type=TYPE in help output.
48252 Fix --grub-mkimage (it was a no-op).
48253 Abort gracefully when no parameter is given.
48254
48255 2007-06-11 Robert Millan <rmh@aybabtu.com>
48256
48257 * util/i386/pc/grub-mkrescue.in: New file.
48258 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48259 * Makefile.in: Handle bin_SCRIPTS.
48260
48261 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48262
48263 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48264 list of video modes.
48265
48266 2007-06-06 Robert Millan <rmh@aybabtu.com>
48267
48268 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48269 file doesn't exist, or if it is in a filesystem grub can't read.
48270
48271 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48272 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48273 header comment to fit in 80 columns when the variables are resolved.
48274
48275 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48276 could be identified by update-grub. Remove redundant check for
48277 unifont.pff existence (since convert_system_path_to_grub_path now
48278 handles that).
48279
48280 2007-06-04 Robert Millan <rmh@aybabtu.com>
48281
48282 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48283
48284 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48285
48286 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48287
48288 2007-06-04 Robert Millan <rmh@aybabtu.com>
48289
48290 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48291
48292 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48293 grub_apple_partition_map_fini.
48294
48295 * util/biosdisk.c
48296 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48297 to access >2 TiB disks).
48298
48299 Print disk->total_sectors with %llu instead of %lu, since this
48300 variable is always 64-bit (prevents wrong disk size from being displayed
48301 on either >2 TiB disk or big-endian CPU).
48302
48303 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48304 into a generic case that supports all (sane) partition maps.
48305
48306 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48307 breaks big-endian.
48308
48309 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48310 and grub_apple_partition_map_fini() after that.
48311
48312 2007-06-01 Robert Millan <rmh@aybabtu.com>
48313
48314 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48315
48316 * util/grub.d/00_header.in: Only enable gfxterm when
48317 convert_system_path_to_grub_path() succeeds.
48318
48319 2007-05-20 Robert Millan <rmh@aybabtu.com>
48320
48321 * util/update-grub_lib.in: New file.
48322 * DISTLIST: Add update-grub_lib.in.
48323 * conf/common.rmk: Generate update-grub_lib and install it in
48324 $(lib_DATA).
48325 * Makefile.in: Add install routine for $(lib_DATA).
48326
48327 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48328 function provided by update-grub_lib to support arbitrary paths of
48329 unifont.pff.
48330 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48331 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48332
48333 2007-05-19 Robert Millan <rmh@aybabtu.com>
48334
48335 * commands/i386/cpuid.c: New module.
48336 * DISTLIST: Add it.
48337 * conf/i386-efi.rmk: Enable cpuid.mod.
48338 * conf/i386-pc.rmk: Likewise.
48339
48340 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48341
48342 * kern/disk.c (grub_disk_read): Check return value of
48343 grub_realloc().
48344
48345 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48346
48347 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48348 arrays.
48349 * disk/raid.c (grub_raid_open): Likewise.
48350
48351 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48352
48353 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48354 stack instead of on the heap.
48355
48356 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48357 before doing a read on it.
48358
48359 * configure.ac: Only use -fno-stack-protector for the target
48360 environment.
48361
48362 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48363
48364 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48365 __attribute_ ((unused)) to mode_type argument.
48366
48367 * util/getroot.c (grub_guess_root_device): Fix #endif.
48368
48369 * kern/misc.c (memcmp): Fix prototype.
48370
48371 * include/grub/partition.h [GRUB_UTIL]
48372 (grub_gpt_partition_map_init): Add prototype.
48373 (grub_gpt_partition_map_fini): Likewise.
48374
48375 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48376 at the right place.
48377
48378 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48379 (grub_fat_read_data): Likewise.
48380 (grub_fat_find_dir): Likewise.
48381
48382 * font/manager.c (find_glyph): Make table a const.
48383 (grub_font_get_glyph): Remove bitmap from if statement.
48384
48385 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48386
48387 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48388 code, first search for device in /dev/mapper, then in /dev.
48389 (grub_util_get_grub_dev): New function.
48390 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48391 prototype.
48392 * util/grub-probe.c (probe): Remove check for RAID, call
48393 grub_util_get_grub_dev() instead of
48394 grub_util_biosdisk_get_grub_dev().
48395 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48396 grub_util_biosdisk_get_grub_dev().
48397 * util/i386/pc/grub-setup.c (main): Likewise.
48398
48399 2007-05-16 Robert Millan <rmh@aybabtu.com>
48400
48401 * DISTLIST: Update for the latest changes.
48402 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48403 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48404 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48405 grub/util/biosdisk.h.
48406 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48407 grub/util/biosdisk.h.
48408
48409 2007-05-16 Robert Millan <rmh@aybabtu.com>
48410
48411 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48412
48413 2007-05-16 Robert Millan <rmh@aybabtu.com>
48414
48415 * util/i386/efi/grub-install.in: New.
48416 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48417 newly added grub-install.
48418 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48419 include.
48420 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48421 grub/util/biosdisk.h.
48422 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48423 grub/util/biosdisk.h.
48424
48425 2007-05-16 Robert Millan <rmh@aybabtu.com>
48426
48427 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48428 * include/grub/util/biosdisk.h: ... here.
48429 * util/i386/pc/biosdisk.c: Moved to ...
48430 * util/biosdisk.c: ... here.
48431 * util/i386/pc/getroot.c: Moved to ...
48432 * util/getroot.c: ... here.
48433 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48434 * util/grub-mkdevicemap.c: ... here.
48435 * util/i386/pc/grub-probe.c: Moved to ...
48436 * util/grub-probe.c: ... here.
48437
48438 2007-05-15 Robert Millan <rmh@aybabtu.com>
48439
48440 * util/update-grub.in: Remove duplicated line in grub.cfg header
48441 message.
48442
48443 2007-05-13 Robert Millan <rmh@aybabtu.com>
48444
48445 * util/update-grub.in: Fix a few assumptions about the devices holding
48446 /, /boot and /boot/grub being the same.
48447 * util/grub.d/00_header.in: Likewise.
48448 * util/grub.d/10_hurd.in: Likewise.
48449 * util/grub.d/10_linux.in: Likewise.
48450
48451 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48452 patterns. Use that to define the `.old' suffix as older than `'.
48453
48454 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48455
48456 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48457 the grub.cfg header message.
48458
48459 2007-05-11 Robert Millan <rmh@aybabtu.com>
48460
48461 * util/update-grub.in: Create device.map if it doesn't already exist,
48462 before attempting to run grub-probe.
48463 Check for grub-probe and grub-mkdevicemap with the same code
48464 grub-install is using.
48465 Remove test mode.
48466
48467 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48468
48469 * Makefile.in: Add the datarootdir autoconf variable.
48470
48471 2007-05-09 Robert Millan <rmh@aybabtu.com>
48472
48473 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
48474 fail gracefully if dev->disk->partition == NULL.
48475
48476 2007-05-07 Robert Millan <rmh@aybabtu.com>
48477
48478 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48479 determine partition map module.
48480 * util/i386/pc/grub-install.in: Use this feature to decide which
48481 partition module to load, instead of hardcoding pc and gpt.
48482
48483 2007-05-07 Robert Millan <rmh@aybabtu.com>
48484
48485 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48486 source directory differs from build directory.
48487
48488 2007-05-05 Robert Millan <rmh@aybabtu.com>
48489
48490 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48491 initialisation.
48492
48493 2007-05-05 Robert Millan <rmh@aybabtu.com>
48494
48495 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48496
48497 2007-05-05 Robert Millan <rmh@aybabtu.com>
48498
48499 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48500 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48501
48502 2007-05-05 Robert Millan <rmh@aybabtu.com>
48503
48504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48505 (grub_probe_SOURCES): Likewise.
48506 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48507 GPT and initialize dos_part and bsd_part accordingly.
48508 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48509 install_bsd_part.
48510 (main): Activate gpt module for use during partition identification,
48511 and deactivate it afterwards.
48512 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48513 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48514 partition identification, and deactivate it afterwards.
48515
48516 2007-05-05 Robert Millan <rmh@aybabtu.com>
48517
48518 * term/i386/pc/console.c (grub_console_fini): Call
48519 grub_term_set_current() before grub_term_unregister().
48520
48521 2007-05-04 Robert Millan <rmh@aybabtu.com>
48522
48523 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48524 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48525 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48526 and update-grub_DATA.
48527 * conf/common.rmk: Build and install update-grub components.
48528 * conf/common.mk: Regenerate.
48529 * util/update-grub.in: New. Core of update-grub.
48530 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48531 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48532 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48533 * util/grub.d/README: New. Document grub.d directory layout.
48534
48535 2007-05-01 Robert Millan <rmh@aybabtu.com>
48536
48537 * util/grub-emu.c: Move initialization functions
48538 grub_util_biosdisk_init() and grub_init_all() before
48539 grub_util_biosdisk_get_grub_dev(), which relies on them.
48540
48541 2007-04-19 Robert Millan <rmh@aybabtu.com>
48542
48543 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48544 it is used later.
48545
48546 2007-04-18 Jerone Young <jerone@gmail.com>
48547
48548 * kernel/elf.c: Add missing parenthesis for conditional statement
48549 stanza.
48550
48551 2007-04-10 Jerone Young <jerone@gmail.com>
48552
48553 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48554 continue on and look for device node with real device name.
48555
48556 2007-04-10 Jerone Young <jerone@gmail.com>
48557
48558 * configure.ac: Add argument for autoconf to use transformation
48559 ability.
48560 * Makefile.in: Add autoconf package transformation code.
48561 * util/i386/pc/grub-install.in: Likewise.
48562 * util/powerpc/ieee1275/grub-install.in: Likewise.
48563
48564 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48565
48566 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48567 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48568 (EXT2_REVISION): Likewise.
48569 (EXT2_INODE_SIZE): Likewise.
48570 (struct grub_ext2_block_group): Added a missing member
48571 "used_dirs".
48572 (grub_ext2_read_inode): Divide by the inode size in a superblock
48573 instead of 128 to obtain INODES_PER_BLOCK.
48574 Use the macro EXT2_INODE_SIZE instead of directly using
48575 SBLOCK->INODE_SIZE.
48576
48577 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48578
48579 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48580 superblock instead of the structure size to compute an
48581 offset. This fixes the problem that GRUB could not read a
48582 filesystem when inode size is different from 128-byte.
48583
48584 2007-03-05 Marco Gerards <marco@gnu.org>
48585
48586 * normal/main.c (read_config_file): When "menu" is not set, create
48587 an initial context.
48588
48589 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48590
48591 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48592 (HEAP_LIMIT): New macro.
48593 (grub_claim_heap): Claim memory up to `heaplimit'.
48594
48595 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48596
48597 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48598 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48599 (_start): Likewise.
48600 (grub_arch_modules_addr): Return address after `_end'.
48601 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48602 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48603 (add_segments): Calculate `_end' from phdr size and location.
48604 (ALIGN_UP): Moved to ...
48605 * include/grub/misc.h: here.
48606 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48607 New macro.
48608 (GRUB_IEEE1275_MODULE_BASE): Removed.
48609
48610 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48611
48612 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48613 loop boundary.
48614
48615 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48616
48617 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48618 All users updated.
48619 (grub_elf64_load_hook_t): Likewise.
48620 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48621 debug output.
48622
48623 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48624
48625 * kern/mm.c: Update copyright.
48626 (grub_mm_debug): Correct syntax error.
48627 (grub_mm_dump_free): New function.
48628 (grub_debug_free): Call `grub_free'.
48629 * include/grub/mm.h: Update copyright.
48630 (grub_mm_dump_free): Add declaration.
48631
48632 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48633
48634 * include/grub/ieee1275/ieee1275.h: Update copyright.
48635 * kern/powerpc/ieee1275/init.c: Likewise.
48636 * kern/powerpc/ieee1275/openfw.c: Likewise.
48637
48638 * loader/powerpc/ieee1275/linux.c: Likewise.
48639 * include/grub/elfload.h: Likewise.
48640 * kern/elf.c: Likewise.
48641 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48642 callers.
48643 (grub_elf64_load): Likewise.
48644 (grub_elf32_load_segment): Move to a nested function.
48645 (grub_elf64_load_segment): Likewise.
48646
48647 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48648
48649 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48650 prototype.
48651 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48652 (grub_heap_len): Likewise.
48653 (HEAP_SIZE): New macro.
48654 (grub_claim_heap): New function.
48655 (grub_machine_init): Don't claim heap directly. Call
48656 `grub_claim_heap'.
48657 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48658 (grub_available_iterate): New function.
48659
48660 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48661
48662 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48663 * configure.ac: Use it for testing the HOST and TARGET compilers.
48664
48665 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48666
48667 * Makefile.in (enable_grub_emu): New variable.
48668 * configure.ac (--enable-grub-emu): New option.
48669 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48670 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48671 * conf/i386-pc.rmk: Likewise.
48672 * conf/powerpc-ieee1275.rmk: Likewise.
48673 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48674
48675 2006-12-12 Marco Gerards <marco@gnu.org>
48676
48677 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48678
48679 * kern/env.c (grub_env_unset): Don't free the member `value' when
48680 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48681 pointer.
48682
48683 * normal/main.c (current_menu): Removed.
48684 (free_menu): Unset the `menu' environment variable.
48685 (grub_normal_menu_addentry): Make use of the environment variable
48686 `menu', instead of using the global `current_menu'. Allocate
48687 memory for the sourcecode of this entry.
48688 (read_config_file): New argument `nested', changed all callers.
48689 Only in the case of a new context, initialize a new menu. Set the
48690 `menu' environment variable.
48691 (grub_normal_execute): Don't set and unset the environment
48692 variable `menu' here anymore. Only free the menu when leaving the
48693 context.
48694
48695 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48696 leak.
48697
48698 2006-12-11 Marco Gerards <marco@gnu.org>
48699
48700 * normal/menu_entry.c (run): Fix off by one bug so the last line
48701 is executed. Move the loader check to outside the loop.
48702
48703 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48704
48705 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48706
48707 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48708
48709 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48710 the number of sectors. Reported by Andrey Shuvikov
48711 <mr_hyro@yahoo.com>.
48712
48713 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48714
48715 * kern/disk.c (grub_disk_read): When there is a read error, always
48716 try to read only the necessary data.
48717
48718 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48719 disk/raid.c.
48720 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48721 prototype.
48722 [GRUB_UTIL] (grub_raid_fini): Likewise.
48723 [GRUB_UTIL] (grub_lvm_init): Likewise.
48724 [GRUB_UTIL] (grub_lvm_fini): Likewise.
48725 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48726 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48727 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48728 and grub_raid_fini().
48729
48730 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48731
48732 * include/grub/types.h (__unused): Rename to UNUSED.
48733 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48734 (grub_elf64_size): Likewise.
48735
48736 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48737
48738 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48739 grub_error_push and grub_error_pop in the error-handling path.
48740 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48741 length.
48742
48743 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48744
48745 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48746 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48748 (kernel_elf_SOURCES): Likewise.
48749 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48750 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48751 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48752 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48753 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48754 (elf_mod_SOURCES): New variable.
48755 (elf_mod_CFLAGS): Likewise.
48756 (elf_mod_LDFLAGS): Likewise.
48757 * include/grub/types.h (__unused): New macro.
48758 * include/grub/elfload.h: New file.
48759 * kern/elf.c: Likewise.
48760 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48761 (ELF32_LOADMASK): New macro.
48762 (ELF64_LOADMASK): Likewise.
48763 (vmlinux): Removed.
48764 (grub_linux_load32): New function.
48765 (grub_linux_load64): Likewise.
48766 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48767 Use grub_elf_t instead of grub_file_t.
48768
48769 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48770
48771 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48772 `catch_result' to struct set_color_args.
48773
48774 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48775
48776 * normal/menu.c: Include grub/script.h.
48777 * normal/menu_entry.c: Likewise.
48778 * include/grub/normal.h: Do not include grub/script.h.
48779
48780 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48781
48782 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48783
48784 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48785
48786 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48787 disk.
48788 (grub_disk_close): Print debug messages when closing a disk.
48789 (grub_disk_read): Print debug messages when disk read fails.
48790 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48791 filesystem type.
48792 * kern/partition.c: Include misc.h.
48793 (grub_partition_iterate): Print debug messages when detecting
48794 partition type.
48795
48796 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48797
48798 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48799 is negative.
48800 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48801
48802 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48803
48804 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48805 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48806
48807 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48808
48809 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48810 instead of sizeof(lv). Patch by Michael Guntsche.
48811
48812 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48813
48814 * disk/lvm.c: Rename VGS to VG_LIST.
48815 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48816 (grub_lvm_open): Likewise.
48817 Thanks to Michael Guntsche for finding this bug.
48818
48819 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48820
48821 * configure.ac (AC_INIT): Bumped to 1.95.
48822
48823 2006-10-14 Robert Millan <rmh@aybabtu.com>
48824
48825 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48826 with "/dev/.static/dev/md".
48827
48828 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48829
48830 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48831 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48832 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48833 DRIVE_NAME are always freed.
48834
48835 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48836 DOS_PART, as a DOS partition is counted from one instead of zero
48837 now. Reported by Robert Millan.
48838
48839 2006-10-14 Robert Millan <rmh@aybabtu.com>
48840
48841 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48842 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48843 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48844 string returned by grub_guess_root_device.
48845 * util/i386/pc/grub-setup.c: Likewise.
48846 * util/i386/pc/grub-probefs.c: Likewise.
48847
48848 * util/i386/pc/grub-probefs.c: Rename to ...
48849 * util/i386/pc/grub-probe.c: ... this.
48850 * DISTLIST: Remove grub-probefs, add grub-probe.
48851 * conf/i386-efi.rmk: Likewise.
48852 * conf/i386-pc.rmk: Likewise.
48853 * util/i386/pc/grub-install.in: Likewise.
48854
48855 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48856 choose which information we want to print.
48857
48858 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48859
48860 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48861 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48862 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48863 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48864 video/readers/tga.c and video/i386/pc/vbeutil.c.
48865
48866 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48867
48868 Added support for RAID and LVM.
48869
48870 * disk/lvm.c: New file.
48871 * disk/raid.c: Likewise.
48872 * include/grub/lvm.h: Likewise.
48873 * include/grub/raid.h: Likewise.
48874 * include/grub/util/lvm.h: Likewise.
48875 * include/grub/util/raid.h: Likewise.
48876 * util/lvm.c: Likewise.
48877 * util/raid.c: Likewise.
48878
48879 * include/grub/disk.h (grub_disk_dev_id): Add
48880 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48881 (grub_disk_get_size): New prototype.
48882 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48883 returns a partition.
48884 (grub_disk_get_size): New function.
48885
48886 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48887 verbatim if grub_install_dos_part is -2.
48888
48889 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48890 and LVM devices.
48891
48892 * util/i386/pc/grub-setup.c (setup): New argument
48893 MUST_EMBED. Force embedding of GRUB when the argument is
48894 true. Close FILE before returning.
48895 (main): Add support for RAID and LVM.
48896
48897 * conf/common.rmk: Add RAID and LVM modules.
48898 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48899 util/lvm.c.
48900 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48901
48902 * kern/misc.c (grub_strstr): New function.
48903 * include/grub/misc.h (grub_strstr): New prototype.
48904
48905 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48906
48907 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48908
48909 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48910
48911 * kern/misc.c (grub_strtoull): Guess the base only if not
48912 specified.
48913
48914 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48915
48916 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48917 PowerMac support.
48918
48919 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48920
48921 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48922
48923 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48924 Remove `flags' argument. All callers changed.
48925 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48926 (IEEE1275_IHANDLE_INVALID): New variable.
48927 (IEEE1275_CELL_INVALID): New variable.
48928 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48929 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48930 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48931 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48932 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48933 codes from Open Firmware. All callers updated.
48934 (grub_ieee1275_next_property): Directly return Open Firmware return
48935 code.
48936 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48937 Standardize error checking from `grub_ieee1275_get_property'.
48938 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48939 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48940
48941 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48942
48943 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48944 `instance_to_package_args' to `instance_to_path_args'.
48945
48946 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48947 `grub_ieee1275_chosen'.
48948
48949 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48950 `grub_ieee1275_interpret'.
48951
48952 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48953
48954 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48955
48956 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48957
48958 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48959 (__cmpdi): Likewise.
48960
48961 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48962 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48963 `grub_ssize_t'.
48964
48965 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
48966
48967 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48968 to type `grub_ssize_t'.
48969 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48970
48971 2006-09-22 Marco Gerards <marco@gnu.org>
48972
48973 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48974 newlines.
48975
48976 2006-09-22 Marco Gerards <marco@gnu.org>
48977
48978 * commands/echo.c: New file.
48979
48980 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48981
48982 * conf/common.rmk (echo_mod_SOURCES): New variable.
48983 (echo_mod_CFLAGS): Likewise.
48984 (echo_mod_LDFLAGS): Likewise.
48985
48986 2006-09-22 Marco Gerards <marco@gnu.org>
48987
48988 * normal/main.c (get_line): Malloc memory instead of using
48989 preallocated memory. Removed the arguments `cmdline' and
48990 `max_len'. Updated all callers.
48991
48992 2006-09-22 Marco Gerards <marco@gnu.org>
48993
48994 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48995 (normal_mod_DEPENDENCIES): Likewise.
48996
48997 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48998 (normal_mod_DEPENDENCIES): Likewise.
48999
49000 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
49001
49002 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
49003
49004 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
49005 programs.
49006 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
49007 (normal_mod_DEPENDENCIES): Likewise.
49008 * conf/i386-pc.mk: Regenerate.
49009 * conf/i386-efi.mk: Likewise
49010 * conf/common.mk: Likewise.
49011 * conf/powerpc-ieee1275.mk: Likewise.
49012 * conf/sparc64-ieee1275.mk: Likewise.
49013
49014 2006-09-22 Robert Millan <rmh@aybabtu.com>
49015
49016 Sync with i386 version.
49017 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
49018 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
49019
49020 2006-09-21 Robert Millan <rmh@aybabtu.com>
49021
49022 Import from GRUB Legacy (lib/device.c):
49023 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
49024 (init_device_map) [__linux__]: Add support for I2O devices.
49025
49026 2006-09-14 Marco Gerards <marco@gnu.org>
49027
49028 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
49029 `-melf_i386'.
49030
49031 2006-09-14 Robert Millan <rmh@aybabtu.com>
49032
49033 * util/i386/pc/grub-install.in: Skip menu.lst when removing
49034 /boot/grub/*.lst.
49035
49036 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
49037
49038 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
49039 before adding it to device.map.
49040
49041 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
49042
49043 * genmk.rb: Let GCC generate dependencies the first time it
49044 compiles a file; using the -MD option.
49045 * conf/common.mk: Regenerate.
49046 * conf/i386-pc.mk: Likewise.
49047 * conf/i386-efi.mk: Likewise.
49048 * conf/powerpc-ieee1275.mk: Likewise.
49049 * conf/sparc64-ieee1275.mk: Likewise.
49050
49051 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
49052
49053 Move the prototypes of grub_setjmp and grub_longjmp to
49054 cpu/setjmp.h, so that each architecture may specify different
49055 attributes.
49056
49057 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
49058 (grub_longjmp): Likewise.
49059 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
49060 (grub_longjmp): Likewise.
49061 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
49062 (grub_longjmp): Likewise.
49063
49064 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
49065 [!GRUB_UTIL] (grub_longjmp): Removed.
49066
49067 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
49068
49069 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
49070 "color!" method does not return any value.
49071
49072 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49073
49074 * include/grub/bitmap.h: New file.
49075
49076 * include/grub/i386/pc/vbeutil.h: Likewise.
49077
49078 * video/bitmap.c: Likewise.
49079
49080 * video/readers/tga.c: Likewise.
49081
49082 * video/i386/pc/vbeutil.c: Likewise.
49083
49084 * commands/videotest.c: Code cleanup and updated to reflect to new
49085 video API.
49086
49087 * term/gfxterm.c: Likewise.
49088
49089 * video/video.c: Likewise.
49090
49091 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
49092 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
49093 (bitmap_mod_SOURCES): New entry.
49094 (bitmap_mod_CFLAGS): Likewise.
49095 (bitmap_mod_LDFLAGS): Likewise.
49096 (tga_mod_SOURCES): Likewise.
49097 (tga_mod_CFLAGS): Likewise.
49098 (tga_mod_LDFLAGS): Likewise.
49099
49100 * include/grub/video.h (grub_video_blit_operators): New enum type.
49101 (grub_video_render_target): Changed as forward declaration and moved
49102 actual definition to be video driver specific.
49103 (grub_video_adapter.blit_bitmap): Added blitting operator.
49104 (grub_video_adapter.blit_render_target): Likewise.
49105 (grub_video_blit_bitmap): Likewise.
49106 (grub_video_blit_render_target): Likewise.
49107
49108 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
49109 driver specific render target definition.
49110 (grub_video_vbe_map_rgba): Added driver internal helper.
49111 (grub_video_vbe_unmap_color): Updated to use
49112 grub_video_i386_vbeblit_info.
49113 (grub_video_vbe_get_video_ptr): Likewise.
49114
49115 * include/grub/i386/pc/vbeblit.h
49116 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
49117 grub_video_i386_vbeblit_info.
49118 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
49119 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
49120 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
49121 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
49122 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
49123 (grub_video_i386_vbeblit_index_index): Likewise.
49124 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
49125 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
49126 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
49127 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
49128 operator.
49129 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
49130 operator.
49131
49132 * video/i386/pc/vbeblit.c: Updated to reflect changes on
49133 include/grub/i386/pc/vbeblit.h.
49134
49135 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
49136 Updated to use grub_video_i386_vbeblit_info.
49137 (grub_video_i386_vbefill_R8G8B8): Likewise.
49138 (grub_video_i386_vbefill_index): Likewise.
49139 (grub_video_i386_vbefill): Added generic filler.
49140
49141 * video/i386/pc/vbefill.c: Updated to reflect changes on
49142 include/grub/i386/pc/vbefill.h.
49143
49144 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
49145 grub_video_i386_vbeblit_info.
49146 (grub_video_vbe_unmap_color): Likewise.
49147 (grub_video_vbe_blit_glyph): Likewise.
49148 (grub_video_vbe_scroll): Likewise.
49149 (grub_video_vbe_draw_pixel): Removed function.
49150 (grub_video_vbe_get_pixel): Likewise.
49151 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
49152 updated code to use it.
49153 (common_blitter): Added common blitter for render target and bitmap.
49154 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
49155 (grub_video_vbe_blit_render_target): Likewise.
49156
49157 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
49158
49159 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
49160 is in text mode if there is no console control protocol instance
49161 available.
49162
49163 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49164
49165 * include/grub/video.h: Code cleanup.
49166
49167 * include/grub/i386/pc/vbe.h: Likewise.
49168
49169 * video/i386/pc/vbe.c: Likewise.
49170
49171 * video/i386/pc/vbeblit.c: Likewise.
49172
49173 * video/i386/pc/vbefill.c: Likewise.
49174
49175 * video/video.c: Likewise. Also added more comments.
49176
49177 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49178
49179 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
49180 (struct grub_biosdisk_dap): Likewise.
49181
49182 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
49183 linkage settings for all functions.
49184
49185 2006-07-12 Marco Gerards <marco@gnu.org>
49186
49187 * configure.ac (--enable-mm-debug): Fix typo.
49188
49189 * genkernsyms.sh.in: Use proper quoting for `CC'.
49190
49191 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
49192
49193 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
49194 (normal_mod_ASFLAGS): Remove "-m32".
49195
49196 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
49197
49198 * util/misc.c: Include config.h.
49199 [!HAVE_MEMALIGN]: Do not include malloc.h.
49200 (grub_memalign): Use posix_memalign, if present. Then, use
49201 memalign, if present. Otherwise, emit an error.
49202
49203 * util/grub-emu.c: Do not include malloc.h.
49204
49205 * include/grub/util/misc.h: Include unistd.h. This is required for
49206 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
49207 D. Eades III <hde@foobar-qux.org>.
49208
49209 * configure.ac (AC_GNU_SOURCE): Added.
49210 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
49211 type.
49212
49213 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
49214
49215 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
49216 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
49217
49218 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
49219
49220 * include/grub/types.h (grub_host_addr_t): Rename to
49221 grub_target_addr_t.
49222 (grub_host_off_t): Rename to grub_target_off_t.
49223 (grub_host_size_t): Rename to grub_target_size_t.
49224 (grub_host_ssize_t): Rename to grub_target_ssize_t.
49225 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
49226
49227 * include/grub/kernel.h (struct grub_module_header): Change type
49228 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
49229 (grub_module_info): Likewise.
49230
49231 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49232
49233 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
49234 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
49235 Velazquez <jesus.velazquez@gmail.com>.
49236
49237 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49238
49239 Count partitions from 1 instead of 0 in the string representation
49240 of partitions. Still use 0-based internally.
49241
49242 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
49243 (sun_partition_map_iterate): Use grub_partition_t instead of
49244 struct grub_partition *. Cast DESC->START_CYLINDER to
49245 grub_uint64_t after converting the endian.
49246 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49247 (sun_partition_map_get_name): Add 1 to P->INDEX.
49248
49249 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49250 PCDATA->DOS_PART.
49251 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49252
49253 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49254 zero instead of one.
49255 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49256 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49257
49258 * partmap/apple.c (apple_partition_map_iterate): Change the type
49259 of POS to unsigned.
49260 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49261 (apple_partition_map_get_name): Add 1 into P->INDEX.
49262
49263 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49264 of POS to unsigned.
49265 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49266 calculate the offset of a partition.
49267 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49268 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49269
49270 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49271 SECTOR to grub_disk_addr_t.
49272 (acorn_partition_map_iterate): Likewise.
49273 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49274 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49275 top.
49276 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49277
49278 * kern/i386/pc/init.c (make_install_device): Add 1 into
49279 GRUB_INSTALL_DOS_PART.
49280
49281 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49282 conditional.
49283
49284 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49285
49286 Clean up the code to support 64-bit addressing in disks and
49287 files. This change is not enough for filesystems yet.
49288
49289 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49290 type of "start" to grub_uint64_t.
49291 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49292 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49293 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49294 convert addresses.
49295
49296 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49297 to grub_disk_addr_t.
49298
49299 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49300 string.
49301
49302 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49303
49304 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49305 to char *.
49306
49307 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49308
49309 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49310
49311 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49312
49313 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49314 to grub_off_t, to detect an error from grub_file_seek.
49315 (grub_multiboot_load_elf32): Likewise.
49316
49317 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49318 maximum unsigned long value when an overflow is detected.
49319 (grub_strtoull): New function.
49320 (grub_divmod64): Likewise.
49321 (grub_lltoa): use grub_divmod64.
49322
49323 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49324 grub_disk_addr_t.
49325 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49326 the pointer to next character. Use grub_strtoull instead of
49327 grub_strtoul.
49328 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49329 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49330 respectively.
49331
49332 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
49333 return value is signed.
49334 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49335 test if OFFSET is less than zero, as OFFSET is unsigned now.
49336
49337 * kern/disk.c (struct grub_disk_cache): Change the type of
49338 "sector" to grub_disk_addr_t.
49339 (grub_disk_cache_get_index): Change the type of SECTOR to
49340 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49341 unsigned after shifting.
49342 (grub_disk_cache_invalidate): Change the type of SECTOR to
49343 grub_disk_addr_t.
49344 (grub_disk_cache_unlock): Likewise.
49345 (grub_disk_cache_store): Likewise.
49346 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49347 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49348 grub_disk_addr_t and grub_uint64_t, respectively.
49349 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49350 body, as the value of OFFSET is tweaked by
49351 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49352 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49353 respectively.
49354 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49355 body, as the value of OFFSET is tweaked by
49356 grub_disk_check_range. Change the types of LEN and N to
49357 grub_size_t.
49358
49359 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49360 and "saved_offset" to grub_off_t.
49361 (test_header): Cast BUF to char *.
49362 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49363 to char *.
49364 (grub_gzio_read): Change the types of OFFSET and SIZE to
49365 grub_off_t and grub_size_t, respectively.
49366
49367 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49368 Removed.
49369 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49370 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49371 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49372 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49373 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49374
49375 * include/grub/types.h (grub_off_t): Unconditionally set to
49376 grub_uint64_t.
49377 (grub_disk_addr_t): Changed to grub_uint64_t.
49378
49379 * include/grub/partition.h (struct grub_partition): Change the
49380 types of "start", "len" and "offset" to grub_disk_addr_t,
49381 grub_uint64_t and grub_disk_addr_t, respectively.
49382 (grub_partition_get_start): Return grub_disk_addr_t.
49383 (grub_partition_get_len): Return grub_uint64_t.
49384
49385 * include/grub/misc.h (grub_strtoull): New prototype.
49386 (grub_divmod64): Likewise.
49387
49388 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49389 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49390 grub_off_t, respectively.
49391 All callers and references changed.
49392
49393 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49394 grub_size_t in "read".
49395 All callers and references changed.
49396
49397 * include/grub/file.h (struct grub_file): Change the types of
49398 "offset" and "size" to grub_off_t and grub_off_t,
49399 respectively. Change the type of SECTOR to grub_disk_addr_t in
49400 "read_hook".
49401 (grub_file_read): Change the type of LEN to grub_size_t.
49402 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49403 grub_off_t.
49404 (grub_file_size): Return grub_off_t.
49405 (grub_file_tell): Likewise.
49406 All callers and references changed.
49407
49408 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49409 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49410 "write".
49411 (struct grub_disk): Change the type of "total_sectors" to
49412 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
49413 "read_hook".
49414 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49415 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49416 (grub_disk_write): Likewise.
49417 All callers and references changed.
49418
49419 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49420 char * for grub_strncmp to silence gcc.
49421 (grub_iso9660_mount): Likewise.
49422 (grub_iso9660_mount): Likewise.
49423 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49424 return statement.
49425 (grub_iso9660_iterate_dir): Likewise.
49426 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49427
49428 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49429 LEN to grub_disk_addr_t and grub_size_t, respectively.
49430
49431 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49432
49433 * fs/jfs.c (grub_jfs_read_file): Likewise.
49434
49435 * fs/minix.c (grub_jfs_read_file): Likewise.
49436
49437 * fs/sfs.c (grub_jfs_read_file): Likewise.
49438
49439 * fs/ufs.c (grub_jfs_read_file): Likewise.
49440
49441 * fs/xfs.c (grub_jfs_read_file): Likewise.
49442
49443 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49444 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49445 respectively.
49446
49447 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49448 BLKNR to -1 instead of returning GRUB_ERRNO.
49449 (grub_ext2_read_file): Change the types of SECTOR and
49450 LEN to grub_disk_addr_t and grub_size_t, respectively.
49451
49452 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49453 LEN to grub_disk_addr_t and grub_size_t, respectively.
49454
49455 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49456 grub_file_read.
49457
49458 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49459 string. Do not cast SECTOR explicitly.
49460
49461 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49462 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49463 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49464 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49465 over 2TB and LBA mode is not supported, raise an error.
49466 (get_safe_sectors): New function.
49467 (grub_biosdisk_read): Use get_safe_sectors.
49468 (grub_biosdisk_write): Likewise.
49469
49470 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49471 (grub_efidisk_write): Likewise.
49472
49473 * disk/loopback.c (delete_loopback): Cosmetic changes.
49474 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49475 correctly.
49476 (grub_loopback_open): Likewise.
49477 (grub_loopback_read): Likewise. Also, change the type of POS to
49478 grub_off_t, and fix the usage of grub_memset.
49479
49480 * commands/i386/pc/play.c: Include grub/machine/time.h.
49481
49482 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49483 print FILE->SIZE.
49484
49485 * commands/configfile.c: Include grub/env.h.
49486
49487 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49488 GRUB_ERRNO directly instead. Change the type of POS to
49489 grub_off_t. Follow the coding standard.
49490
49491 * commands/blocklist.c: Include grub/partition.h.
49492 (grub_cmd_blocklist): Return an error if the underlying device is
49493 not a disk. Take the starting sector of a partition into account,
49494 if a partition is used.
49495
49496 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49497 a length field.
49498 (lba_mode): Support 64-bit addresses.
49499 (chs_mode): Likewise.
49500 (copy_buffer): Adapted to the new offsets of a length field and a
49501 segment field.
49502 (blocklist_default_start): Allocate 64-bit space.
49503
49504 * boot/i386/pc/boot.S (force_lba): Removed.
49505 (boot_drive): Moved to under KERNEL_SECTOR.
49506 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
49507 space.
49508 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49509 is useless.
49510 (lba_mode): Refactored to support a 64-bit address. More size
49511 optimization.
49512 (setup_sectors): Likewise.
49513
49514 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49515
49516 * DISTLIST: Added include/grub/i386/linux.h. Removed
49517 include/grub/i386/pc/linux.h
49518
49519 * configure.ac (AC_INIT): Bumped to 1.94.
49520
49521 * config.guess: Updated from gnulib.
49522 * config.sub: Likewise.
49523 * install-sh: Likewise.
49524 * mkinstalldirs: Likewise.
49525
49526 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49527
49528 * conf/common.rmk (grub_modules_init.lst): Depended on
49529 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49530 MODSRCFILES.
49531
49532 * genmk.rb (PModule::rule): Reverted the previous change.
49533
49534 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49535
49536 * conf/common.rmk (grub_modules_init.lst): Depends on
49537 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49538 that the target does not exist before producing.
49539 (grub_modules_init.h): Remove the target before generating.
49540 (grub_emu_init.c): Likewise.
49541
49542 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49543
49544 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49545
49546 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49547 for the target-specific tests. Make sure that we also have the
49548 up-to-date target variables for those tests.
49549
49550 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49551
49552 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49553 (PModule::rule): Likewise.
49554
49555 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49556
49557 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49558 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49559 target-specific flags should be prefixed.
49560 (PModule::rule): Likewise.
49561
49562 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49563
49564 * configure.ac (CMP): Check if cmp is available explicitly.
49565
49566 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49567
49568 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49569 (target_cpu): New variable.
49570 (pkglibdir): Use target_cpu instead of host_cpu.
49571
49572 * util/i386/pc/grub-install.in (host_cpu): Removed.
49573 (target_cpu): New variable.
49574 (pkglibdir): Use target_cpu instead of host_cpu.
49575
49576 * util/genmoddep.c: Removed.
49577
49578 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49579 instead of GRUB_HOST_SIZEOF_VOID_P.
49580 * kern/dl.c: Likewise.
49581
49582 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49583 ...
49584 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49585 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49586 (GRUB_TARGET_SIZEOF_LONG): ... this.
49587 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49588 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49589 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49590 to ...
49591 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49592 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49593 (GRUB_TARGET_SIZEOF_LONG): ... this.
49594 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49595 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49596 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49597 to ...
49598 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49599 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49600 (GRUB_TARGET_SIZEOF_LONG): ... this.
49601 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49602 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49603
49604 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49605 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49606 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49607 instead of GRUB_HOST_SIZEOF_LONG.
49608 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49609 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49610 GRUB_CPU_WORDS_BIGENDIAN.
49611 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49612 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49613 grub_host_ssize_t.
49614
49615 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49616 (genmoddep_SOURCES): Likewise.
49617 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49618 (genmoddep_SOURCES): Likewise.
49619 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49620 (genmoddep_SOURCES): Likewise.
49621 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49622 Likewise.
49623 (genmoddep_SOURCES): Likewise.
49624
49625 * genmoddep.awk: New file.
49626
49627 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49628 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49629 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49630 (PModule::rule): Likewise.
49631 (Program::rule): Likewise.
49632 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49633 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49634 respectively.
49635
49636 * configure.ac: Rewritten intensively to use host and target
49637 instead of build and host, respectively.
49638
49639 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49640 (host_cpu): Removed.
49641 (target_cpu): New variable.
49642 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49643 (BUILD_CC): Removed.
49644 (BUILD_CFLAGS): Likewise.
49645 (BUILD_CPPFLAGS): Likewise.
49646 (TARGET_CC): New variable.
49647 (TARGET_CFLAGS): Likewise.
49648 (TARGET_CPPFLAGS): Likewise.
49649 (TARGET_LDFLAGS): Likewise.
49650 (AWK): Likewise.
49651 (include): Use target_cpu instead of host_cpu.
49652 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
49653
49654 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49655
49656 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49657
49658 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49659 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49660 field 'false' to 'exec_on_false'.
49661 (grub_script_create_cmdif): Renamed argument names to reflect above
49662 changes.
49663
49664 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49665
49666 * normal/script.c (grub_script_create_cmdif): Likewise.
49667
49668 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49669
49670 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49671 top.
49672 (grub_hfsplus_btree_recptr): Likewise.
49673 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49674 FILEBLOCK both to pass a block number and store next block
49675 number.
49676 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49677 overflow file correctly. Specify errors appropriately, because
49678 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49679 grub_hfsplus_btree_recptr to get the pointer to a found key.
49680 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49681 is found.
49682
49683 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49684 linux.mod.
49685 (_linux_mod_SOURCES): New variable.
49686 (_linux_mod_CFLAGS): Likewise.
49687 (_linux_mod_LDFLAGS): Likewise.
49688 (linux_mod_SOURCES): Likewise.
49689 (linux_mod_CFLAGS): Likewise.
49690 (linux_mod_LDFLAGS): Likewise.
49691
49692 * DISTLIST: Added loader/i386/efi/linux.c,
49693 loader/i386/efi/linux_normal.c and
49694 include/grub/i386/efi/loader.h.
49695
49696 * loader/i386/efi/linux.c: New file.
49697 * loader/i386/efi/linux_normal.c: Likewise.
49698 * include/grub/i386/efi/loader.h: Likewise.
49699
49700 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49701
49702 * commands/blocklist.c: New file.
49703
49704 * DISTLIST: Added commands/blocklist.c.
49705
49706 * term/efi/console.c (grub_console_highlight_color): Use a lighter
49707 color for the background, and a darker color for the foreground.
49708 (grub_console_checkkey): Return READ_KEY.
49709 (grub_console_cls): Set the background to
49710 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49711
49712 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49713
49714 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49715 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49716
49717 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49718 prototype.
49719
49720 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49721 BG. The spec is wrong again.
49722
49723 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49724 prototype.
49725 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49726
49727 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49728 commands/blocklist.c.
49729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49730
49731 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49732 (blocklist_mod_SOURCES): New variable.
49733 (blocklist_mod_CFLAGS): Likewise.
49734 (blocklist_mod_LDFLAGS): Likewise.
49735
49736 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49737
49738 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49739 duplication.
49740 (lba_mode): Use %eax more intensively to reduce the code size.
49741
49742 2006-05-20 Marco Gerards <marco@gnu.org>
49743
49744 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49745
49746 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49747 for `menuentry'.
49748 (script): Accept leading newlines.
49749 (newlines): New rule to describe 0 or more newlines.
49750 (commands): Accept `command' with trailing newline. Fixed the
49751 order in which arguments were passed to `grub_script_add_cmd'.
49752 Accept commands separated by newlines.
49753 (function): Changed to accept newlines.
49754 (menuentry) Rewritten.
49755
49756 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49757 front of the list, instead of to the end.
49758
49759 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49760
49761 * util/i386/pc/grub-install.in (bindir): New variable.
49762 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49763 Shaver <lbgwjl@gmail.com>.
49764
49765 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49766
49767 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49768 grub/machine/linux.h
49769 * loader/i386/pc/linux.c: Likewise.
49770
49771 * include/grub/i386/pc/linux.h: Moved to ...
49772 * include/grub/i386/linux.h: ... here.
49773
49774 * include/grub/i386/linux.h (struct linux_kernel_params): New
49775 struct.
49776
49777 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49778
49779 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49780 checking.
49781 (grub_video_vbe_blit_glyph): Likewise.
49782 (grub_video_vbe_blit_bitmap): Likewise.
49783 (grub_video_vbe_blit_render_target): Likewise.
49784
49785 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49786
49787 * configure.ac (--with-platform): Properly quote the square
49788 brackets.
49789
49790 2006-05-08 Marco Gerards <marco@gnu.org>
49791
49792 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49793 this...
49794 (kernel_elf_HEADERS): ...to this. Updated all users.
49795 (grubof_symlist.c): Renamed from this...
49796 (kernel_elf_symlist.c): ...to this. Updated all users.
49797 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49798 (grubof_SOURCES): Renamed from this...
49799 (kernel_elf_SOURCES): ...to this.
49800 (grubof_HEADERS): Renamed from this...
49801 (kernel_elf_HEADERS): ...to this.
49802 (grubof_CFLAGS): Renamed from this...
49803 (kernel_elf_CFLAGS): ...to this.
49804 (grubof_ASFLAGS): Renamed from this...
49805 (kernel_elf_ASFLAGS): ...to this.
49806 (grubof_LDFLAGS): Renamed from this...
49807 (kernel_elf_LDFLAGS): ...to this.
49808
49809 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49810 this...
49811 (kernel_elf_HEADERS): ...to this. Updated all users.
49812 (grubof_symlist.c): Renamed from this...
49813 (kernel_elf_symlist.c): ...to this. Updated all users.
49814 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49815 (grubof_SOURCES): Renamed from this...
49816 (kernel_elf_SOURCES): ...to this.
49817 (grubof_HEADERS): Renamed from this...
49818 (kernel_elf_HEADERS): ...to this.
49819 (grubof_CFLAGS): Renamed from this...
49820 (kernel_elf_CFLAGS): ...to this.
49821 (grubof_ASFLAGS): Renamed from this...
49822 (kernel_elf_ASFLAGS): ...to this.
49823 (grubof_LDFLAGS): Renamed from this...
49824 (kernel_elf_LDFLAGS): ...to this.
49825
49826 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49827 `kernel.elf' instead of `grubof'.
49828
49829 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49830
49831 Add --with-platform to configure. Use pkglibdir instead of
49832 pkgdatadir. This is reported by Roger Leigh.
49833
49834 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49835 (host_vendor): Likewise.
49836 (host_os): Likewise.
49837 (pkgdatadir): Likewise.
49838 (platform): New variable.
49839 (pkglibdir): Likewise.
49840 Use PKGLIBDIR instead of PKGDATADIR.
49841
49842 * util/i386/pc/grub-install.in (datadir): Removed.
49843 (host_vendor): Likewise.
49844 (host_os): Likewise.
49845 (pkgdatadir): Likewise.
49846 (platform): New variable.
49847 (pkglibdir): Likewise.
49848 Use PKGLIBDIR instead of PKGDATADIR.
49849
49850 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49851 instead of GRUB_DATADIR.
49852 (main): Likewise.
49853 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49854 (main): Likewise.
49855 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49856 (main): Likewise.
49857
49858 * configure.ac (--with-platform): New option.
49859 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49860
49861 * Makefile.in: Include a makefile based on PLATFORM instead of
49862 HOST_VENDOR.
49863 (pkgdatadir): Not appended by the machine type.
49864 (pkglibdir): Appended by the machine type.
49865 (host_vendor): Removed.
49866 (platform): New variable.
49867 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49868 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49869 (uninstall): Likewise.
49870
49871 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49872
49873 Use the environment context in the menu. Remove the commands
49874 "default" and "timeout", and use variables instead.
49875
49876 * normal/menu.c: Include grub/env.h.
49877 (print_entry): Cast TITLE to silence gcc.
49878 (get_timeout): New function.
49879 (set_timeout): Likewise.
49880 (get_entry_number): Likewise.
49881 (run_menu): Use a default entry, a fallback entry and a timeout
49882 in the environment variables "default", "fallback" and
49883 "timeout". Also, tweak the default entry if it is not within the
49884 current menu entries.
49885 (grub_menu_run): Use a fallback entry in the environment variable
49886 "fallback".
49887
49888 * normal/main.c (read_config_file): Do not initialize
49889 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49890 NEWMENU->TIMEOUT.
49891 (grub_normal_execute): Use a data slot to store the menu.
49892
49893 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49894 fallback_entry and timeout.
49895 (struct grub_menu_list): Removed.
49896 (grub_menu_list_t): Likewise.
49897 (struct grub_context): Likewise.
49898 (grub_context_t): Likewise.
49899 (grub_context_get): Likewise.
49900 (grub_context_get_current_menu): Likewise.
49901 (grub_context_push_menu): Likewise.
49902 (grub_context_pop_menu): Likewise.
49903 (grub_default_init): Likewise.
49904 (grub_default_fini): Likewise.
49905 (grub_timeout_init): Likewise.
49906 (grub_timeout_fini): Likewise.
49907
49908 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49909 and timeout.mod.
49910 (normal_mod_SOURCES): Removed normal/context.c.
49911
49912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49913 commands/default.c, commands/timeout.c and normal/context.c.
49914 (normal_mod_SOURCES): Removed normal/context.c.
49915
49916 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49917 commands/timeout.c and normal/context.c.
49918 (normal_mod_SOURCES): Removed normal/context.c.
49919
49920 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49921 commands/default.c, commands/timeout.c and normal/context.c.
49922 (normal_mod_SOURCES): Removed normal/context.c.
49923
49924 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49925 timeout.mod.
49926 (default_mod_SOURCES): Removed.
49927 (default_mod_CFLAGS): Likewise.
49928 (default_mod_LDFLAGS): Likewise.
49929 (timeout_mod_SOURCES): Removed.
49930 (timeout_mod_CFLAGS): Likewise.
49931 (timeout_mod_LDFLAGS): Likewise.
49932
49933 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49934 normal/context.c.
49935
49936 * commands/default.c: Removed.
49937 * commands/timeout.c: Likewise.
49938 * normal/context.c: Likewise.
49939
49940 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49941
49942 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49943
49944 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49945
49946 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49947 "next" to "prev" for readability.
49948 (struct grub_env_sorted_var): New struct.
49949 (grub_env_context): Renamed to ...
49950 (initial_context): ... this.
49951 (grub_env_var_context): Renamed to ...
49952 (current_context): ... this.
49953 (grub_env_find): Look only at CURRENT_CONTEXT.
49954 (grub_env_context_open): Rewritten to copy exported variables from
49955 previous context.
49956 (grub_env_context_close): Rewritten according to the new
49957 scheme. Also, add an assertion to prevent the initial context from
49958 removed.
49959 (grub_env_insert): Removed the code for the sorted list.
49960 (grub_env_remove): Likewise.
49961 (grub_env_export): Simply mark the variable with
49962 GRUB_ENV_VAR_GLOBAL.
49963 (grub_env_set): A cosmetic change for naming consistency.
49964 (grub_env_get): Likewise.
49965 (grub_env_unset): Likewise.
49966 (grub_env_iterate): Rewritten to sort variables within this
49967 function.
49968 (grub_register_variable_hook): Fixed for naming consistency. Call
49969 grub_env_find again, only if NAME is not found at the first time.
49970 (mangle_data_slot_name): New function.
49971 (grub_env_set_data_slot): Likewise.
49972 (grub_env_get_data_slot): Likewise.
49973 (grub_env_unset_data_slot): Likewise.
49974
49975 * include/grub/env.h (grub_env_var_type): New enum.
49976 (GRUB_ENV_VAR_LOCAL): New constant.
49977 (GRUB_ENV_VAR_GLOBAL): Likewise.
49978 (GRUB_ENV_VAR_DATA): Likewise.
49979 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49980 "type".
49981 (grub_env_set): Replace VAR with NAME for consistency.
49982 (grub_register_variable_hook): Likewise.
49983 (grub_env_export): Specify the name of the argument.
49984 (grub_env_set_data_slot): New prototype.
49985 (grub_env_get_data_slot): Likewise.
49986 (grub_env_unset_data_slot): Likewise.
49987
49988 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49989
49990 Extend the loader so that GRUB can accept a loader which comes
49991 back to GRUB when a loaded image exits. Also, this change adds
49992 support for a chainloader on EFI.
49993
49994 * term/efi/console.c: Include grub/misc.h.
49995 (grub_console_checkkey): Display a scan code on the top for
49996 debugging. This will be removed once the EFI port gets stable.
49997 Correct the scan code mapping.
49998
49999 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
50000 allocate memory from larger regions, in order to reduce the number
50001 of allocated regions. Otherwise, the MacOSX loader panics.
50002 (filter_memory_map): Avoid less than 1MB for compatibility with
50003 other loaders.
50004 (add_memory_regions): Allocate from the tail of a region, if
50005 possible, to avoid allocating a region near to 1MB, for the MacOSX
50006 loader.
50007
50008 * kern/efi/init.c (grub_efi_set_prefix): Specify
50009 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
50010
50011 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
50012 argument IMAGE_HANDLE and specify it to get a loaded image.
50013 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
50014 grub_efi_get_loaded_image.
50015 (grub_efi_get_filename): Divide the length by the size of
50016 grub_efi_char16_t.
50017 (grub_efi_get_device_path): New function.
50018 (grub_efi_print_device_path): Print End Device Path nodes. Divide
50019 the length by the size of grub_efi_char16_t for a file path device
50020 path node.
50021
50022 * kern/loader.c (grub_loader_noreturn): New variable.
50023 (grub_loader_set): Accept a new argument NORETURN. Set
50024 GRUB_LOADER_NORETURN to NORETURN.
50025 All callers changed.
50026 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
50027 grub_machine_fini.
50028
50029 * include/grub/efi/efi.h (grub_efi_get_device_path): New
50030 prototype.
50031 (grub_efi_get_loaded_image): Take an argument to specify an image
50032 handle.
50033
50034 * include/grub/loader.h (grub_loader_set): Added one more argument
50035 NORETURN.
50036
50037 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
50038 instead of grub_efi_open_protocol.
50039 (grub_efidisk_get_device_name): Likewise.
50040 (grub_efidisk_close): Print a newline.
50041 (grub_efidisk_get_device_handle): Fixed to use
50042 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
50043 GRUB_EFI_DEVICE_PATH_TYPE.
50044
50045 * disk/efi/efidisk.c (device_path_guid): Moved to ...
50046 * kern/efi/efi.c (device_path_guid): ... here.
50047
50048 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
50049 chain.mod.
50050 (kernel_mod_HEADERS): Added efi/disk.h.
50051 (_chain_mod_SOURCES): New variable.
50052 (_chain_mod_CFLAGS): Likewise.
50053 (_chain_mod_LDFLAGS): Likewise.
50054 (chain_mod_SOURCES): Likewise.
50055 (chain_mod_CFLAGS): Likewise.
50056 (chain_mod_LDFLAGS): Likewise.
50057
50058 * DISTLIST: Added include/grub/efi/chainloader.h,
50059 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
50060
50061 * include/grub/efi/chainloader.h: New file.
50062 * loader/efi/chainloader.c: Likewise.
50063 * loader/efi/chainloader_normal.c: Likewise.
50064
50065 2006-04-30 Marco Gerards <marco@gnu.org>
50066
50067 * commands/configfile.c (grub_cmd_source): New function.
50068 (GRUB_MOD_INIT): Register the commands `source' and `.'.
50069 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
50070
50071 2006-04-30 Marco Gerards <marco@gnu.org>
50072
50073 * normal/execute.c (grub_script_execute_cmd): Change the return
50074 type to `grub_err_t'. Correctly return the error.
50075 (grub_script_execute_cmdline): In case a command line is not a
50076 command or a function, try to interpret it as an assignment.
50077
50078 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
50079
50080 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
50081 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
50082 skip a node whose name is obviously invalid as UTF-16,
50083 i.e. contains a NUL character. Stop the iteration when the last
50084 directory entry is found. Instead of using the return value of
50085 grub_hfsplus_btree_iterate_node, store the value in RET and use
50086 it, because the iterator can be stopped by the last directory
50087 entry.
50088
50089 2006-04-30 Marco Gerards <marco@gnu.org>
50090
50091 * include/grub/env.h (grub_env_export): New prototype. Reported
50092 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
50093
50094 2006-04-30 Marco Gerards <marco@gnu.org>
50095
50096 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
50097 size of the extents in a catalog file record.
50098
50099 2006-04-29 Marco Gerards <marco@gnu.org>
50100
50101 * commands/configfile.c (grub_cmd_configfile): Execute the
50102 configfile within its own context.
50103
50104 * include/grub/env.h (grub_env_context_open): New prototype.
50105 (grub_env_context_close): Likewise.
50106
50107 * kern/env.c (grub_env): Removed.
50108 (grub_env_sorted): Likewise.
50109 (grub_env_context): New variable.
50110 (grub_env_var_context): Likewise.
50111 (grub_env_find): Search both the active context and the global
50112 context.
50113 (grub_env_context_open): New function.
50114 (grub_env_context_close): Likewise.
50115 (grub_env_insert): Likewise.
50116 (grub_env_remove): Likewise.
50117 (grub_env_export): Likewise.
50118 (grub_env_set): Changed to use helper functions to avoid code
50119 duplication.
50120 (grub_env_iterate): Rewritten so both the current context and the
50121 global context are being used.
50122
50123 * normal/command.c (export_command): New function.
50124 (grub_command_init): Register the `export' function.
50125
50126 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
50127
50128 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
50129 explicitly to suppress gcc's warnings.
50130 * fs/fat.c (grub_fat_find_dir): Likewise.
50131 (grub_fat_label): Likewise.
50132 * fs/xfs.c (grub_xfs_read_inode): Likewise.
50133 (grub_xfs_mount): Likewise.
50134 (grub_xfs_label): Likewise.
50135 * fs/affs.c (grub_affs_mount): Likewise.
50136 (grub_affs_label): Likewise.
50137 (grub_affs_iterate_dir): Likewise.
50138 * fs/sfs.c (grub_sfs_mount): Likewise.
50139 (grub_sfs_iterate_dir): Likewise.
50140 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
50141 * fs/hfs.c (grub_hfs_mount): Likewise.
50142 (grub_hfs_cmp_catkeys): Likewise.
50143 (grub_hfs_find_dir): Likewise.
50144 (grub_hfs_dir): Likewise.
50145 (grub_hfs_label): Likewise.
50146 * fs/jfs.c (grub_jfs_mount): Likewise.
50147 (grub_jfs_opendir): Likewise.
50148 (grub_jfs_getent): Likewise.
50149 (grub_jfs_lookup_symlink): Likewise.
50150 (grub_jfs_label): Likewise.
50151 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
50152 (grub_hfsplus_iterate_dir): Likewise.
50153 (grub_hfsplus_btree_iterate_node): Made static.
50154
50155 * util/grub-emu.c (prefix): New variable.
50156 (grub_machine_set_prefix): New function.
50157 (main): Do not set the environment variable "prefix" here. Only
50158 set PREFIX, which is used later by grub_machine_set_prefix.
50159
50160 * include/grub/video.h: Do not include grub/symbol.h.
50161 (grub_video_register): Not exported. This symbol is not defined in
50162 the kernel.
50163 (grub_video_unregister): Likewise.
50164 (grub_video_iterate): Likewise.
50165 (grub_video_setup): Likewise.
50166 (grub_video_restore): Likewise.
50167 (grub_video_get_info): Likewise.
50168 (grub_video_get_blit_format): Likewise.
50169 (grub_video_set_palette): Likewise.
50170 (grub_video_get_palette): Likewise.
50171 (grub_video_set_viewport): Likewise.
50172 (grub_video_get_viewport): Likewise.
50173 (grub_video_map_color): Likewise.
50174 (grub_video_map_rgb): Likewise.
50175 (grub_video_map_rgba): Likewise.
50176 (grub_video_fill_rect): Likewise.
50177 (grub_video_blit_glyph): Likewise.
50178 (grub_video_blit_bitmap): Likewise.
50179 (grub_video_blit_render_target): Likewise.
50180 (grub_video_scroll): Likewise.
50181 (grub_video_swap_buffers): Likewise.
50182 (grub_video_create_render_target): Likewise.
50183 (grub_video_delete_render_target): Likewise.
50184 (grub_video_set_active_render_target): Likewise.
50185
50186 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
50187 Undefined.
50188 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
50189
50190 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
50191 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50192 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50193 instead of $(srcdir)/genkernsyms.sh.
50194
50195 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
50196 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50197 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50198 instead of $(srcdir)/genkernsyms.sh.
50199
50200 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
50201 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50202 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50203 instead of $(srcdir)/genkernsyms.sh.
50204
50205 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
50206 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50207 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50208 instead of $(srcdir)/genkernsyms.sh.
50209
50210 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
50211 genkernsyms.sh.
50212
50213 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
50214 genkernsyms.sh.
50215 (gensymlist.sh): New target.
50216 (genkernsyms.sh): Likewise.
50217
50218 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
50219 genkernsyms.sh.in and gensymlist.sh.in.
50220
50221 * genkernsyms.sh: Removed.
50222 * gensymlist.sh: Likewise.
50223
50224 * genkernsyms.sh.in: New file.
50225 * gensymlist.sh.in: Likewise.
50226
50227 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50228
50229 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
50230 clobber "prefix", since we may have already set it manually.
50231
50232 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50233
50234 * kern/misc.c (abort): New alias for grub_abort.
50235
50236 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
50237
50238 A new machine-specific function "grub_machine_set_prefix" is
50239 defined. This is called after loading modules, so that a prefix
50240 initialization can use modules. Also, this change adds an
50241 intensive debugging feature for the memory manager via the
50242 configure option "--enable-mm-debug".
50243
50244 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
50245 PART.LEN.
50246
50247 * kern/sparc64/ieee1275/init.c (abort): Removed.
50248 (grub_stop): Likewise.
50249 (grub_exit): New function.
50250 (grub_set_prefix): Renamed to ...
50251 (grub_machine_set_prefix): ... this.
50252 (grub_machine_init): Do not call grub_set_prefix.
50253
50254 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50255 (grub_machine_set_prefix): ... this.
50256 (grub_machine_init): Do not call grub_set_prefix.
50257
50258 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50259 (grub_machine_init): Do not set the prefix here.
50260
50261 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50262
50263 * kern/efi/init.c: Include grub/mm.h.
50264 (grub_efi_set_prefix): New function.
50265
50266 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50267 (grub_efi_get_filename): New function.
50268 (grub_print_device_path): Renamed to ...
50269 (grub_efi_print_device_path): ... this.
50270
50271 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50272 [MM_DEBUG] (grub_realloc): Likewise.
50273 [MM_DEBUG] (grub_free): Likewise.
50274 [MM_DEBUG] (grub_memalign): Likewise.
50275 [MM_DEBUG] (grub_mm_debug): New variable.
50276 [MM_DEBUG] (grub_debug_malloc): New function.
50277 [MM_DEBUG] (grub_debug_free): New function.
50278 [MM_DEBUG] (grub_debug_realloc): New function.
50279 [MM_DEBUG] (grub_debug_memalign): New function.
50280
50281 * kern/misc.c (grub_abort): Print a newline to distinguish
50282 the message.
50283
50284 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50285 grub_set_root_dev after loading modules. This is necessary when
50286 setting a prefix depends on modules.
50287
50288 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50289 (grub_efi_print_device_path): ... this.
50290 (grub_efi_get_filename): New prototype.
50291 (grub_efi_set_prefix): Likewise.
50292
50293 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50294 and grub/disk.h.
50295 (grub_efidisk_get_device_handle): New prototype.
50296 (grub_efidisk_get_device_name): Likewise.
50297
50298 * include/grub/mm.h: Include config.h.
50299 (MM_DEBUG): Removed.
50300 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50301 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50302 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50303 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50304 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50305 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50306 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50307 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50308 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50309
50310 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50311
50312 * disk/efi/efidisk.c: Include grub/partition.h.
50313 (iterate_child_devices): New function.
50314 (add_device): First, compare only last device path nodes, so that
50315 devices are sorted by the types.
50316 (grub_efidisk_get_device_handle): New function.
50317 (grub_efidisk_get_device_name): Likewise.
50318
50319 * configure.ac (--enable-mm-debug): New option to enable the
50320 memory manager debugging feature. This makes the binary much
50321 bigger, so is disabled by default.
50322
50323 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50324
50325 Use grub_abort instead of grub_stop, and grub_exit must be
50326 define in each architecture now. Also, this change adds support
50327 for EFI disks.
50328
50329 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50330 (grub_getkey): New function.
50331 (grub_term_get_current): Likewise.
50332
50333 * util/i386/pc/grub-setup.c: Include grub/term.h.
50334 (grub_getkey): New function.
50335 (grub_term_get_current): Likewise.
50336
50337 * util/misc.c (grub_stop): Renamed to ...
50338 (grub_exit): ... this.
50339
50340 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50341 (grub_exit): ... this.
50342 (grub_machine_init): Use grub_abort instead of abort.
50343 (grub_stop): Removed.
50344
50345 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50346 abort.
50347
50348 * kern/i386/pc/startup.S (grub_exit): New function.
50349 (cold_reboot): New label.
50350
50351 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50352 (grub_efi_init): Call grub_efidisk_init.
50353 (grub_efi_fini): Call grub_efidisk_fini.
50354
50355 * kern/efi/efi.c: Include grub/mm.h.
50356 (grub_efi_console_control_guid): Renamed to ...
50357 (console_control_guid): ... this.
50358 (grub_efi_loaded_image_guid): Renamed to ...
50359 (loaded_image_guid): ... this.
50360 (grub_efi_locate_handle): New function.
50361 (grub_efi_open_protocol): Likewise.
50362 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50363 GRUB_EFI_CONSOLE_CONTROL_GUID.
50364 (grub_efi_exit): Removed.
50365 (grub_stop): Likewise.
50366 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50367 (grub_exit): New function.
50368 (grub_print_device_path): Likewise.
50369
50370 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50371 (grub_enter_rescue_mode): Register "exit".
50372
50373 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50374 (grub_abort): New function.
50375
50376 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50377
50378 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50379
50380 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50381
50382 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50383 (grub_print_device_path): New prototype.
50384 (grub_efi_locate_handle): Likewise.
50385 (grub_efi_open_protocol): Likewise.
50386
50387 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50388 * disk/efi/efidisk.c: Likewise.
50389
50390 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50391
50392 * include/grub/efi/console_control.h
50393 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50394
50395 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50396 last 8 bytes as an array.
50397 (GRUB_EFI_DISK_IO_GUID): New macro.
50398 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50399 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50400 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50401 grub_uint8_t.
50402 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50403 (struct grub_efi_device_path): Rename the member "sub_type" to
50404 "subtype".
50405 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50406 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50407 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50408 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50409 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50410 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50411 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50412 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50413 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50414 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50415 (struct grub_efi_pci_device_path): New structure.
50416 (grub_efi_pci_device_path_t): New type.
50417 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50418 (struct grub_efi_pccard_device_path): New structure.
50419 (grub_efi_pccard_device_path_t): New type.
50420 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50421 (struct grub_efi_memory_mapped_device_path): New structure.
50422 (grub_efi_memory_mapped_device_path_t): New type.
50423 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50424 (struct grub_efi_vendor_device_path): New structure.
50425 (grub_efi_vendor_device_path_t): New type.
50426 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50427 (struct grub_efi_controller_device_path): New structure.
50428 (grub_efi_controller_device_path_t): New type.
50429 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50430 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50431 (struct grub_efi_acpi_device_path): New structure.
50432 (grub_efi_acpi_device_path_t): New type.
50433 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50434 (struct grub_efi_expanded_acpi_device_path): New structure.
50435 (grub_efi_expanded_acpi_device_path_t): New type.
50436 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50437 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50438 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50439 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50440 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50441 (struct grub_efi_atapi_device_path): New structure.
50442 (grub_efi_atapi_device_path_t): New type.
50443 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50444 (struct grub_efi_fibre_channel_device_path): New structure.
50445 (grub_efi_fibre_channel_device_path_t): New type.
50446 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50447 (struct grub_efi_1394_device_path): New structure.
50448 (grub_efi_1394_device_path_t): New type.
50449 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50450 (struct grub_efi_usb_device_path): New structure.
50451 (grub_efi_usb_device_path_t): New type.
50452 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50453 (struct grub_efi_usb_class_device_path): New structure.
50454 (grub_efi_usb_class_device_path_t): New type.
50455 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50456 (struct grub_efi_i2o_device_path): New structure.
50457 (grub_efi_i2o_device_path_t): New type.
50458 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50459 (struct grub_efi_mac_address_device_path): New structure.
50460 (grub_efi_mac_address_device_path_t): New type.
50461 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50462 (struct grub_efi_ipv4_device_path): New structure.
50463 (grub_efi_ipv4_device_path_t): New type.
50464 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50465 (struct grub_efi_ipv6_device_path): New structure.
50466 (grub_efi_ipv6_device_path_t): New type.
50467 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50468 (struct grub_efi_infiniband_device_path): New structure.
50469 (grub_efi_infiniband_device_path_t): New type.
50470 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50471 (struct grub_efi_uart_device_path): New structure.
50472 (grub_efi_uart_device_path_t): New type.
50473 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50474 (struct grub_efi_vendor_messaging_device_path): New structure.
50475 (grub_efi_vendor_messaging_device_path_t): New type.
50476 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50477 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50478 (struct grub_efi_hard_drive_device_path): New structure.
50479 (grub_efi_hard_drive_device_path_t): New type.
50480 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50481 (struct grub_efi_cdrom_device_path): New structure.
50482 (grub_efi_cdrom_device_path_t): New type.
50483 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50484 (struct grub_efi_vendor_media_device_path): New structure.
50485 (grub_efi_vendor_media_device_path_t): New type.
50486 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50487 (struct grub_efi_file_path_device_path): New structure.
50488 (grub_efi_file_path_device_path_t): New type.
50489 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50490 (struct grub_efi_protocol_device_path): New structure.
50491 (grub_efi_protocol_device_path_t): New type.
50492 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50493 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50494 (struct grub_efi_bios_device_path): New structure.
50495 (grub_efi_bios_device_path_t): New type.
50496 (struct grub_efi_disk_io): New structure.
50497 (grub_efi_disk_io_t): New type.
50498 (struct grub_efi_block_io_media): New structure.
50499 (grub_efi_block_io_media_t): New type.
50500 (struct grub_efi_block_io): New structure.
50501 (grub_efi_block_io_t): New type.
50502
50503 * include/grub/misc.h (grub_stop): Removed.
50504 (grub_exit): New prototype.
50505 (grub_abort): Likewise.
50506
50507 * include/grub/disk.h (enum grub_disk_dev_id): Added
50508 GRUB_DISK_DEVICE_EFIDISK_ID.
50509
50510 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50511 disk/efi/efidisk.c.
50512 (kernel_syms.lst): Remove the target if an error occurs.
50513
50514 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50515
50516 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50517 as it was simply too buggy.
50518
50519 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50520
50521 * kern/misc.c (grub_lltoa): New function.
50522 (grub_vsprintf): Added support for the long long suffix,
50523 i.e. "ll".
50524
50525 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50526
50527 * Makefile.in (LDFLAGS): Add variable.
50528 (LD): Remove variable.
50529 * configure.ac: Add -m32 to LDFLAGS.
50530 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50531 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50532 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50533 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50534 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50535 variables.
50536 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50537 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50538 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50539
50540 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50541
50542 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50543 length for unknown glyph.
50544
50545 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50546
50547 Add support for pre-loaded modules into the EFI port.
50548
50549 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50550 completely. Accept one more argument DIR. The caller has changed.
50551
50552 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50553
50554 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50555 (grub_efi_loaded_image_guid): New variable.
50556 (grub_efi_get_loaded_image): New function.
50557 (grub_arch_modules_addr): Likewise.
50558
50559 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50560 prototype.
50561
50562 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50563 (struct grub_efi_loaded_image): New structure.
50564 (grub_efi_loaded_image_t): New type.
50565
50566 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50567
50568 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50569 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50570 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50571
50572 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50573
50574 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50575
50576 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50577
50578 * DISTLIST: Added include/grub/efi/console.h,
50579 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50580 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50581
50582 * include/grub/efi/console.h: New file.
50583 * include/grub/efi/time.h: Likewise.
50584 * include/grub/i386/efi/kernel.h: Likewise.
50585 * kern/efi/init.c: Likewise.
50586 * kern/efi/mm.c: Likewise.
50587 * term/efi/console.c: Likewise.
50588
50589 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50590 (grub_stop): Removed.
50591 (grub_get_rtc): Likewise.
50592 (grub_machine_init): Simply call grub_efi_init.
50593 (grub_machine_fini): Call grub_efi_fini.
50594
50595 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50596 (grub_efi_output_string): Removed.
50597 (grub_efi_stall): New function.
50598 (grub_stop): Likewise.
50599 (grub_get_rtc): Likewise.
50600
50601 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50602 (grub_efi_stall): New prototype.
50603 (grub_efi_allocate_pages): Likewise.
50604 (grub_efi_free_pages): Likewise.
50605 (grub_efi_get_memory_map): Likewise.
50606 (grub_efi_mm_init): Likewise.
50607 (grub_efi_mm_fini): Likewise.
50608 (grub_efi_init): Likewise.
50609 (grub_efi_fini): Likewise.
50610
50611 * include/grub/i386/efi/time.h: Do not include
50612 grub/symbol.h. Include grub/efi/time.h.
50613 (GRUB_TICKS_PER_SECOND): Removed.
50614 (grub_get_rtc): Likewise.
50615
50616 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50617 Added padding. The EFI spec is buggy.
50618 (GRUB_EFI_BLACK): New macro.
50619 (GRUB_EFI_BLUE): Likewise.
50620 (GRUB_EFI_GREEN): Likewise.
50621 (GRUB_EFI_CYAN): Likewise.
50622 (GRUB_EFI_RED): Likewise.
50623 (GRUB_EFI_MAGENTA): Likewise.
50624 (GRUB_EFI_BROWN): Likewise.
50625 (GRUB_EFI_LIGHTGRAY): Likewise.
50626 (GRUB_EFI_BRIGHT): Likewise.
50627 (GRUB_EFI_DARKGRAY): Likewise.
50628 (GRUB_EFI_LIGHTBLUE): Likewise.
50629 (GRUB_EFI_LIGHTGREEN): Likewise.
50630 (GRUB_EFI_LIGHTCYAN): Likewise.
50631 (GRUB_EFI_LIGHTRED): Likewise.
50632 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50633 (GRUB_EFI_YELLOW): Likewise.
50634 (GRUB_EFI_WHITE): Likewise.
50635 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50636 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50637 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50638 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50639 (GRUB_EFI_BACKGROUND_RED): Likewise.
50640 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50641 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50642 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50643 (GRUB_EFI_TEXT_ATTR): Likewise.
50644
50645 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50646 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50647 (kernel_mod_HEADERS): Added efi/time.h.
50648
50649 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50650
50651 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50652 include/grub/efi/api.h, include/grub/efi/console_control.h,
50653 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50654 include/grub/i386/efi/time.h, kern/efi/efi.c,
50655 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50656 and util/i386/efi/grub-mkimage.c.
50657
50658 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50659
50660 * genmk.rb (PModule#rule): Do not export symbols if
50661 #{prefix}_EXPORTS is set to "no".
50662
50663 * conf/i386-efi.mk: New file.
50664 * conf/i386-efi.rmk: Likewise.
50665 * include/grub/efi/api.h: Likewise.
50666 * include/grub/efi/console_control.h: Likewise.
50667 * include/grub/efi/efi.h: Likewise.
50668 * include/grub/efi/pe32.h: Likewise.
50669 * include/grub/i386/efi/time.h: Likewise.
50670 * kern/efi/efi.c: Likewise.
50671 * kern/i386/efi/init.c: Likewise.
50672 * kern/i386/efi/startup.S: Likewise.
50673 * util/i386/efi/grub-mkimage.c: Likewise.
50674
50675 2006-04-17 Marco Gerards <marco@gnu.org>
50676
50677 * include/grub/script.h: Include <grub/parser.h> and
50678 "grub_script.tab.h".
50679 (struct grub_lexer_param): New struct.
50680 (struct grub_parser_param): Likewise.
50681 (grub_script_create_arglist): Pass the state in an argument.
50682 (grub_script_add_arglist): Likewise.
50683 (grub_script_create_cmdline): Likewise.
50684 (grub_script_create_cmdblock): Likewise.
50685 (grub_script_create_cmdif): Likewise.
50686 (grub_script_create_cmdmenu): Likewise.
50687 (grub_script_add_cmd): Likewise.
50688 (grub_script_arg_add): Likewise.
50689 (grub_script_lexer_ref): Likewise.
50690 (grub_script_lexer_deref): Likewise.
50691 (grub_script_lexer_record_start): Likewise.
50692 (grub_script_lexer_record_stop): Likewise.
50693 (grub_script_mem_record): Likewise.
50694 (grub_script_mem_record_stop): Likewise.
50695 (grub_script_malloc): Likewise.
50696 (grub_script_yylex): Likewise.
50697 (grub_script_yyparse): Likewise.
50698 (grub_script_yyerror): Likewise.
50699 (grub_script_yylex): Likewise.
50700 (grub_script_lexer_init): Return the state.
50701
50702 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50703 (grub_script_lexer_done): Likewise.
50704 (grub_script_lexer_getline): Likewise.
50705 (grub_script_lexer_refs): Likewise.
50706 (script): Likewise.
50707 (newscript): Likewise.
50708 (record): Likewise.
50709 (recording): Likewise.
50710 (recordpos): Likewise.
50711 (recordlen): Likewise.
50712 (grub_script_lexer_init): Return the state instead of setting
50713 global variables.
50714 (grub_script_lexer_ref): Use the newly added argument for state
50715 instead of globals.
50716 (grub_script_lexer_deref): Likewise.
50717 (grub_script_lexer_record_start): Likewise.
50718 (grub_script_lexer_record_stop): Likewise.
50719 (recordchar): Likewise.
50720 (nextchar): Likewise.
50721 (grub_script_yylex2): Likewise.
50722 (grub_script_yylex): Likewise.
50723 (grub_script_yyerror): Likewise.
50724
50725 * normal/parser.y (func_mem): Removed variable.
50726 (menu_entry): Likewise.
50727 (err): Likewise.
50728 (%lex-param): New parser option.
50729 (%parse-param): Likewise.
50730 (script): Always return the AST.
50731 (argument): Pass the state around.
50732 (arguments): Likewise.
50733 (grubcmd): Likewise.
50734 (commands): Likewise.
50735 (function): Likewise.
50736 (menuentry): Likewise.
50737 (if_statement): Likewise.
50738 (if): Likewise.
50739
50740 * normal/script.c (grub_script_memused): Removed variable.
50741 (grub_script_parsed): Likewise.
50742 (grub_script_malloc): Added a state argument. Use that instead of
50743 global variables.
50744 (grub_script_mem_record): Likewise.
50745 (grub_script_mem_record_stop): Likewise.
50746 (grub_script_arg_add): Likewise.
50747 (grub_script_add_arglist): Likewise.
50748 (grub_script_create_cmdline): Likewise.
50749 (grub_script_create_cmdif): Likewise.
50750 (grub_script_create_cmdmenu): Likewise.
50751 (grub_script_add_cmd): Likewise.
50752 (grub_script_parse): Setup the state before calling the parser.
50753
50754 2006-04-16 Marco Gerards <marco@gnu.org>
50755
50756 * normal/command.c (grub_command_init): Remove the title command.
50757
50758 * normal/lexer.c (grub_script_yylex): Renamed from this...
50759 (grub_script_yylex2): ... to this.
50760 (grub_script_yylex): New function. Temporary
50761 introduced to filter some tokens.
50762 (grub_script_yyerror): Print a newline.
50763
50764 * normal/main.c (read_config_file): Output information about the
50765 lines that contain errors. Wait for a key after all lines have
50766 been processed. Don't return an empty menu.
50767
50768 * normal/parser.y (func_mem): Don't initialize.
50769 (menu_entry): Likewise.
50770 (err): New variable.
50771 (script): Don't return anything when an error was encountered.
50772 (ws, returns): Removed rules.
50773 (argument): Disabled concatenated variable support.
50774 (arguments): Remove explicit separators.
50775 (grubcmd): Likewise.
50776 (function): Likewise.
50777 (menuentry): Likewise.
50778 (if): Likewise.
50779 (commands): Likewise. Add error handling.
50780
50781 * normal/script.c (grub_script_create_cmdline): If
50782 `grub_script_parsed' is 0, assume the parser encountered an error.
50783
50784 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50785
50786 * configure.ac: Add support for EFI. Fix the typo
50787 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50788
50789 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50790
50791 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50792 foreign multibyte characters should be shown correctly.
50793
50794 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50795
50796 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50797 calculation.
50798 (read_config_file): Made it to close file before returning.
50799
50800 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50801
50802 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50803 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50804 video/i386/pc/vbefill.c.
50805
50806 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50807 video/i386/pc/vbefill.c.
50808
50809 * include/grub/video.h (grub_video_blit_format): New enum.
50810 (grub_video_mode_info): Added new member blit_format.
50811 (grub_video_get_blit_format): New function prototype.
50812
50813 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50814 function prototype.
50815 (grub_video_vbe_map_rgb): Likewise.
50816 (grub_video_vbe_unmap_color): Likewise.
50817
50818 * include/grub/i386/pc/vbeblit.h: New file.
50819
50820 * include/grub/i386/pc/vbefill.h: New file.
50821
50822 * video/video.c (grub_video_get_blit_format): New function.
50823 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50824 (grub_video_vbe_map_rgb): Likewise.
50825 (grub_video_vbe_unmap_color): Likewise.
50826
50827 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50828 optimized fills.
50829 (grub_video_vbe_blit_render_target): Changed to use more optimized
50830 blits.
50831 (grub_video_vbe_setup): Added detection for optimized settings.
50832 (grub_video_vbe_create_render_target): Likewise.
50833
50834 * video/i386/pc/vbeblit.c: New file.
50835
50836 * video/i386/pc/vbefill.c: New file.
50837
50838 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50839
50840 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50841 here...
50842
50843 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50844 parsing to support both hex and dec ranges. If filename was missing
50845 show usage information.
50846
50847 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50848
50849 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50850 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50851
50852 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50853 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50854 (video_mod_SOURCES): Added.
50855 (video_mod_CFLAGS): Likewise.
50856 (video_mod_LDFLAGS): Likewise.
50857 (gfxterm_mod_SOURCES): Likewise.
50858 (gfxterm_mod_CFLAGS): Likewise.
50859 (gfxterm_mod_LDFLAGS): Likewise.
50860 (videotest_mod_SOURCES): Likewise.
50861 (videotest_mod_CFLAGS): Likewise.
50862 (videotest_mod_LDFLAGS): Likewise.
50863 (vesafb_mod_SOURCES): Removed.
50864 (vesafb_mod_CFLAGS): Likewise.
50865 (vesafb_mod_LDFLAGS): Likewise.
50866 (vga_mod_SOURCES): Likewise.
50867 (vga_mod_CFLAGS): Likewise.
50868 (vga_mod_LDFLAGS): Likewise.
50869
50870 * commands/videotest.c: New file.
50871
50872 * font/manager.c (fill_with_default_glyph): Modified to use
50873 grub_font_glyph.
50874 (grub_font_get_glyph): Likewise.
50875 (fontmanager): Renamed from this...
50876 (font_manager): ... to this.
50877
50878 * include/grub/font.h (grub_font_glyph): Added new structure.
50879 (grub_font_get_glyph): Modified to use grub_font_glyph.
50880
50881 * include/grub/misc.h (grub_abs): Added as inline function.
50882
50883 * include/grub/video.h: New file.
50884
50885 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50886 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50887 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50888 (grub_vbe_get_controller_info): Renamed from this...
50889 (grub_vbe_bios_get_controller_info): ... to this.
50890 (grub_vbe_get_mode_info): Renamed from this...
50891 (grub_vbe_bios_get_mode_info): ... to this.
50892 (grub_vbe_set_mode): Renamed from this...
50893 (grub_vbe_bios_set_mode): ... to this.
50894 (grub_vbe_get_mode): Renamed from this...
50895 (grub_vbe_bios_get_mode): ... to this.
50896 (grub_vbe_set_memory_window): Renamed from this...
50897 (grub_vbe_bios_set_memory_window): ... to this.
50898 (grub_vbe_get_memory_window): Renamed from this...
50899 (grub_vbe_bios_get_memory_window): ... to this.
50900 (grub_vbe_set_scanline_length): Renamed from this...
50901 (grub_vbe_set_scanline_length): ... to this.
50902 (grub_vbe_get_scanline_length): Renamed from this...
50903 (grub_vbe_bios_get_scanline_length): ... to this.
50904 (grub_vbe_set_display_start): Renamed from this...
50905 (grub_vbe_bios_set_display_start): ... to this.
50906 (grub_vbe_get_display_start): Renamed from this...
50907 (grub_vbe_bios_get_display_start): ... to this.
50908 (grub_vbe_set_palette_data): Renamed from this...
50909 (grub_vbe_bios_set_palette_data): ... to this.
50910 (grub_vbe_set_pixel_rgb): Removed.
50911 (grub_vbe_set_pixel_index): Likewise.
50912
50913 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50914 from this...
50915 (grub_vbe_bios_get_controller_info): ... to this.
50916 (grub_vbe_get_mode_info): Renamed from this...
50917 (grub_vbe_bios_get_mode_info): ... to this.
50918 (grub_vbe_set_mode): Renamed from this...
50919 (grub_vbe_bios_set_mode): ... to this.
50920 (grub_vbe_get_mode): Renamed from this...
50921 (grub_vbe_bios_get_mode): ... to this.
50922 (grub_vbe_set_memory_window): Renamed from this...
50923 (grub_vbe_bios_set_memory_window): ... to this.
50924 (grub_vbe_get_memory_window): Renamed from this...
50925 (grub_vbe_bios_get_memory_window): ... to this.
50926 (grub_vbe_set_scanline_length): Renamed from this...
50927 (grub_vbe_set_scanline_length): ... to this.
50928 (grub_vbe_get_scanline_length): Renamed from this...
50929 (grub_vbe_bios_get_scanline_length): ... to this.
50930 (grub_vbe_set_display_start): Renamed from this...
50931 (grub_vbe_bios_set_display_start): ... to this.
50932 (grub_vbe_get_display_start): Renamed from this...
50933 (grub_vbe_bios_get_display_start): ... to this.
50934 (grub_vbe_set_palette_data): Renamed from this...
50935 (grub_vbe_bios_set_palette_data): ... to this.
50936 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50937 getting corrupted after calling it. Added more pushes and pops.
50938 (grub_vbe_bios_set_mode): Likewise.
50939 (grub_vbe_bios_get_mode): Likewise.
50940 (grub_vbe_bios_get_memory_window): Likewise.
50941 (grub_vbe_bios_set_scanline_length): Likewise.
50942 (grub_vbe_bios_get_scanline_length): Likewise.
50943 (grub_vbe_bios_get_display_start): Likewise.
50944 (grub_vbe_bios_set_palette_data): Likewise.
50945
50946 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50947 (cl_insert): Likewise.
50948 (cl_delete): Likewise.
50949
50950 * term/gfxterm.c: New file.
50951
50952 * term/i386/pc/vesafb.c: Removed file.
50953
50954 * video/video.c: New file.
50955
50956 * video/i386/pc/vbe.c (real2pm): Added new function.
50957 (grub_video_vbe_draw_pixel): Likewise.
50958 (grub_video_vbe_get_video_ptr): Likewise.
50959 (grub_video_vbe_get_pixel): Likewise
50960 (grub_video_vbe_init): Likewise.
50961 (grub_video_vbe_fini): Likewise.
50962 (grub_video_vbe_setup): Likewise.
50963 (grub_video_vbe_get_info): Likewise.
50964 (grub_video_vbe_set_palette): Likewise.
50965 (grub_video_vbe_get_palette): Likewise.
50966 (grub_video_vbe_set_viewport): Likewise.
50967 (grub_video_vbe_get_viewport): Likewise.
50968 (grub_video_vbe_map_color): Likewise.
50969 (grub_video_vbe_map_rgb): Likewise.
50970 (grub_video_vbe_map_rgba): Likewise.
50971 (grub_video_vbe_unmap_color): Likewise.
50972 (grub_video_vbe_fill_rect): Likewise.
50973 (grub_video_vbe_blit_glyph): Likewise.
50974 (grub_video_vbe_blit_bitmap): Likewise.
50975 (grub_video_vbe_blit_render_target): Likewise.
50976 (grub_video_vbe_scroll): Likewise.
50977 (grub_video_vbe_swap_buffers): Likewise.
50978 (grub_video_vbe_create_render_target): Likewise.
50979 (grub_video_vbe_delete_render_target): Likewise.
50980 (grub_video_vbe_set_active_render_target): Likewise.
50981 (grub_vbe_set_pixel_rgb): Remove function.
50982 (grub_vbe_set_pixel_index): Likewise.
50983 (index_color_mode): Remove static variable.
50984 (active_mode): Likewise.
50985 (framebuffer): Likewise.
50986 (bytes_per_scan_line): Likewise.
50987 (grub_video_vbe_adapter): Added new static variable.
50988 (framebuffer): Likewise.
50989 (render_target): Likewise.
50990 (initial_mode): Likewise.
50991 (mode_in_use): Likewise.
50992 (mode_list): Likewise.
50993
50994 2006-03-10 Marco Gerards <marco@gnu.org>
50995
50996 * configure.ac (AC_INIT): Bumped to 1.93.
50997
50998 * DISTLIST: Added `include/grub/hfs.h'.
50999
51000 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
51001
51002 * boot/i386/pc/boot.S (general_error): Before looping, try INT
51003 18H, which might help the BIOS falling back to next boot media.
51004
51005 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
51006
51007 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
51008 Poe Chen <poe.poechen@gmail.com>.
51009
51010 2006-01-17 Marco Gerards <marco@gnu.org>
51011
51012 * include/grub/normal.h: Include <grub/script.h>.
51013 (grub_command_list): Removed struct.
51014 (grub_command_list_t): Removed type.
51015 (grub_menu_entry): Remove members `num' and `command_list'. Add
51016 members `commands' and `sourcecode'.
51017 * include/grub/script.h: Add inclusion guards.
51018 (grub_script_cmd_menuentry): New struct.
51019 (grub_script_execute_menuentry): New prototype.
51020 (grub_script_lexer_record_start): Likewise.
51021 (grub_script_lexer_record_stop): Likewise.
51022 * normal/execute.c (grub_script_execute_menuentry): New function.
51023 * normal/lexer.c (record, recording, recordpos, recordlen): New
51024 variables.
51025 (grub_script_lexer_record_start): New function.
51026 (grub_script_lexer_record_stop): Likewise.
51027 (recordchar): Likewise.
51028 (nextchar): Likewise.
51029 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
51030 2048 as the buffer size. Add the tokens `menuentry' and `@'.
51031 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
51032 (current_menu): New variable.
51033 (free_menu): Mainly rewritten.
51034 (grub_normal_menu_addentry): New function.
51035 (read_config_file): Rewritten.
51036 * normal/menu.c (run_menu_entry): Mainly rewritten.
51037 * normal/menu_entry.c (make_screen): Rewritten the code to insert
51038 the menu entry.
51039 (run): Mainly rewritten.
51040 * normal/parser.y (menu_entry): New variable.
51041 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
51042 (menuentry): New rule.
51043 (command): Add `menuentry'.
51044 (if_statement): Allow additional returns before `fi'.
51045 * normal/script.c (grub_script_create_cmdmenu): New function.
51046
51047 2006-01-03 Marco Gerards <marco@gnu.org>
51048
51049 * INSTALL: GNU Bison is required.
51050 * configure.ac: Rewritten the test to detect Bison.
51051 * Makefile.in (YACC): New variable. Reported by Xun Sun
51052 <xun.sun.cn@gmail.com>.
51053
51054 2006-01-03 Marco Gerards <marco@gnu.org>
51055
51056 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
51057 the HFS+ filesystem to filesystem blocks.
51058 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
51059 GCC warning is silenced.
51060
51061 2006-01-03 Marco Gerards <marco@gnu.org>
51062
51063 * partmap/apple.c (apple_partition_map_iterate): Convert the data
51064 read from disk from big endian to host byte order.
51065
51066 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
51067
51068 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
51069 documentation.
51070 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
51071 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
51072 embedded HFS+ filesystem.
51073 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
51074 (grub_hfs_sblock): Move from here...
51075 * include/grub/hfs.h: To here... New file.
51076 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
51077 documentation.
51078 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
51079 New macros.
51080 (grub_hfsplus_volheader): Change type of member `magic' to
51081 `grub_uint16_t'.
51082 (grub_hfsplus_data): Add new member `embedded_offset'.
51083 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
51084 returned block.
51085 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
51086 Calculate the offset.
51087
51088 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51089
51090 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
51091 Removed.
51092 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
51093
51094 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51095
51096 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
51097 ENV->NAME is NULL after allocating ENV->VALUE.
51098
51099 2005-12-25 Marco Gerards <marco@gnu.org>
51100
51101 * kern/env.c (grub_env_set): Rewritten the error handling code.
51102
51103 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51104
51105 * geninit.sh: Made more robust, and more portable.
51106
51107 2005-12-25 Marco Gerards <marco@gnu.org>
51108
51109 Add support for Apple HFS+ filesystems.
51110
51111 * fs/hfsplus.c: New file.
51112
51113 * DISTLIST: Added `fs/hfsplus.c'.
51114
51115 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
51116 (hfsplus_mod_SOURCES): New variable.
51117 (hfsplus_mod_CFLAGS): Likewise.
51118 (hfsplus_mod_LDFLAGS): Likewise.
51119 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
51120 (grub_setup_SOURCES): Likewise.
51121 (grub_mkdevicemap_SOURCES): Likewise.
51122 (grub_emu_SOURCES): Likewise.
51123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51124
51125 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
51126
51127 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
51128
51129 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51130
51131 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
51132 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
51133 include/grub/parser.h, include/grub/script.h, kern/parser.c,
51134 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
51135 normal/lexer.c, normal/parser.y, normal/script.c, and
51136 partmap/gpt.c.
51137 Removed kern/sparc64/cache.c.
51138
51139 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
51140 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
51141 grub_emu_init.c.
51142
51143 * configure.ac (AC_INIT): Bumped to 1.92.
51144
51145 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
51146
51147 * kern/err.c (grub_error_push): Added new function to support error
51148 stacks.
51149 (grub_error_pop): Likewise.
51150 (grub_error_stack_items): New local variable to support error stacks.
51151 (grub_error_stack_pos): Likewise.
51152 (grub_error_stack_assert): Likewise.
51153 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
51154 stack depth.
51155 (grub_print_error): Added support to print errors from error stack.
51156
51157 * include/grub/err.h (grub_error_push): Added function prototype.
51158 (grub_error_pop): Likewise.
51159
51160 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
51161
51162 * configure.ac: Accept `powerpc64' as host_cpu.
51163 (amd64): Rename to `biarch32'.
51164
51165 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
51166 non-cacheline-aligned addresses.
51167
51168 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
51169 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
51170 if `size' is non-zero.
51171
51172 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
51173
51174 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
51175 and `cd' to make sure the filename is not prefixed with a
51176 directory name.
51177 (pkgdata_MODULES): Add `gpt.mod'.
51178 (gpt_mod_SOURCES): New variable.
51179 (gpt_mod_CFLAGS): Likewise.
51180 (gpt_mod_LDFLAGS): Likewise.
51181
51182 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
51183
51184 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
51185 New macro.
51186
51187 * partmap/gpt.c: New file.
51188
51189 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
51190 GPT partition map is detected.
51191
51192 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
51193
51194 * commands/i386/pc/play.c: New file.
51195 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
51196 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
51197 macros.
51198
51199 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
51200
51201 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
51202 ((unused))' to silence gcc warning.
51203
51204 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
51205
51206 * configure.ac: Correct `AC_PROG_YACC' test.
51207
51208 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51209
51210 * util/powerpc/ieee1275/grub-install.in: Run the mount point
51211 check before installing files.
51212
51213 2005-11-22 Mike Small <smallm@panix.com>
51214
51215 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
51216 number regex so multidigit numbers are recognized correctly.
51217
51218 2005-11-22 Mike Small <smallm@panix.com>
51219
51220 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
51221 debugging message before attempting to claim memory.
51222 (grub_rescue_cmd_initrd): Add a claim debugging message and try
51223 multiple addresses in case of failure.
51224
51225 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51226
51227 * term/tparm.c (get_space): Remove empty `if' statement.
51228
51229 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
51230
51231 * kern/parser.c (check_varstate): Rename `state' to 's'.
51232
51233 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51234
51235 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
51236 variable definitions to the beginning of each function. Sort stack
51237 variables by size.
51238 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
51239 `buf' argument to `char *'.
51240
51241 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51242
51243 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
51244 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51245 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51246 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51247 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51248 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51249 configfile.mod, search.mod, gzio.mod and test.mod.
51250 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51251 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51252 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51253 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51254 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51255 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51256 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51257 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51258 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51259 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51260 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51261 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51262 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51263 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51264 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51265 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51266 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51267 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51268 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51269 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51270 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51271 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51272 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51273
51274 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51275 `grep --include'.
51276 (pkgdata_MODULES): Add test.mod.
51277
51278 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51279
51280 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51281 appending to variables with "+=".
51282 (PModule): Use full pathname to generate *.lst filenames.
51283
51284 * Makefile.in: Fixed list rules moved from genmk.rb.
51285 (.DELETE_ON_ERROR): New special target.
51286 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51287
51288 * conf/i386-pc.rmk: Include conf/common.mk.
51289 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51290 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51291 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51292 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51293 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51294 configfile.mod, search.mod, gzio.mod and test.mod.
51295 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51296 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51297 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51298 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51299 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51300 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51301 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51302 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51303 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51304 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51305 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51306 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51307 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51308 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51309 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51310 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51311 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51312 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51313 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51314 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51315 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51316 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51317 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51318 here...
51319 * conf/common.rmk: ... to here. New file.
51320
51321 * conf/common.mk: New file.
51322
51323 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51324
51325 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51326 (grub_script.tab.c): ... here.
51327
51328 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51329 (grub_script.tab.c): ... here.
51330
51331 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51332 (grub_script.tab.c): ... here.
51333
51334 * normal/command.c (grub_command_find): Fixed a memory leak of
51335 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51336
51337 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51338
51339 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51340 "@" which marks the start of a comment on ARM.
51341 (VARIABLE): Likewise.
51342
51343 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51344
51345 Add support for Linux/ADFS partition tables.
51346
51347 * partmap/acorn.c: New file.
51348
51349 * include/grub/acorn_filecore.h: Likewise.
51350
51351 * DISTLIST: Added `partmap/acorn.c' and
51352 `include/grub/acorn_filecore.h'.
51353
51354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51355 `partmap/acorn.c'.
51356 (pkgdata_MODULES): Add `acorn.mod'.
51357 (acorn_mod_SOURCES): New variable.
51358 (acorn_mod_CFLAGS): Likewise.
51359
51360 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51361 `partmap/acorn.c'.
51362 (pkgdata_MODULES): Add `acorn.mod'.
51363 (acorn_mod_SOURCES): New variable.
51364 (acorn_mod_CFLAGS): Likewise.
51365
51366 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51367 (pkgdata_MODULES): Add `acorn.mod'.
51368 (acorn_mod_SOURCES): New variable.
51369 (acorn_mod_CFLAGS): Likewise.
51370 (acorn_mod_LDFLAGS): Likewise.
51371
51372 * include/types.h (grub_disk_addr_t): New typedef.
51373
51374 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
51375
51376 * geninit.sh: New file.
51377
51378 * geninitheader.sh: Likewise.
51379
51380 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51381 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51382 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51383 * commands/configfile.c (grub_configfile_init)
51384 (grub_configfile_fini): Likewise.
51385 * commands/default.c (grub_default_init, grub_default_fini):
51386 Likewise.
51387 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51388 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51389 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51390 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51391 Likewise.
51392 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51393 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51394 Likewise.
51395 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
51396 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
51397 Likewise.
51398 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51399 Likewise.
51400 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
51401 Likewise.
51402 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51403 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51404 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51405 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51406 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51407 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51408 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51409 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51410 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51411 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51412 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51413 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51414 * partmap/amiga.c (grub_amiga_partition_map_init)
51415 (grub_amiga_partition_map_fini): Likewise.
51416 * partmap/apple.c (grub_apple_partition_map_init)
51417 (grub_apple_partition_map_fini): Likewise.
51418 * partmap/pc.c (grub_pc_partition_map_init)
51419 (grub_pc_partition_map_fini): Likewise.
51420 * partmap/sun.c (grub_sun_partition_map_init,
51421 grub_sun_partition_map_fini): Likewise.
51422 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51423 Likewise.
51424
51425 * util/grub-emu.c: Include <grub_modules_init.h>.
51426 (main): Don't initialize and de-initialize any modules directly,
51427 use `grub_init_all' and `grub_fini_all' instead.
51428
51429 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51430 `grub_vesafb_mod_init'.
51431 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51432 all users.
51433 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51434 `grub_vga_mod_init'. Updated all users.
51435 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
51436
51437 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51438 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51439 rules.
51440
51441 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51442 Generate a function to initialize the module in utilities.
51443 Updated all callers.
51444 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51445 initialize the module in utilities. Updated all callers.
51446
51447 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51448
51449 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51450 escape sequence and a literal ^L to clear the screen.
51451
51452 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51453 when returning from Open Firmware.
51454
51455 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51456
51457 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51458 (grub_ofconsole_height): Likewise.
51459 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51460 manually insert a '\n'.
51461 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51462 `grub_ofconsole_height'. Return early if these are already set.
51463
51464 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51465
51466 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51467 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51468 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51469 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51470 and `normal/script.c'.
51471 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51472 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51473 (test_mod_SOURCES): New variable.
51474 (test_mod_CFLAGS): Likewise.
51475 (test_mod_LDFLAGS): Likewise.
51476 (pkgdata_MODULES): Add `test.mod'.
51477 (grub_script.tab.c): New rule.
51478 (grub_script.tab.h): Likewise.
51479
51480 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
51481
51482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51483 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51484 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51485 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51486 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51487 (test_mod_SOURCES): New variable.
51488 (test_mod_CFLAGS): Likewise.
51489 (pkgdata_MODULES): Add `test.mod'.
51490 (grub_script.tab.c): New rule.
51491 (grub_script.tab.h): Likewise.
51492
51493 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
51494
51495 Add initial scripting support.
51496
51497 * commands/test.c: New file.
51498 * include/grub/script.h: Likewise.
51499 * normal/execute.c: Likewise.
51500 * normal/function.c: Likewise.
51501 * normal/lexer.c: Likewise.
51502 * normal/parser.y: Likewise.
51503 * normal/script.c: Likewise.
51504
51505 * configure.ac: Add `AC_PROG_YACC' test.
51506
51507 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51508 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51509 `normal/function.c' and `normal/script.c'.
51510 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51511 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51512 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51513 variables.
51514 (pkgdata_MODULES): Add `test.mod'.
51515 (grub_script.tab.c): New rule.
51516 (grub_script.tab.h): Likewise.
51517
51518 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51519
51520 * include/grub/normal.h (grub_test_init): New prototype.
51521 (grub_test_fini): Likewise.
51522
51523 * normal/command.c: Include <grub/script.h>.
51524 (grub_command_execute): Rewritten.
51525
51526 * util/grub-emu.c (main): Call `grub_test_init' and
51527 `grub_test_fini'.
51528
51529 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51530
51531 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51532 to 0.
51533 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51534 there are no pending characters.
51535
51536 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51537
51538 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51539 `grub_strndup' to drop device arguments. Replace unnecessary
51540 `grub_strndup' with `grub_strdup'.
51541
51542 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51543
51544 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51545 `debug' environment variable has been set.
51546
51547 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
51548
51549 * Makefile.in (install-local): Use $(DATA).
51550 (uninstall): Likewise.
51551 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51552 (sbin_UTILITIES): ... to here.
51553 (sbin_SCRIPTS): New variable.
51554 (grub_install_SOURCES): New variable.
51555 * util/powerpc/ieee1275/grub-install.in: New file.
51556 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51557 variable.
51558 (add_segments): Call `grub_util_get_path'.
51559
51560 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51561
51562 From Timothy Baldwin:
51563 * commands/ls.c (grub_ls_list_files): Close FILE with
51564 grub_file_close.
51565 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51566
51567 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
51568
51569 * include/grub/parser.h: New file.
51570
51571 * kern/parser.c: Likewise.
51572
51573 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51574 (grub_setup_SOURCES): Likewise.
51575 (grub_probefs_SOURCES): Likewise.
51576 (grub_emu_SOURCES): Likewise.
51577 (kernel_img_HEADERS): Add `parser.h'.
51578
51579 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51580 (grub_emu_SOURCES): Add `kern/parser.c'.
51581 (grubof_SOURCES): Likewise.
51582
51583 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51584 (grubof_SOURCES): Add `kern/parser.c'.
51585
51586 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51587
51588 * kern/misc.c (grub_split_cmdline): Removed function.
51589
51590 * kern/rescue.c: Include <grub/parser.h>.
51591 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51592 of `grub_split_cmdline'.
51593
51594 * normal/command.c: Include <grub/parser.h>.
51595 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51596 of `grub_split_cmdline'.
51597
51598 * normal/completion.c: Include <grub/parser.h>.
51599 (cmdline_state): New variable.
51600 (iterate_dir): End the filename with a quote depending on the
51601 command line state.
51602 (get_state): new function.
51603 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51604 split the arguments and determine the current argument. When the
51605 argument string is not quoted, escape all spaces.
51606
51607 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51608
51609 * normal/sparc64/setjmp.S: New file.
51610
51611 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51612
51613 * include/grub/sparc64/libgcc.h: New file.
51614 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51615 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51616 normal/sparc64/setjmp.c.
51617
51618 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51619
51620 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51621 * kern/sparc64/cache.S: New file.
51622 * kern/sparc64/cache.c: Removed.
51623 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51624 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51625 -mtune=ultrasparc.
51626 (COMMON_LDFLAGS): Add -melf64_sparc.
51627 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51628 (grubof_SOURCES): Use cache.S instead of cache.c.
51629 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51630 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51631 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51632 commented though.
51633 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51634 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51635 (linux_mod_CFLAGS): Commented out.
51636 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51637 out because module isn't built.
51638 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51639 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51640 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51641 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51642 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51643 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51644 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51645 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51646 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51647 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51648 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51649 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51650 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51651 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51652
51653 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51654
51655 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51656 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51657 longer, because HFS should not be used on PC.
51658
51659 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51660
51661 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51662 consistently within the loop.
51663
51664 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
51665
51666 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51667 directory can not be read.
51668
51669 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51670
51671 * configure.ac (AC_INIT): Increase the version number to 1.91.
51672
51673 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51674 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51675 term/i386/pc/serial.c.
51676
51677 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51678
51679 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51680 file size must be permitted.
51681
51682 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51683 between %ah and %al.
51684
51685 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51686
51687 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51688 grub_uint64_t.
51689 Call the hook with a NUL-terminated filename.
51690 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51691 grub_cpu_to_be32.
51692
51693 * kern/term.c (cursor_state): New variable.
51694 (grub_term_set_current): Reset the cursor state on a new
51695 terminal.
51696 (grub_setcursor): Rewritten to use CURSOR_STATE.
51697 (grub_getcursor): New function.
51698
51699 * include/grub/term.h (grub_getcursor): New prototype.
51700
51701 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51702 integers on ARM. Reported by Timothy Baldwin
51703 <T.E.Baldwin99@members.leeds.ac.uk>.
51704
51705 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
51706
51707 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51708 allocated.
51709 (grub_sfs_dir): Likewise.
51710
51711 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
51712
51713 Add support for the SFS filesystem.
51714
51715 * fs/sfs.c: New file.
51716
51717 * DISTLIST: Added `fs/sfs.c'.
51718
51719 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51720 (grub_probefs_SOURCES): Likewise.
51721 (grub_emu_SOURCES): Likewise.
51722 (pkgdata_MODULES): Add `sfs.mod'.
51723 (sfs_mod_SOURCES): New variable.
51724 (sfs_mod_CFLAGS): Likewise.
51725 (sfs_mod_LDFLAGS): Likewise.
51726
51727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51728 (pkgdata_MODULES): Add `sfs.mod'.
51729 (sfs_mod_SOURCES): New variable.
51730 (sfs_mod_CFLAGS): Likewise.
51731
51732 * util/grub-emu.c (main): Call `grub_sfs_init' and
51733 `grub_sfs_fini'.
51734
51735 * include/grub/fs.h (grub_sfs_init): New prototype.
51736 (grub_sfs_fini): Likewise.
51737
51738 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
51739
51740 Add support for the AFFS filesystem.
51741
51742 * fs/affs.c: New file.
51743
51744 * DISTLIST: Added `fs/affs.c'.
51745
51746 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51747 (grub_probefs_SOURCES): Likewise.
51748 (grub_emu_SOURCES): Likewise.
51749 (pkgdata_MODULES): Add `affs.mod'.
51750 (affs_mod_SOURCES): New variable.
51751 (affs_mod_CFLAGS): Likewise.
51752 (affs_mod_LDFLAGS): Likewise.
51753
51754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51755 (pkgdata_MODULES): Add `affs.mod'.
51756 (affs_mod_SOURCES): New variable.
51757 (affs_mod_CFLAGS): Likewise.
51758
51759 * util/grub-emu.c (main): Call `grub_affs_init' and
51760 `grub_affs_fini'.
51761
51762 * include/grub/fs.h (grub_affs_init): New prototype.
51763 (grub_affs_fini): Likewise.
51764
51765 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51766
51767 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51768
51769 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51770
51771 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51772 `-m32' to CFLAGS.
51773
51774 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51775 linking.
51776
51777 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51778 (COMMON_LDFLAGS): New variable.
51779 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51780 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51781 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51782 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51783 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51784 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51785 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51786 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51787 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51788 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51789 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51790 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51791 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51792 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51793 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51794 variables.
51795 (normal_mod_ASFLAGS): Add `-m32'.
51796
51797 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51798 (grub_host_size_t, grub_host_ssize_t): New types.
51799 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
51800 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
51801 `GRUB_HOST_SIZEOF_VOID_P'.
51802
51803 * include/grub/kernel.h (struct grub_module_header): Type of
51804 member offset changed to `grub_host_off_t'. Type of member size
51805 changed to `grub_host_size_t'.
51806 (struct grub_module_info): Type of member offset changed to
51807 `grub_host_off_t'. Type of member size changed to
51808 `grub_host_size_t'.
51809
51810 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51811
51812 Make GRUB's kernel compliant to Multiboot Specification.
51813
51814 * kern/i386/pc/startup.S (multiboot_header): New label.
51815 (multiboot_entry): Likewise.
51816 (multiboot_trampoline): Likewise.
51817
51818 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51819 Increased to 0x4A0.
51820
51821 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51822 put parentheses after a question mark.
51823 [!GRUB_UTIL] (my_mod): New variable.
51824
51825 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51826
51827 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
51828
51829 Adds support for the XFS filesystem. Btrees are not supported
51830 yet.
51831
51832 * fs/xfs.c: New file.
51833
51834 * DISTLIST: Added `fs/xfs.c'.
51835
51836 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51837 (grub_probefs_SOURCES): Likewise.
51838 (grub_emu_SOURCES): Likewise.
51839 (pkgdata_MODULES): Add `xfs.mod'.
51840 (xfs_mod_SOURCES): New variable.
51841 (xfs_mod_CFLAGS): Likewise.
51842
51843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51844 (pkgdata_MODULES): Add `xfs.mod'.
51845 (xfs_mod_SOURCES): New variable.
51846 (xfs_mod_CFLAGS): Likewise.
51847
51848 * util/grub-emu.c (main): Call `grub_xfs_init' and
51849 `grub_xfs_fini'.
51850
51851 * include/grub/fs.h (grub_xfs_init): New prototype.
51852 (grub_xfs_fini): Likewise.
51853
51854
51855 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51856
51857 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51858 color modes, allow greater than 16 colors to be configured as
51859 a default palette.
51860
51861 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51862
51863 * normal/completion.c (complete_arguments): Add the qualifier
51864 const into OPTIONS.
51865
51866 From Omniflux <omniflux+lists@omniflux.com>:
51867 * include/grub/terminfo.h: New file.
51868 * include/grub/tparm.h: Likewise.
51869 * include/grub/i386/pc/serial.h: Likewise.
51870 * term/terminfo.c: Likewise.
51871 * term/tparm.c: Likewise.
51872 * term/i386/pc/serial.c: Likewise.
51873 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51874 serial.mod.
51875 (terminfo_mod_SOURCES): New variable.
51876 (terminfo_mod_CFLAGS): Likewise.
51877 (serial_mod_SOURCES): Likewise.
51878 (serial_mod_CFLAGS): Likewise.
51879
51880 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51881
51882 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51883 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51884 and kern/powerpc/ieee1275/cmain.c, respectively.
51885
51886 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51887 * kern/powerpc/ieee1275/crt0.S: ... here.
51888
51889 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51890 * kern/powerpc/ieee1275/cmain.c: ... here.
51891
51892 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51893 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51894 instead of boot/powerpc/ieee1275/crt0.S and
51895 boot/powerpc/ieee1275/cmain.c, respectively.
51896
51897 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51898 sectors. It was not used anyway.
51899
51900 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51901
51902 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51903 `unused parameter' warning.
51904
51905 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51906
51907 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51908 function.
51909 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51910 getcharwidth.
51911
51912 2005-08-28 Marco Gerards <metgerards@student.han.nl>
51913
51914 * include/grub/normal.h (enum grub_completion_type): Added
51915 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51916
51917 * normal/cmdline.c (print_completion): Handle
51918 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51919 * normal/menu_entry.c (store_completion): Likewise.
51920
51921 * normal/completion.c (complete_arguments): New function.
51922 (grub_normal_do_completion): Call `complete_arguments' when the
51923 current words start with a dash.
51924
51925 2005-08-27 Marco Gerards <metgerards@student.han.nl>
51926
51927 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51928 `gzio.mod' instead of `io.mod').
51929
51930 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51931
51932 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51933 (DISTDIRS): Added io and video.
51934 Rewrite the search routine to make an output consistently.
51935
51936 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51937 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51938 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51939 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51940 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51941 util/powerpc/ieee1275/misc.c.
51942
51943 * include/grub/gzio.h: New file.
51944 * io/gzio.c: Likewise.
51945
51946 * kern/file.c (grub_file_close): Call grub_device_close only if
51947 FILE->DEVICE is not NULL.
51948
51949 * include/grub/mm.h [!NULL] (NULL): New macro.
51950
51951 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51952
51953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51954 (pkgdata_MODULES): Added gzio.mod.
51955 (gzio_mod_SOURCES): New variable.
51956 (gzio_mod_CFLAGS): Likewise.
51957
51958 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51959 (pkgdata_MODULES): Added gzio.mod.
51960 (gzio_mod_SOURCES): New variable.
51961 (gzio_mod_CFLAGS): Likewise.
51962
51963 * commands/cat.c: Include grub/gzio.h.
51964 (grub_cmd_cat): Use grub_gzfile_open instead of
51965 grub_file_open.
51966
51967 * commands/cmp.c: Include grub/gzio.h.
51968 (grub_cmd_cmp): Use grub_gzfile_open instead of
51969 grub_file_open.
51970
51971 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51972 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51973 grub_file_open.
51974 (grub_rescue_cmd_module): Likewise.
51975
51976 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51977
51978 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51979 kern/sparc64/ieee1275/init.c because it contains _start.
51980 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51981
51982 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51983
51984 * configure.ac: Add support for sparc64 host with ieee1275
51985 firmware.
51986 * configure: Generated from configure.ac.
51987 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51988 instead of int.
51989 (grub_ofdisk_read): Likewise.
51990 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51991 pointers as (void *) to remove a warning.
51992 (grub_ofdisk_close): Likewise.
51993 (grub_ofdisk_read): Likewise.
51994 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51995 returns, so make it return void to remove a warning.
51996 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51997 Corresponding prototype change.
51998 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51999 values, and cast the pointers as (void *) to remove a warning.
52000 (grub_mm_dump): Likewise.
52001 * conf/sparc64-ieee1275.mk: New file.
52002 * conf/sparc64-ieee1275.rmk: Likewise.
52003 * include/grub/sparc64/setjmp.h: Likewise.
52004 * include/grub/sparc64/types.h: Likewise.
52005 * include/grub/sparc64/ieee1275/console.h: Likewise.
52006 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
52007 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
52008 * include/grub/sparc64/ieee1275/time.h: Likewise.
52009 * kern/sparc64/cache.c: Likewise.
52010 * kern/sparc64/dl.c: Likewise.
52011 * kern/sparc64/ieee1275/init.c: Likewise.
52012 * kern/sparc64/ieee1275/openfw.c: Likewise.
52013
52014 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52015
52016 * util/console.c (grub_ncurses_putchar): If C is greater than
52017 0x7f, set C to a question mark.
52018 (grub_ncurses_getcharwidth): New function.
52019 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
52020 getcharwidth.
52021
52022 * normal/menu.c (print_entry): Made aware of Unicode. First,
52023 convert TITLE to UCS-4, and predict the cursor position by
52024 grub_getcharwidth.
52025
52026 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
52027 const to SRC.
52028 * kern/misc.c (grub_utf16_to_utf8): Likewise.
52029
52030 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52031
52032 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
52033 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
52034 grub_strcat.
52035
52036 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
52037 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
52038 grub_strcpy and grub_strlen. Take it into account that a space
52039 character is inserted as a delimiter.
52040
52041 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52042
52043 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
52044 invalid magic in the error.
52045
52046 * commands/search.c: New file.
52047
52048 * util/grub-emu.c (main): Call grub_search_init and
52049 grub_search_fini.
52050
52051 * kern/rescue.c (grub_rescue_print_disks): Removed.
52052 (grub_rescue_print_devices): New function.
52053 (grub_rescue_cmd_ls): Use grub_device_iterate with
52054 grub_rescue_print_devices instead of grub_disk_dev_iterate with
52055 grub_rescue_print_disks.
52056
52057 * kern/partition.c (grub_partition_iterate): Return the result of
52058 PARTMAP->ITERATE instead of GRUB_ERRNO.
52059
52060 * kern/device.c: Include grub/partition.h.
52061 (grub_device_iterate): New function.
52062
52063 * include/grub/partition.h (grub_partition_iterate): Return int
52064 instead of grub_err_t.
52065
52066 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
52067 prototype.
52068 [GRUB_UTIL] (grub_search_fini): Likewise.
52069
52070 * include/grub/device.h (grub_device_iterate): New prototype.
52071
52072 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52073 commands/search.c.
52074 (pkgdata_MODULES): Added search.mod.
52075 (search_mod_SOURCES): New variable.
52076 (search_mod_CFLAGS): Likewise.
52077
52078 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
52079 (pkgdata_MODULES): Added search.mod.
52080 (search_mod_SOURCES): New variable.
52081 (search_mod_CFLAGS): Likewise.
52082
52083 * commands/ls.c (grub_ls_list_disks): Renamed to ...
52084 (grub_ls_list_devices): ... this, and use grub_device_iterate.
52085 All callers changed.
52086
52087 * DISTLIST: Added commands/search.c.
52088
52089 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52090
52091 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
52092 conversion.
52093 (grub_getcharwidth): New function.
52094
52095 * kern/misc.c (grub_utf8_to_ucs4): New function.
52096
52097 * include/grub/term.h (struct grub_term): Added a new member
52098 "getcharwidth".
52099 (grub_getcharwidth): New prototype.
52100
52101 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
52102
52103 * term/i386/pc/console.c (map_char): New function. Segregated from
52104 grub_console_putchar.
52105 (grub_console_putchar): Use map_char.
52106 (grub_console_getcharwidth): New function.
52107 (grub_console_term): Specified grub_console_getcharwidth as
52108 getcharwidth.
52109
52110 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
52111 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
52112
52113 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
52114 GRUB_ERRNO.
52115 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
52116 on grub_strtoul completely.
52117 (write_char): Declare local variables in the beginning of the
52118 function.
52119 (grub_vesafb_getcharwidth): New function.
52120 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
52121 getcharwidth.
52122
52123 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
52124
52125 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
52126 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
52127 commands/i386/pc/vbetest.c.
52128
52129 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
52130 call grub_vbe_get_controller_info again, because the returned
52131 information is volatile.
52132 (grub_vbe_set_video_mode): Mostly rewritten.
52133 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
52134 grub_vbe_status_t correctly.
52135 (grub_vbe_get_video_mode_info): Likewise.
52136 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
52137 several if statements.
52138
52139 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
52140 * commands/i386/pc/vbeinfo.c: ... this.
52141
52142 * commands/i386/pc/vbe_test.c: Renamed to ...
52143 * commands/i386/pc/vbetest.c: ... this.
52144
52145 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
52146 ...
52147 (grub_cmd_vbeinfo): ... this. Save video modes before
52148 iterating. Skip a video mode, if it is not available, not enough
52149 information is given or it is monochrome. Show the memory
52150 model. Leave the interpretation of MODEVAR to grub_strtoul
52151 completely.
52152 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
52153 (GRUB_MOD_FINI): Likewise.
52154
52155 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
52156 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
52157 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
52158 duplicated grub_env_get. Leave the interpretation of MODEVAR to
52159 grub_strtoul completely.
52160 (real2pm): Removed.
52161 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
52162 (GRUB_MOD_FINI): Likewise.
52163
52164 * normal/misc.c: Include grub/mm.h.
52165
52166 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
52167 vbe_list_modes with vbetest.mod and vbeinfo.mod.
52168 (vbe_list_modes_mod_SOURCES): Removed.
52169 (vbe_list_modes_mod_CFLAGS): Likewise.
52170 (vbe_test_mod_SOURCES): Likewise.
52171 (vbe_test_mod_CFLAGS): Likewise.
52172 (vbeinfo_mod_SOURCES): New variable.
52173 (vbeinfo_mod_CFLAGS): Likewise.
52174 (vbetest_mod_SOURCES): Likewise.
52175 (vbetest_mod_CFLAGS): Likewise.
52176
52177 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
52178
52179 * normal/misc.c: New file.
52180
52181 * DISTLIST: Added normal/misc.c.
52182
52183 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
52184 DISK to HOOK. Call HOOK with DISK.
52185 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52186 * partmap/pc.c (pc_partition_map_iterate): Likewise.
52187 * partmap/sun.c (sun_partition_map_iterate): Likewise.
52188
52189 * normal/menu_entry.c (struct screen): Added a new member
52190 "completion_shown".
52191 (completion_buffer): New global variable.
52192 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
52193 (store_completion): New function.
52194 (complete): Likewise.
52195 (clear_completions): Likewise.
52196 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
52197 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
52198 a tab, call complete.
52199
52200 * normal/completion.c (disk_dev): Removed.
52201 (print_simple_completion): Likewise.
52202 (print_partition_completion): Likewise.
52203 (print_func): New global variable.
52204 (add_completion): Do not take the arguments WHAT or PRINT any
52205 longer. Added a new argument TYPE. Instead of printing directly,
52206 call PRINT_FUNC if not NULL.
52207 All callers changed.
52208 (complete_device): Use a local variable DEV instead of
52209 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
52210 (grub_normal_do_completion): Take a new argument HOOK. Do not
52211 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
52212 empty string, return NULL instead.
52213 All callers changed.
52214
52215 * normal/cmdline.c (print_completion): New function.
52216
52217 * kern/partition.c (grub_partition_iterate): Add an argument DISK
52218 to HOOK.
52219 All callers changed.
52220
52221 * kern/disk.c (grub_print_partinfo): Removed.
52222
52223 * include/grub/partition.h (struct grub_partition_map): Add a new
52224 argument DISK into HOOK of ITERATE.
52225 (grub_partition_iterate): Add a new argument DISK to HOOK.
52226
52227 * include/grub/normal.h (enum grub_completion_type): New enum.
52228 (grub_completion_type_t): New type.
52229 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
52230 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
52231 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
52232 (GRUB_COMPLETION_TYPE_FILE): Likewise.
52233 (grub_normal_do_completion): Added a new argument HOOK.
52234 (grub_normal_print_device_info): New prototype.
52235
52236 * include/grub/disk.h (grub_print_partinfo): Removed.
52237
52238 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
52239 (normal_mod_SOURCES): Likewise.
52240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52241 (normal_mod_SOURCES): Likewise.
52242
52243 * commands/ls.c (grub_ls_list_disks): Use
52244 grub_normal_print_device_info instead of grub_print_partinfo. Free
52245 PNAME.
52246 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52247 duplicating the code.
52248
52249 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52250
52251 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
52252 follow GCS more precisely.
52253 * commands/i386/pc/vbe_test.c: Likewise.
52254 * include/grub/i386/pc/vbe.h: Likewise.
52255 * term/i386/pc/vesafb.c: Likewise.
52256 * video/i386/pc/vbe.c: Likewise.
52257
52258 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52259
52260 * DISTLIST: Added term/i386/pc/vesafb.c
52261 DISTLIST: Added video/i386/pc/vbe.c
52262 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52263 DISTLIST: Added commands/i386/pc/vbe_test.c.
52264 * commands/i386/pc/vbe_list_modes.c: New file.
52265 * commands/i386/pc/vbe_test.c: Likewise.
52266 * term/i386/pc/vesafb.c: Likewise.
52267 * video/i386/pc/vbe.c: Likewise.
52268 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52269 (grub_vbe_probe) Added prototype.
52270 (grub_vbe_set_video_mode) Likewise.
52271 (grub_vbe_get_video_mode) Likewise.
52272 (grub_vbe_get_video_mode_info) Likewise.
52273 (grub_vbe_set_pixel_rgb) Likewise.
52274 (grub_vbe_set_pixel_index) Likewise.
52275 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52276 (pkgdata_MODULES): Added vesafb.mod.
52277 (pkgdata_MODULES): Added vbe_list_modes.mod.
52278 (pkgdata_MODULES): Added vbe_test.mod.
52279 (vbe_mod_SOURCES): Added.
52280 (vbe_mod_CFLAGS): Likewise.
52281 (vesafb_mod_SOURCES): Likewise.
52282 (vesafb_mod_CFLAGS): Likewise.
52283 (vbe_list_modes_mod_SOURCES): Likewise.
52284 (vbe_list_modes_mod_CFLAGS): Likewise.
52285 (vbe_test_mod_SOURCES): Likewise.
52286 (vbe_test_mod_CFLAGS): Likewise.
52287
52288 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52289
52290 * normal/command.c (grub_command_execute): If INTERACTIVE is
52291 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52292 CMDLINE. Disable the pager if INTERACTIVE is true.
52293 All callers are changed.
52294
52295 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52296 before reading a config file.
52297 * normal/main.c (read_config_file): Even if a command is not
52298 found, register it if it is within an entry.
52299
52300 * util/grub-emu.c: Include sys/types.h and unistd.h.
52301 (options): Added --hold.
52302 (struct arguments): Added a new member "hold".
52303 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52304 missing.
52305 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52306 cleared by a debugger, if it is not zero.
52307
52308 * include/grub/normal.h (grub_command_execute): Add an argument
52309 INTERACTIVE.
52310
52311 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52312
52313 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52314
52315 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52316
52317 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52318 program with another one, because the old one didn't detect a bug
52319 in gcc-3.4. Always use regparm 2, because the new test is still
52320 not enough for gcc-4.0. Someone must investigate a simple test
52321 case which detects a bug in gcc-4.0.
52322
52323 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52324
52325 * DISTLIST: Added normal/completion.c.
52326
52327 * normal/completion.c: New file.
52328
52329 * term/i386/pc/console.c (grub_console_getwh): New function.
52330 (grub_console_term): Assign grub_console_getwh to getwh.
52331
52332 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52333 function is defined in normal/completion.c as
52334 grub_normal_do_completion.
52335 (grub_cmdline_get): Use grub_normal_do_completion instead of
52336 grub_tab_complete.
52337
52338 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52339 returns non-zero, otherwise return 0.
52340 (grub_partition_iterate): First, probe the partition map. Then,
52341 call ITERATE only for this partition map.
52342
52343 * kern/misc.c (grub_strncmp): Rewritten.
52344
52345 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52346 returns non-zero. Otherwise return 0.
52347
52348 * include/grub/partition.h (grub_partition_map_iterate): Return
52349 int instead of void.
52350
52351 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52352
52353 * include/grub/misc.h (grub_strncmp): Change the type of N to
52354 grub_size_t.
52355
52356 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52357 of void.
52358
52359 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
52360 unsigned explicitly before comparing it with I.
52361
52362 * kern/main.c (grub_env_write_root): Add the attribute unused into
52363 VAR.
52364
52365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52366 normal/completion.c.
52367 (normal_mod_SOURCES): Likewise.
52368 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52369 (normal_mod_SOURCES): Likewise.
52370
52371 * normal/command.c (grub_iterate_commands): If ITERATE returns
52372 non-zero, return one immediately.
52373
52374 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52375
52376 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52377 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52378 descriptions.
52379 (grub_vbe_get_controller_info): New function.
52380 (grub_vbe_get_mode_info): Likewise.
52381 (grub_vbe_set_mode): Likewise.
52382 (grub_vbe_get_mode): Likewise.
52383 (grub_vbe_set_memory_window): Likewise.
52384 (grub_vbe_get_memory_window): Likewise.
52385 (grub_vbe_set_scanline_length): Likewise.
52386 (grub_vbe_get_scanline_length): Likewise.
52387 (grub_vbe_set_display_start): Likewise.
52388 (grub_vbe_get_display_start): Likewise.
52389 (grub_vbe_set_palette_data): Likewise.
52390 * include/grub/i386/pc/vbe.h: New file.
52391
52392 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52393
52394 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52395 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52396 * DISTLIST: Likewise.
52397 * kern/ieee1275/of.c: Moved to ...
52398 * kern/ieee1275/ieee1275.c: ... here.
52399
52400 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52401
52402 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52403 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52404 Pass 0 as `end' parameter to grub_strtoul().
52405
52406 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52407
52408 * include/grub/powerpc/ieee1275/console.h: Do not include
52409 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52410 ifdef.
52411 (grub_console_cur_color): Remove i386-specific prototype.
52412 (grub_console_real_putchar): Likewise.
52413 (grub_console_checkkey): Likewise.
52414 (grub_console_getkey): Likewise.
52415 (grub_console_getxy): Likewise.
52416 (grub_console_gotoxy): Likewise.
52417 (grub_console_cls): Likewise.
52418 (grub_console_setcursor): Likewise.
52419 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52420 Include <grub/machine/console.h>.
52421 * term/ieee1275/ofconsole.c: Likewise.
52422
52423 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52424
52425 * Makefile.in (LIBLZO): New variable.
52426
52427 * configure.ac: Check for LZO version 2.
52428
52429 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52430 lzo/lzo1x.h instead of lzo1x.h.
52431
52432 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52433 of -llzo.
52434
52435 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52436 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52437
52438 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52439 copying the data from PARTITION to P.
52440
52441 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52442
52443 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52444 negative, unload the module.
52445
52446 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52447 map is "pc_partition_map" but not "pc".
52448 (usage): Fix the description. The options are --boot-image and
52449 --core-image but not --boot-file or --core-file.
52450 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52451 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52452 DEFAULT_DIRECTORY.
52453
52454 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52455 --core-file. Specify INSTALL_DEVICE as an argument.
52456
52457 * util/console.c: Include config.h.
52458 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52459 [HAVE_NCURSES_H]: Include ncurses.h.
52460 [HAVE_CURSES_H]: Include curses.h.
52461 [!A_NORMAL] (A_NORMAL): Defined as zero.
52462 [!A_STANDOUT] (A_STANDOUT): Likewise.
52463
52464 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52465 -lncurses.
52466 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52467
52468 * configure.ac: Check for curses libraries and headers.
52469
52470 * Makefile.in (LIBCURSES): New variable.
52471
52472 * genmk.rb (Script::rule): Set the executable bits.
52473
52474 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52475 name of the PC partition map is "pc_partition_map" but not "pc".
52476
52477 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52478
52479 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52480 (modules): Likewise.
52481 (usage): Added descriptions for --modules and --grub-probefs.
52482 Handle --modules and --grub-probefs. Save the arguments in MODULES
52483 and GRUB_PROBEFS, respectively.
52484 Auto-detect a filesystem module against GRUBDIR. If the result is
52485 empty and modules are not specified explicitly, abort the
52486 installation. Add the result to MODULES.
52487
52488 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52489 disk/powerpc/ieee1275/ofdisk.c,
52490 include/grub/powerpc/ieee1275/init.h and
52491 term/powerpc/ieee1275/ofconsole.c.
52492 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52493 term/ieee1275/ofconsole.c.
52494
52495 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52496
52497 * COPYING: Upgraded to the latest version. Only the address of the
52498 FSF office has changed.
52499
52500 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52501
52502 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52503 kern/ieee1275.c with kern/ieee1275/of.c.
52504
52505 * kern/ieee1275.c: Moved to ...
52506 * kern/ieee1275/of.c: ... here.
52507
52508 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52509
52510 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
52511 readability.
52512
52513 * config.guess: Updated to the latest version from gnulib.
52514 * config.sub: Likewise.
52515 * install.sh: Likewise.
52516 * mkinstalldirs: Likewise.
52517
52518 * include/grub/console.h: Removed. This file is arch-specific. Do
52519 not put this in include/grub.
52520
52521 * include/grub/i386/pc/console.h: Resurrected.
52522
52523 * util/console.c: Include grub/machine/console.h instead of
52524 grub/console.h.
52525 * util/grub-emu.c: Likewise.
52526
52527 2005-08-04 Marco Gerards <metgerards@student.han.nl>
52528
52529 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52530 hardcoded value.
52531
52532 From Vincent Pelletier <subdino2004@yahoo.fr>
52533 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52534 Redefined to use grub_getwh.
52535 (grub_term): New member named getwh.
52536 (grub_getwh): New prototype.
52537 * kern/term.c (grub_getwh): New function.
52538 * term/i386/pc/console.c (grub_console_getwh): New function.
52539 (grub_console_term): New member `getwh'.
52540 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52541 (grub_vga_term): New member `getwh'.
52542 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
52543 grub_ssize_t.
52544 (grub_ofconsole_getw): New function.
52545 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52546 (grub_ofconsole_term): New field named getwh and new initial
52547 value.
52548
52549 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52550
52551 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52552 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52553 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52554 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52555 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52556 of <grub/machine/ieee1275.h>.
52557 * commands/ieee1275/reboot.c: Likewise.
52558 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52559 * kern/ieee1275.c: ... to here. All users updated. Change all
52560 parameter structs to use new type `grub_ieee1275_cell_t'.
52561 * term/powerpc/ieee1275/ofconsole.c: Move ...
52562 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52563 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52564 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52565 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52566 to return int.
52567 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52568 Remove unused prototypes. All users updated.
52569 * include/grub/powerpc/ieee1275/console.h: Removed.
52570 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52571 `grub_ieee1275_cell_t'.
52572 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52573 Cast comparisons with -1 to the correct type.
52574 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52575 type to match `grub_ieee1275_entry_fn'.
52576
52577 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52578
52579 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52580
52581 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52582 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52583 partmap/sun.c.
52584 (grub_probefs_SOURCES): New variable.
52585
52586 * util/i386/pc/grub-probefs.c: New file.
52587
52588 * util/i386/pc/grub-setup.c (main): Call
52589 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52590 grub_hfs_init and grub_jfs_init to initialize the system. Call
52591 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52592 grub_pc_partition_map_fini to finish the system.
52593
52594 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52595
52596 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52597 function.
52598 (grub_multiboot_load_elf32): Likewise.
52599 (grub_multiboot_is_elf64): Likewise.
52600 (grub_multiboot_load_elf64): Likewise.
52601 (grub_multiboot_load_elf): Likewise.
52602 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52603 an ELF32 or ELF64 file.
52604 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52605
52606 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52607 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52608 NULL before calling FS->LABEL.
52609 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52610 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52611 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52612 before calling FS->LABEL.
52613
52614 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52615
52616 * util/i386/pc/grub-install.in (datadir): New variable.
52617 (libdir): Removed.
52618 (pkgdatadir): New variable.
52619 (pkglibdir): Removed.
52620
52621 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52622
52623 * DISTLIST: Added util/i386/pc/grub-install.in.
52624
52625 * util/i386/pc/grub-install.in: New file.
52626
52627 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52628 (grub_install_SOURCES): Likewise.
52629
52630 * genmk.rb: Added support for scripts.
52631 (Script): New class.
52632 (scripts): New variable.
52633
52634 * Makefile.in (install-local): Install sbin_SCRIPTS by
52635 INSTALL_SCRIPT.
52636 (uninstall): Remove sbin_SCRIPTS.
52637
52638 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52639 device, try to get a GRUB device by
52640 grub_util_biosdisk_get_grub_dev.
52641 Free DEST_DEV.
52642
52643 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52644 description for --device-map.
52645
52646 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52647
52648 Change the semantics of variable hooks. They now return strings
52649 instead of error values.
52650
52651 * util/i386/pc/grub-setup.c: Include grub/env.h.
52652 (setup): Use grub_device_set_root instead of grub_env_set.
52653
52654 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52655 grub_env_get instead of grub_device_set_root and
52656 grub_device_get_root, respectively.
52657
52658 * kern/main.c (grub_env_write_root): New function.
52659 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52660 grub_env_set instead of grub_device_set_root.
52661
52662 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52663 many variables.
52664 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52665 rather than calling ENV->WRITE_HOOK afterwards.
52666 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52667 passing a pointer of a pointer.
52668 (grub_register_variable_hook): Change the types of "read_hook" and
52669 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52670 respectively.
52671 Allocate the default empty string on the heap, because this string
52672 may be freed later.
52673
52674 * kern/device.c: Include grub/env.h.
52675 (grub_device_set_root): Removed.
52676 (grub_device_get_root): Likewise.
52677 (grub_device_open): Use grub_env_get instead of
52678 grub_device_get_root.
52679
52680 * include/grub/env.h (grub_env_read_hook_t): New type.
52681 (grub_env_write_hook_t): Likewise.
52682 (grub_env_var): Change the types of "read_hook" and "write_hook"
52683 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52684 (grub_register_variable_hook): Likewise.
52685
52686 * include/grub/device.h (grub_device_set_root): Removed.
52687 (grub_device_set_root): Likewise.
52688
52689 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52690 make sure that DIRNAME terminates with '/', so that
52691 grub_fat_find_dir will fail if PATH is not a directory.
52692
52693 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52694 from DIRNAME.
52695 Use the qualifier auto for print_files and print_files_long.
52696 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52697 as a regular file.
52698 Put a newline only if there is no error.
52699 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52700 used.
52701
52702 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52703
52704 * kern/partition.c (grub_partition_probe): Initialize PART to
52705 NULL. Otherwise, when no partition map is registered, this returns
52706 a garbage.
52707
52708 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52709
52710 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52711 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52712 valid.
52713
52714 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52715
52716 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52717 information on each device, if it does not have partitions. Print
52718 "Device" instead of "Disk", because this function is not specific
52719 to disk devices.
52720
52721 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52722 static to ensure that it is put on the memory rather than a
52723 register.
52724
52725 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52726
52727 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52728 (grub_cat_init): Likewise.
52729 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52730 (options): Likewise.
52731 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52732 (grub_configfile_init): Likewise.
52733 * font/manager.c (GRUB_MOD_INIT): Likewise.
52734 * commands/help.c (GRUB_MOD_INIT): Likewise.
52735 (grub_help_init): Likewise.
52736 * normal/command.c (grub_command_init): Likewise.
52737 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52738 * disk/loopback.c (grub_loop_init): Likewise.
52739 (GRUB_MOD_INIT): Likewise.
52740 * commands/ls.c (grub_ls_init): Likewise.
52741 (GRUB_MOD_INIT): Likewise.
52742 (options): Likewise.
52743 * commands/boot.c (grub_boot_init): Likewise.
52744 (GRUB_MOD_INIT): Likewise.
52745 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52746 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52747 (GRUB_MOD_INIT): Likewise.
52748 * commands/cmp.c (grub_cmp_init): Likewise.
52749 (GRUB_MOD_INIT): Likewise.
52750
52751 * normal/arg.c: Use <> instead of "" to include header files.
52752 (SHORT_ARG_HELP): New macro.
52753 (SHORT_ARG_USAGE): Likewise.
52754 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52755 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52756 descriptions.
52757 (find_short): Check if C is 'h' or 'u' explicitly.
52758 (grub_arg_show_help): Use space characters instead of tabs. Treat
52759 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52760 are shown with --help and --usage only if they are not used for
52761 the command itself.
52762 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52763 'h' and 'u'.
52764
52765 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52766 const into "longarg". Change the type of "shortarg" to int.
52767
52768 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52769
52770 * boot/i386/pc/boot.S (boot_drive_check): New label.
52771
52772 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52773 macro.
52774
52775 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52776 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52777
52778 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52779
52780 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52781 When turning off Gate A20, skip the check and return immediately,
52782 because this is not fatal usually.
52783
52784 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52785
52786 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52787 be 0x7C00 instead of 0x8000.
52788
52789 * boot/i386/pc/pxeboot.S: Rewritten.
52790
52791 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52792 EXT_C.
52793 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52794 result.
52795
52796 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52797
52798 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52799 robustness. This routine now supports a BIOS call and System
52800 Control Port A to modify the gate A20.
52801
52802 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52803 Increased to 0x440.
52804
52805 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52806
52807 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52808 device path and resulting ihandle.
52809 (grub_ofdisk_close): dprintf the ihandle being closed.
52810 (grub_ofdisk_read): dprintf function parameters.
52811 * kern/mm.c (grub_mm_init_region): Likewise.
52812 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52813 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52814 size, and boot arguments.
52815 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52816 before loading into memory.
52817 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52818 before loading into memory.
52819
52820 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52821
52822 * kern/mm.c: Added much documentation.
52823 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52824 8, set to 5 instead of 8.
52825
52826 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52827
52828 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52829
52830 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52831 (grub_mkdevicemap_SOURCES): New variable.
52832
52833 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52834 lib/device.c of GRUB Legacy.
52835
52836 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52837
52838 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52839 instead of PATH is NULL.
52840
52841 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52842
52843 * commands/cmp.c (BUFFER_SIZE): New macro.
52844 (grub_cmd_cmp): Close the right file at the right time. Compare
52845 only data just read. Don't report files of different size as
52846 identical. Dynamically allocate buffers. Move variable
52847 declarations at the beginning of function.
52848
52849 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
52850
52851 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52852 reverse.
52853
52854 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52855
52856 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52857 when backspace is pressed at beginning of line.
52858
52859 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
52860
52861 * DISTLIST: Added genfslist.sh.
52862
52863 * normal/main.c (fs_module_list): New variable.
52864 (autoload_fs_module): New function.
52865 (read_fs_list): Likewise.
52866 (grub_normal_execute): Call read_fs_list.
52867
52868 * kern/fs.c (grub_fs_autoload_hook): New variable.
52869 (grub_fs_probe): Added support for auto-loading.
52870
52871 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52872 (grub_fs_module_list_t): New type.
52873
52874 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52875 (grub_fs_autoload_hook): New prototype.
52876
52877 * genfslist.sh: New file.
52878
52879 * genmk.rb: Added a rule to generate a filesystem list.
52880
52881 2005-06-30 Marco Gerards <metgerards@student.han.nl>
52882
52883 * configure.ac: Fix the test for cross-compiling.
52884
52885 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52886 define GRUB_UTIL anymore.
52887
52888 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52889 so this function works on other systems than just big endian.
52890 (load_modules): Likewise.
52891 (add_segments): Likewise.
52892
52893 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52894
52895 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52896 contains `l' modifier, get a long from va_arg().
52897
52898 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52899
52900 * kern/mm.c (grub_free): If the next free block which is being
52901 merged is the first free block, set the first block to the block
52902 being freed.
52903 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52904
52905 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52906
52907 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52908 `grub_ieee1275_chosen'.
52909
52910 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52911
52912 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52913 (grub_ieee1275_chosen): New variable.
52914 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52915 `chosen'.
52916 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52917 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52918 Rename first argument to `phandle' for consistency.
52919 (grub_ieee1275_get_property_length): Likewise.
52920 (grub_ieee1275_next_property): Likewise. Change type of first argument
52921 to grub_ieee1275_phandle_t.
52922 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52923 Move export next to declaration.
52924 (grub_ieee1275_chosen): New variable.
52925 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52926 Correct cosmetic typo.
52927 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52928 `grub_ieee1275_chosen'.
52929 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52930 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52931 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52932 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52933 `grub_ieee1275_chosen'.
52934
52935 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52936
52937 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52938 /chosen/bootargs.
52939 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52940 /chosen/bootargs as "variable=value" pairs.
52941
52942 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52943
52944 * include/grub/misc.h (grub_dprintf): New macro.
52945 (grub_real_dprintf): New prototype.
52946 (grub_strword): Likewise.
52947 (grub_iswordseparator): Likewise.
52948 * kern/misc.c (grub_real_dprintf): New function.
52949 (grub_strword): Likewise.
52950 (grub_iswordseparator): Likewise.
52951
52952 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52953
52954 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52955 (roundup): Remove macro.
52956 (grub_ieee1275_flags): Make static.
52957 (grub_ieee1275_realmode): Remove.
52958 (grub_ieee1275_test_flag): New function.
52959 (grub_ieee1275_set_flag): Likewise.
52960 (find_options): Rename to `grub_ieee1275_find_options'; update
52961 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52962 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52963 (cmain): New prototype.
52964 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52965 `grub_ieee1275_flags' directly.
52966 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52967 machine/biosdisk.h.
52968 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52969 Don't include grub/machine/init.h.
52970 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52971 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52972 Remove prototype.
52973 (grub_ieee1275_realmode): Likewise.
52974 (grub_ieee1275_flag): New enum.
52975 (grub_ieee1275_test_flag): New prototype.
52976 (grub_ieee1275_set_flag): New prototype.
52977 * include/grub/powerpc/ieee1275/init.h: Remove file.
52978 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52979 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52980 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52981 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52982 comment.
52983 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52984 `grub_ieee1275_test_flag'.
52985 (grub_ieee1275_encode_devname): Likewise.
52986
52987 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52988
52989 * include/grub/powerpc/ieee1275/ieee1275.h
52990 (grub_ieee1275_encode_devname): New prototype.
52991 (grub_ieee1275_get_filename): Likewise.
52992 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52993 function.
52994 (grub_set_prefix): Likewise.
52995 (grub_machine_init): Call grub_set_prefix.
52996 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52997 (grub_parse_type): New enum.
52998 (grub_ieee1275_get_devargs): New function.
52999 (grub_ieee1275_get_devname): Likewise.
53000 (grub_ieee1275_parse_args): Likewise.
53001 (grub_ieee1275_get_filename): Likewise.
53002 (grub_ieee1275_encode_devname): Likewise.
53003
53004 2005-03-30 Marco Gerards <metgerards@student.han.nl>
53005
53006 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
53007 `grub_loader_unset'.
53008
53009 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
53010
53011 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
53012 instead of grub_ieee1275_interpret.
53013 (grub_halt_init): New function.
53014 (grub_halt_fini): Likewise.
53015 (GRUB_MOD_INIT): Correct message grammar.
53016 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
53017 instead of grub_ieee1275_interpret.
53018 (grub_reboot_init): New function.
53019 (grub_reboot_fini): Likewise.
53020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
53021 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
53022 util/i386/pc/misc.c with commands/ieee1275/halt.c,
53023 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
53024 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
53025 function.
53026 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
53027 Add prototype.
53028 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
53029 prototype.
53030 (grub_halt): Likewise.
53031 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
53032 (cmain): Remove __attribute__((unused)).
53033 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
53034 (grub_heap_len): Likewise.
53035 (grub_machine_fini): New function.
53036 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
53037 (grub_halt): Likewise.
53038 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
53039 function.
53040 * util/powerpc/ieee1275/misc.c: New file.
53041
53042 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
53043
53044 * DISTLIST: New file.
53045 * gendistlist.sh: Likewise.
53046
53047 * Makefile.in (COMMON_DISTFILES): Removed.
53048 (BOOT_DISTFILES): Likewise.
53049 (CONF_DISTFILES): Likewise.
53050 (DISK_DISTFILES): Likewise.
53051 (FS_DISTFILES): Likewise.
53052 (INCLUDE_DISTFILES): Likewise.
53053 (KERN_DISTFILES): Likewise.
53054 (LOADER_DISTFILES): Likewise.
53055 (TERM_DISTFILES): Likewise.
53056 (UTIL_DISTFILES): Likewise.
53057 (DISTFILES): Likewise.
53058 (uninstall): Uninstall files in $(pkgdata_DATA).
53059 (DISTLIST): New target.
53060 (distdir): Use the contents of the file DISTLIST to get a list of
53061 distributed files.
53062
53063 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
53064
53065 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
53066 descriptor. This is ported from GRUB Legacy.
53067
53068 * gencmdlist.sh: Added an extra semicolon to make it work with
53069 old sed versions. Reported by Robert Bihlmeyer
53070 <robbe@orcus.priv.at>.
53071
53072 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
53073
53074 Automatic loading of commands is supported.
53075
53076 * normal/main.c (read_command_list): New function.
53077 (grub_normal_execute): Call read_command_list.
53078
53079 * normal/command.c (grub_register_command): Return zero or CMD.
53080 Allocate CMD->NAME from the heap.
53081 Initialize CMD->MODULE_NAME to zero.
53082 Find the same name as well. If the same command is found and it is
53083 a dummy command, overwrite members. If it is not a dummy command,
53084 return zero.
53085 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
53086 (grub_command_find): If a dummy command is found, load a module
53087 and retry to find a command only once.
53088
53089 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
53090 make sure that each command is loaded.
53091
53092 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
53093 macro.
53094 (struct grub_command): Remove const from the member `name'.
53095 Add a new member `module_name'.
53096 (grub_register_command): Return grub_command_t.
53097
53098 * commands/help.c (grub_cmd_help): Call grub_command_find to make
53099 sure that each command is loaded.
53100
53101 * genmk.rb (PModule::rule): Specify a module name without the
53102 suffix ".mod" to gencmdlist.sh.
53103
53104 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53105
53106 * gencmdlist.sh: New file.
53107
53108 * genmk.rb (PModule::rule): Generate a rule for a command list.
53109 Clean command.lst.
53110 Generate command.lst from $(COMMANDFILES).
53111
53112 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
53113 (DATA): Added $(pkgdata_DATA).
53114 (install-local): Install files in $(pkgdata_DATA).
53115
53116 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53117
53118 * term/i386/pc/vga.c (debug_command): Removed.
53119 (GRUB_MOD_INIT): Do not register the command "debug".
53120
53121 From Hollis Blanchard:
53122 * commands/configfile.c: New file.
53123 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53124 commands/configfile.c.
53125 (pkgdata_MODULES): Added configfile.mod.
53126 (configfile_mod_SOURCES): New variable.
53127 (configfile_mod_CFLAGS): Likewise.
53128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
53129 commands/configfile.c.
53130 (pkgdata_MODULES): Added configfile.mod.
53131 (configfile_mod_SOURCES): New variable.
53132 (configfile_mod_CFLAGS): Likewise.
53133 * util/grub-emu.c (main): Call grub_configfile_init and
53134 grub_configfile_fini.
53135 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
53136 prototype.
53137 [GRUB_UTIL] (grub_configfile_fini): Likewise.
53138
53139 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53140
53141 * normal/arg.c (grub_arg_show_help): Do not show the bug report
53142 address.
53143
53144 * commands/help.c (grub_cmd_help): Do not print newlines after
53145 the last command in print_command_help.
53146
53147 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53148
53149 * commands/default.h: New file.
53150 * commands/timeout.h: Likewise.
53151 * normal/context.c: Likewise.
53152
53153 * util/misc.c: Do not include sys/times.h.
53154 Include sys/time.h and grub/machine/time.h.
53155 (grub_get_rtc): Rewritten with gettimeofday.
53156
53157 * util/grub-emu.c (main): Call grub_default_init and
53158 grub_timeout_init before grub_normal_init, and call
53159 grub_timeout_fini and grub_default_fini after grub_main.
53160
53161 * util/console.c (grub_ncurses_checkkey): Return the read
53162 character or -1.
53163
53164 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
53165 timeouts.
53166
53167 * normal/main.c (read_config_file): Push MENU. If this fails,
53168 print an error and wait for a user input.
53169 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
53170 If a menu is empty or an error occurs, pop MENU.
53171 (grub_normal_execute): Pop and free MENU after grub_menu_run
53172 returns.
53173
53174 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
53175
53176 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
53177 include time.h.
53178 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53179 without GRUB_UTIL.
53180 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
53181 time.h.
53182 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53183 without GRUB_UTIL.
53184
53185 * include/grub/normal.h (struct grub_menu_list): New struct.
53186 (grub_menu_list_t): New type.
53187 (struct grub_context): New struct.
53188 (grub_context_t): New type.
53189 (grub_register_command): Got rid of EXPORT_FUNC.
53190 (grub_unregister_command): Likewise.
53191 (grub_context_get): New prototype.
53192 (grub_context_get_current_menu): Likewise.
53193 (grub_context_push_menu): Likewise.
53194 (grub_context_pop_menu): Likewise.
53195 [GRUB_UTIL] (grub_default_init): Likewise.
53196 [GRUB_UTIL] (grub_default_fini): Likewise.
53197 [GRUB_UTIL] (grub_timeout_init): Likewise.
53198 [GRUB_UTIL] (grub_timeout_fini): Likewise.
53199
53200 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
53201 commands/timeout.c and normal/context.c.
53202 (pkgdata_MODULES): Added default.mod and timeout.mod.
53203 (normal_mod_SOURCES): Added normal/context.c.
53204 (default_mod_SOURCES): New variable.
53205 (default_mod_CFLAGS): Likewise.
53206 (timeout_mod_SOURCES): Likewise.
53207 (timeout_mod_CFLAGS): Likewise.
53208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
53209 conf/i386-pc.rmk.
53210 (pkgdata_MODULES): Added default.mod and timeout.mod.
53211 (normal_mod_SOURCES): Added normal/context.c.
53212 (default_mod_SOURCES): New variable.
53213 (default_mod_CFLAGS): Likewise.
53214 (timeout_mod_SOURCES): Likewise.
53215 (timeout_mod_CFLAGS): Likewise.
53216
53217 * Makefile.in (all-local): Added $(MKFILES).
53218
53219 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
53220
53221 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
53222 (grub_emu_SOURCES): Likewise.
53223 (pkgdata_MODULES): Add `sun.mod'.
53224 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53226 `partmap/sun.c'.
53227 (pkgdata_MODULES): Add `sun.mod'.
53228 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53229 * include/grub/partition.h (grub_sun_partition_map_init): New
53230 prototype.
53231 (grub_sun_partition_map_fini): Likewise.
53232 * partmap/sun.c: New file.
53233 * util/grub-emu.c (main): Initialize and de-initialize the sun
53234 partitionmap support.
53235
53236 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
53237
53238 This implements an Emacs-like menu entry editor.
53239
53240 * normal/menu_entry.c: New file.
53241
53242 * util/console.c (grub_ncurses_putchar): Translate some Unicode
53243 characters to ASCII.
53244 (saved_char): New variable.
53245 (grub_ncurses_checkkey): Rewritten completely.
53246 (grub_ncurses_getkey): Likewise.
53247 (grub_ncurses_init): Call raw instead of cbreak.
53248
53249 * normal/menu.c (print_entry): Do not put a space.
53250 (init_page): Renamed to ...
53251 (grub_menu_init_page): ... this. All callers changed.
53252 (edit_menu_entry): Removed.
53253 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53254
53255 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53256
53257 * kern/misc.c (grub_vprintf): Call grub_refresh.
53258
53259 * normal/menu.c (DISP_LEFT): Renamed to ...
53260 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53261 * normal/menu.c (DISP_UP): Renamed to ...
53262 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53263 * normal/menu.c (DISP_RIGHT): Renamed to ...
53264 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53265 * normal/menu.c (DISP_DOWN): Renamed to ...
53266 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53267 * normal/menu.c (DISP_HLINE): Renamed to ...
53268 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53269 * normal/menu.c (DISP_VLINE): Renamed to ...
53270 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53271 * normal/menu.c (DISP_UL): Renamed to ...
53272 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53273 * normal/menu.c (DISP_UR): Renamed to ...
53274 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53275 * normal/menu.c (DISP_LL): Renamed to ...
53276 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53277 * normal/menu.c (DISP_LR): Renamed to ...
53278 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53279 * normal/menu.c (TERM_WIDTH): Renamed to ...
53280 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53281 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53282 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53283 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53284 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53285 * normal/menu.c (TERM_MARGIN): Renamed to ...
53286 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53287 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53288 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53289 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53290 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53291 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53292 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53293 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53294 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53295 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53296 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53297 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53298 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53299 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53300 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53301 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53302 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53303 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53304 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53305 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53306 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53307 All callers changed.
53308
53309 * include/grub/normal.h: New prototype.
53310
53311 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53312 normal/menu_entry.c.
53313 (normal_mod_SOURCES): Likewise.
53314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53315 (normal_mod_SOURCES): Likewise.
53316
53317 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53318
53319 * include/grub/normal.h (grub_halt_init): New prototype.
53320 (grub_halt_fini): Likewise.
53321 (grub_reboot_init): Likewise.
53322 (grub_reboot_fini): Likewise.
53323
53324 * util/grub-emu.c: Include signal.h.
53325 (main_env): New global variable.
53326 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53327 catch C-c.
53328 (grub_machine_fini): New function.
53329 (main): Call grub_halt_init and grub_reboot_init before
53330 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53331 Call setjmp with MAIN_ENV to go back afterwards.
53332 Call grub_machine_fini right before return.
53333
53334 * include/grub/util/misc.h: Include setjmp.h.
53335 (main_env): New prototype.
53336
53337 * include/grub/kernel.h (grub_machine_fini): New prototype.
53338 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53339 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53340
53341 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53342 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53343 * term/i386/pc/console.c (grub_console_fini): Likewise.
53344
53345 * util/i386/pc/misc.c: New file.
53346
53347 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53348 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53349 commands/i386/pc/reboot.c.
53350
53351 2005-02-14 Guillem Jover <guillem@hadrons.org>
53352
53353 * include/grub/dl.h (grub_dl_check_header): New prototype.
53354 (grub_arch_dl_check_header): Change return type to grub_err_t,
53355 remove size parameter and export function. Update all callers.
53356 * kern/dl.c (grub_dl_check_header): New function.
53357 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53358 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53359 are inside the core.
53360 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53361 independent ELF header checks.
53362 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53363 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53364 `grub_dl_check_header' instead of explicit checks. Check for the
53365 ELF type.
53366 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53367 `grub_dl_check_header' instead of explicit checks. Remove arch
53368 specific ELF header checks.
53369
53370 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53371 argument SIZE.
53372
53373 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53374
53375 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53376 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53377
53378 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53379
53380 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
53381 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
53382 (part_map_iterate): Clear `grub_errno' and return 0 if
53383 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
53384 * partmap/amiga.c (amiga_partition_map_iterate): Return
53385 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53386 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53387
53388 2005-02-01 Guillem Jover <guillem@hadrons.org>
53389
53390 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53391 help info.
53392
53393 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53394
53395 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53396 Removed prototype.
53397 (grub_rescue_cmd_linux): New prototype.
53398 (grub_rescue_cmd_initrd): Likewise.
53399 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53400 `bi_rec'.
53401 (grub_linux_release_mem): Release the memory for the initrd.
53402 (grub_load_linux): Renamed from this...
53403 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53404 Changed `entry' not to be static. Loop over memory regions to
53405 find another one when the default fails.
53406 (grub_rescue_cmd_initrd): New function.
53407 (grub_linux_init): Remove function.
53408 (grub_linux_fini): Likewise.
53409 (GRUB_MOD_INIT): Register `initrd'.
53410 (GRUB_MOD_FINI): Unregister `initrd'.
53411 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53412 Function removed.
53413 (grub_linux_normal_fini): Likewise.
53414 (GRUB_MOD_INIT): Register `initrd'.
53415 (GRUB_MOD_FINI): Unregister `initrd'.
53416
53417 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53418
53419 * commands/help.c: New file.
53420 * normal/arg.c (show_help): Renamed to...
53421 (grub_arg_show_help): ... this.
53422 * commands/i386/pc/halt.c: New file.
53423 * commands/i386/pc/reboot.c: Likewise.
53424 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53425 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53426 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53427 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53428 variables.
53429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53430 `commands/help.c'.
53431 (pkgdata_MODULES): Add `help.mod'.
53432 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53433 * grub/i386/pc/init.h (grub_reboot): New prototype.
53434 (grub_halt): Likewise.
53435 * include/grub/normal.h (grub_arg_show_help): New prototype.
53436 (grub_help_init): Likewise.
53437 (grub_help_fini): Likewise.
53438 * util/grub-emu.c (main): Initialize and deinitialize the help
53439 command.
53440
53441 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53442
53443 * normal/command.c (grub_command_init): Fixed the description of
53444 the `set' and `unset' commands.
53445
53446 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53447
53448 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53449 function.
53450 * commands/ieee1275/halt.c: New file.
53451 * commands/ieee1275/reboot.c: Likewise.
53452 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53453 `__attribute__ ((unused))'. Some GCS related fixed.
53454 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53455 (grub_suspend_fini): Likewise.
53456 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53457 and `halt.mod'.
53458 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53459 (halt_mod_CFLAGS): New variables.
53460 * include/grub/powerpc/ieee1275/ieee1275.h
53461 (grub_ieee1275_interpret): New prototype.
53462
53463 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53464
53465 * include/grub/misc.h (memmove): New prototype.
53466 (memcpy): Likewise.
53467
53468 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53469
53470 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53471 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53472
53473 2005-01-22 Marco Gerards <metgerards@student.han.nl>
53474
53475 * kern/misc.c (grub_strndup): Function rewritten.
53476
53477 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53478
53479 * normal/menu.c (TERM_WIDTH): Macro redefined.
53480 (TERM_TOP_BORDER_Y): Likewise.
53481 (draw_border): Replaced while-loop by a for-loop. Make the number
53482 of lines consistent with the number of lines displayed in
53483 print_entries. Added a margin below the rectangle.
53484 (print_entry): Make the entry fit in the rectangle.
53485 (print_entries): Display the scroll arrows next to the right
53486 border.
53487
53488 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53489
53490 * fs/minix.c (grub_minix_find_file): Reserve more space for
53491 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53492 `grub_strncpy' to copy `path' into it.
53493
53494 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53495
53496 Add the loopback device, a device via which files can be accessed
53497 as devices.
53498
53499 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53500 (pkgdata_MODULES): Add loopback.mod.
53501 (loopback_mod_SOURCES): New variable.
53502 (loopback_mod_CFLAGS): Likewise.
53503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53504 `disk/loopback.c'.
53505 (pkgdata_MODULES): Add loopback.mod.
53506 (loopback_mod_SOURCES): New variable.
53507 (loopback_mod_CFLAGS): Likewise.
53508 * disk/loopback.c: new file.
53509 * include/grub/normal.h (grub_loop_init): New prototype.
53510 (grub_loop_fini): New prototype.
53511 * util/grub-emu.c (main): Initialize and de-initialize loopback
53512 support.
53513 * include/grub/disk.h (grub_disk_dev_id): Add
53514 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53515
53516 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53517
53518 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53519 function.
53520 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53521 (suspend_mod_SOURCES): New variable.
53522 (suspend_mod_CFLAGS): Likewise.
53523 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53524 New prototype.
53525 * commands/ieee1275/suspend.c: New file.
53526
53527 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53528
53529 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
53530 ((unused))' to `__attribute__ ((used))'.
53531 (GRUB_MOD_FINI): Likewise.
53532 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53533 * genmk.rb (PModule): Assign space to common symbols when linking
53534 modules.
53535
53536 2005-01-20 Marco Gerards <metgerards@student.han.nl>
53537
53538 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53539 `unsigned' arguments to `grub_size_t'.
53540 (grub_malloc): Likewise.
53541 (grub_realloc): Likewise.
53542 (grub_memalign): Likewise.
53543 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53544 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53545 * util/misc.c (grub_malloc): Likewise.
53546 (grub_realloc): Likewise.
53547 * kern/mm.c (get_header_from_pointer): Change the casts to
53548 `unsigned' into a cast to `grub_size_t'.
53549
53550 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53551 point to `currnode' when `currnode' is changed.
53552
53553 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53554 Schottelius <nico-linux@schottelius.org>.
53555
53556 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53557
53558 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53559 (note_path): Remove variable.
53560 (GRUB_IEEE1275_NOTE_NAME): New macro.
53561 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53562 (grub_ieee1275_note_hdr): New structure.
53563 (grub_ieee1275_note_desc): Likewise.
53564 (grub_ieee1275_note): Likewise.
53565 (load_note): Remove `dir' argument. All callers updated. Remove
53566 `note_img' and `path'. Do not load a file from `note_path'.
53567 Initialize a struct grub_ieee1275_note and write that to `out'.
53568 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53569
53570 2005-01-05 Marco Gerards <metgerards@student.han.nl>
53571
53572 * util/misc.c (grub_util_read_image): Revert last change. It
53573 called `grub_util_read_at', which seeks from the beginning of the
53574 file.
53575
53576 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53577
53578 * TODO: Add note about endianness in grub-mkimage.
53579 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53580 section.
53581 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53582 (grub_mkimage_SOURCES): New target.
53583 * include/grub/kernel.h (grub_start_addr): Remove variable.
53584 (grub_end_addr): Likewise.
53585 (grub_total_module_size): Likewise.
53586 (grub_kernel_image_size): Likewise.
53587 (GRUB_MODULE_MAGIC): New constant.
53588 (grub_module_info): New structure.
53589 (grub_arch_modules_addr): New prototype.
53590 (grub_get_end_addr): Remove prototype.
53591 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53592 * include/grub/powerpc/ieee1275/kernel.h: New file.
53593 * include/grub/util/misc.h (grub_util_get_fp_size): New
53594 prototype.
53595 (grub_util_read_at): Likewise.
53596 (grub_util_write_image_at): Likewise.
53597 * kern/main.c (grub_get_end_addr): Remove function.
53598 (grub_load_modules): Call grub_arch_modules_addr instead of using
53599 grub_end_addr. Look for a grub_module_info struct in memory. Use
53600 the grub_module_info fields instead of calling grub_get_end_addr
53601 as loop conditions. Move grub_add_unused_region code here.
53602 (grub_add_unused_region): Remove function.
53603 * kern/i386/pc/init.c: Include grub/cache.h.
53604 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53605 one call to add_mem_region.
53606 (grub_arch_modules_addr): New function.
53607 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53608 (grub_total_module_size): Likewise.
53609 Include grub/machine/kernel.h.
53610 (grub_arch_modules_addr): New function.
53611 * util/grub-emu.c (grub_end_addr): Remove variable.
53612 (grub_total_module_size): Likewise.
53613 (grub_arch_modules_addr): New function.
53614 * util/misc.c: Include unistd.h.
53615 (grub_util_get_fp_size): New function.
53616 (grub_util_read_at): Likewise.
53617 (grub_util_write_image_at): Likewise.
53618 (grub_util_read_image): Call grub_util_read_at.
53619 (grub_util_write_image): Call grub_util_write_image_at.
53620 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53621 additional memory in kernel_img for a struct grub_module_info.
53622 Fill in that grub_module_info.
53623 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53624
53625 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53626
53627 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53628 New function.
53629 * include/grub/powerpc/ieee1275/ieee1275.h
53630 (grub_ieee1275_milliseconds): New prototype.
53631 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53632 Change to 1000.
53633 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53634 grub_ieee1275_milliseconds.
53635
53636 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53637
53638 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53639 variable.
53640 (find_options): New function.
53641 (cmain): Call find_options.
53642 * include/grub/powerpc/ieee1275/ieee1275.h
53643 (grub_ieee1275_realmode): New extern variable.
53644 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53645 grub_map if grub_ieee1275_realmode is false.
53646
53647 2004-12-29 Marco Gerards <metgerards@student.han.nl>
53648
53649 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53650 lines are inserted and make it work like readline. Reported by
53651 Vincent Pelletier <subdino2004@yahoo.fr>.
53652
53653 2004-12-28 Marco Gerards <metgerards@student.han.nl>
53654
53655 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53656
53657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53658 `kern/powerpc/cache.S'.
53659
53660 2004-12-27 Marco Gerards <metgerards@student.han.nl>
53661
53662 * genmk.rb: Handle the `Program' class in the main loop. Written
53663 by Johan Rydberg <jrydberg@gnu.org>.
53664 (Program): New class.
53665 (programs): New variable.
53666 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53667 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53668 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53669 (help_arch): Function removed.
53670 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53671 `powerpc/libgcc.h' and `loader.h'.
53672 (pkgdata_PROGRAMS): New variable.
53673 (sbin_UTILITIES): Variable removed.
53674 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53675 (grubof_SOURCES): Variable re-defined so it only includes the
53676 core functionality.
53677 (grubof_CFLAGS): Remove `-DGRUBOF'.
53678 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53679 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53680 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53681 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53682 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53683 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53684 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53685 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53686 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53687 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53688 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53689 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53690 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53691 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53692 (pc_mod_CFLAGS): New variables.
53693 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53694 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53695 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53696 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53697 Moved from here...
53698 * include/grub/i386/pc/init.h (grub_os_area_addr)
53699 (rub_os_area_size): ... to here.
53700 * include/grub/powerpc/ieee1275/ieee1275.h
53701 (grub_ieee1275_entry_fn): Export symbol.
53702 * include/grub/powerpc/ieee1275/init.h: New file.
53703 * include/grub/powerpc/libgcc.h: Likewise.
53704 * include/grub/cache.h: Likewise.
53705 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53706 <hollis@penguinppc.org>.
53707 * kern/dl.c: Include <grub/cache.h>.
53708 (grub_dl_flush_cache): New function.
53709 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53710 for this module.
53711 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53712 (grub_console_init): Removed prototypes.
53713 (grub_machine_init): Don't initialize the modules anymore.
53714 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53715 static.
53716 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53717 Macro undef removed.
53718 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53719 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53720 relocation `R_PPC_REL32'. Return an error when the relocation is
53721 unknown.
53722 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53723 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53724 * util/misc.c (grub_arch_sync_caches): Likewise.
53725
53726 2004-12-19 Marco Gerards <metgerards@student.han.nl>
53727
53728 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53729 `symlist.c', add `grubof_symlist.c'.
53730 (symlist.c): Variable removed.
53731 (grubof_HEADERS): Variable added.
53732 (grubof_symlist.c): New target.
53733 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53734 `kernel_img_HEADERS'.
53735 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53736 * kern/powerpc/dl.c: New file.
53737 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53738 Function removed.
53739 (grub_arch_dl_relocate_symbols): Likewise.
53740 (grub_register_exported_symbols): Likewise.
53741
53742 2004-12-13 Marco Gerards <metgerards@student.han.nl>
53743
53744 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53745 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53746 to fail instead. Reported by Vincent Pelletier
53747 <subdino2004@yahoo.fr>.
53748
53749 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53750 it is not allocated. Reported by Vincent Pelletier
53751 <subdino2004@yahoo.fr>.
53752
53753 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53754 output so the output looks better.
53755
53756 2004-12-04 Marco Gerards <metgerards@student.han.nl>
53757
53758 Modulize the partition map support and add support for the amiga
53759 partition map.
53760
53761 * commands/ls.c: Include <grub/partition.h> instead of
53762 <grub/machine/partition.h>.
53763 * kern/disk.c: Likewise.
53764 * kern/rescue.c: Likewise.
53765 * loader/i386/pc/chainloader.c: Likewise.
53766 * normal/cmdline.c: Likewise.
53767 * kern/powerpc/ieee1275/init.c: Likewise.
53768 (grub_machine_init): Call `grub_pc_partition_map_init',
53769 `grub_amiga_partition_map_init' and
53770 `grub_apple_partition_map_init'.
53771 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53772 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53773 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53774 `partition.h' and `pc_partition.h'.
53775 (grub_setup_SOURCES): Remove
53776 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53777 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53778 (grub_emu_SOURCES): Likewise.
53779 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53780 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53781 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53783 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53784 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53785 (grubof_SOURCES): Likewise.
53786 * disk/i386/pc/partition.c: File removed.
53787 * disk/powerpc/ieee1275/partition.c: Likewise.
53788 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53789 * include/grub/i386/pc/partition.h: Likewise.
53790 * kern/partition.c: New file.
53791 * partmap/amiga.c: Likewise.
53792 * partmap/apple.c: Likewise.
53793 * partmap/pc.c: Likewise.
53794 * include/grub/partition.h: Likewise..
53795 * include/grub/pc_partition.h: Likewise.
53796 * util/grub-emu.c: Include <grub/partition.h> instead of
53797 <grub/machine/partition.h>.
53798 (main): Call `grub_pc_partition_map_init',
53799 `grub_amiga_partition_map_init' and
53800 `grub_apple_partition_map_init' and deinitialize afterwards.
53801 * util/i386/pc/biosdisk.c: Include `#include
53802 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53803 `<grub/machine/partition.h>'.
53804 * util/i386/pc/grub-setup.c: Likewise.
53805 * util/i386/pc/biosdisk.c: Likewise.
53806 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53807 partition information in case of a PC partition.
53808 * util/i386/pc/grub-setup.c: Include `#include
53809 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53810 `<grub/machine/partition.h>'.
53811 (setup): Only access the PC specific partition information in case
53812 of a PC partition.
53813
53814 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
53815
53816 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53817 (grub_longjmp): Likewise.
53818 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53819 20.
53820 * normal/powerpc/setjmp.S: New file.
53821 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53822 `normal/powerpc/setjmp.S'.
53823 (grubof_CFLAGS): Add `-DGRUBOF'.
53824 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53825 [GRUB_UTIL && !GRUBOF].
53826
53827 2004-11-16 Marco Gerards <metgerards@student.han.nl>
53828
53829 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53830 property named `name'. Correctly handle the error returned by
53831 `grub_ieee1275_finddevice' if a device can not be opened.
53832
53833 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53834
53835 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53836 `actual' for negativity.
53837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53838 kern/fshelp.c.
53839
53840 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53841
53842 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53843 (PAGE_OFFSET): New macro.
53844 (CRTC_ADDR_PORT): Likewise.
53845 (CRTC_DATA_PORT): Likewise.
53846 (START_ADDR_HIGH_REGISTER): Likewise.
53847 (START_ADDR_LOW_REGISTER): Likewise.
53848 (GRAPHICS_ADDR_PORT): Likewise.
53849 (GRAPHICS_DATA_PORT): Likewise.
53850 (READ_MAP_REGISTER): Likewise.
53851 (INPUT_STATUS1_REGISTER): Likewise.
53852 (INPUT_STATUS1_VERTR_BIT): Likewise.
53853 (page): New variable.
53854 (wait_vretrace): New function.
53855 (set_read_map): Likewise.
53856 (set_start_address): Likewise.
53857 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53858 the right page.
53859 (check_vga_mem): Take the page into account.
53860 (write_char): Likewise.
53861 (write_cursor): Likewise.
53862 (scroll_up): Likewise. Copy the page to the page that is not
53863 shown and switch between both pages.
53864 (grub_vga_putchar): Fix off by one error.
53865 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53866 account.
53867
53868 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53869
53870 Add support for iso9660 (including rockridge).
53871
53872 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53873 (iso9660_mod_SOURCES): New variable.
53874 (iso9660_mod_CFLAGS): Likewise.
53875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53876 * include/grub/fs.h (grub_iso9660_init): New prototype.
53877 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53878 * fs/iso9660.c: New file.
53879
53880 * include/grub/misc.h (grub_strncat): New prototype.
53881 * kern/misc.c (grub_strncat): New function.
53882
53883 * fs/hfs.c (grub_hfs_mount): Translate the error
53884 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53885 * fs/jfs.c (grub_jfs_mount): Likewise.
53886 * fs/ufs.c (grub_ufs_mount): Likewise.
53887
53888 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53889
53890 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53891 which initialized BAT registers.
53892 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53893 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53894 Move from here...
53895 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53896 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53897 ... to here.
53898 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53899 (grub_mapclaim): Likewise.
53900 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53901 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53902 hand.
53903
53904 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53905
53906 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53907 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53908 -ffreestanding and -msoft-float.
53909
53910 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53911
53912 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53913 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53914 set in grub_ieee1275_flags.
53915
53916 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53917
53918 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53919 prototype.
53920 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53921 grub_console_init first.
53922 Change the memory range used for grub_ieee1275_claim and
53923 grub_mm_init_region.
53924 Print an error message if the claim fails.
53925 Include <grub/misc.h>.
53926
53927 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53928
53929 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53930 Call grub_children_iterate for device nodes of type `scsi',
53931 `ide', or `ata'.
53932 (grub_ofdisk_open): Remove manual device alias resolution.
53933 Fix memory leak when device cannot be opened.
53934 * include/grub/powerpc/ieee1275/ieee1275.h
53935 (grub_children_iterate): New prototype.
53936 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53937 New function.
53938 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53939 Return -1 if args.size was -1.
53940
53941 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53942
53943 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53944 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53945 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53946 Open Firmware's memory for it; claim memory from _start to _end.
53947 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53948 (_end): New extern.
53949 (_start): Zero BSS from __bss_start to _end.
53950 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53951 New extern.
53952 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53953
53954 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53955
53956 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53957 -1 if args.base was -1.
53958
53959 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53960
53961 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53962 escape sequence instead of a literal ^L. Also call
53963 grub_ofconsole_gotoxy.
53964
53965 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53966
53967 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53968 void * arguments to grub_addr_t. All callers updated. Also make
53969 the `result' argument optional.
53970 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53971 All callers updated.
53972
53973 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53974
53975 * commands/ls.c (grub_ls_list_files): Use the string following the
53976 initial ')', if present, as the filesystem path.
53977 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53978
53979 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53980
53981 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53982
53983 Make the source code of the menu interface more readable.
53984
53985 * normal/menu.c: Include grub/mm.h.
53986 (TERM_WIDTH): New macro.
53987 (TERM_HEIGHT): Likewise.
53988 (TERM_INFO_HEIGHT): Likewise.
53989 (TERM_MARGIN): Likewise.
53990 (TERM_SCROLL_WIDTH): Likewise.
53991 (TERM_TOP_BORDER_Y): Likewise.
53992 (TERM_LEFT_BORDER_X): Likewise.
53993 (TERM_BORDER_WIDTH): Likewise.
53994 (TERM_MESSAGE_HEIGHT): Likewise.
53995 (TERM_BORDER_HEIGHT): Likewise.
53996 (TERM_NUM_ENTRIES): Likewise.
53997 (TERM_FIRST_ENTRY_Y): Likewise.
53998 (TERM_ENTRY_WIDTH): Likewise.
53999 (TERM_CURSOR_X): Likewise.
54000 (draw_border): Use macros instead of magic numbers.
54001 (print_entry): Likewise.
54002 (print_entries): Likewise.
54003 (run_menu): Likewise. Also, handle the key 'e'.
54004 (run_menu_entry): Ignore empty command lines.
54005 (print_message): Added a new argument EDIT. If EDIT is true,
54006 print a different message.
54007 (init_page): Likewise.
54008 (edit_menu_entry): New function. Not implemented yet.
54009
54010 2004-09-17 Marco Gerards <metgerards@student.han.nl>
54011
54012 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
54013 can be loaded from normal mode.
54014
54015 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
54016 `multiboot.mod'.
54017 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
54018 (multiboot_mod_CFLAGS): New variables.
54019 * loader/i386/pc/linux_normal.c: New file.
54020 * loader/i386/pc/multiboot_normal.c: Likewise.
54021
54022 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
54023 attribute `unused'.
54024
54025 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
54026 `fdiro' to read the mode information from instead of `diro'.
54027
54028 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
54029 looking up a symlink.
54030
54031 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
54032 macro.
54033 * normal/command.c (grub_command_execute): Don't parse the
54034 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
54035 flags of the command.
54036
54037 * normal/menu.c (grub_menu_run): Fix typo.
54038
54039 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
54040
54041 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
54042
54043 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
54044 `y + 1' instead of `y - 1'.
54045
54046 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
54047
54048 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
54049
54050 From Hollis Blanchard <hollis@penguinppc.org>:
54051 * kern/misc.c (memmove): New alias for grub_memmove.
54052 (memcmp): New alias for grub_memcmp.
54053 (memset): New alias for grub_memset.
54054 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
54055 Change "int handle" to "grub_ieee1275_phandle_t handle".
54056 * include/grub/powerpc/ieee1275/ieee1275.h
54057 (grub_ieee1275_get_property): Likewise.
54058
54059 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
54060
54061 Added normal mode command `chainloader' as module chain.mod, which
54062 depends on normal.mod and _chain.mod.
54063
54064 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
54065 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
54066 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
54067 Deleted prototype.
54068 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
54069 but arguments parsing moved to ...
54070 (grub_chainloader_cmd): ... here. New function.
54071 * include/grub/i386/pc/chainloader.h: New file.
54072 * loader/i386/pc/chainloader_normal.c: Likewise.
54073
54074 2004-09-11 Marco Gerards <metgerards@student.han.nl>
54075
54076 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
54077 (grub_mkimage_LDFLAGS): Likewise.
54078 (grub_emu_SOURCES): Likewise.
54079 (kernel_img_HEADERS): Added fshelp.h.
54080 * fs/ext2.c: Include <grub/fshelp.h>.
54081 (FILETYPE_REG): New macro.
54082 (FILETYPE_INO_REG): Likewise.
54083 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
54084 Changed all users.
54085 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
54086 all users.
54087 (grub_fshelp_node): New struct.
54088 (grub_ext2_data): Added member `diropen'. Changed member `inode'
54089 to a pointer.
54090 (grub_ext2_get_file_block): Removed function.
54091 (grub_ext2_read_block): New function.
54092 (grub_ext2_read_file): Replaced parameter `data' by `node'.
54093 This function was written.
54094 (grub_ext2_mount): Read the root inode. Create a diropen struct.
54095 (grub_ext2_find_file): Removed function.
54096 (grub_ext2_read_symlink): New function.
54097 (grub_ext2_iterate_dir): Likewise.
54098 (grub_ext2_open): Rewritten.
54099 (grub_ext2_dir): Rewritten.
54100 * include/grub/fshelp.h: New file.
54101 * fs/fshelp.c: Likewise.
54102
54103 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
54104
54105 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
54106 (print_message): Add a missing newline.
54107 (run_menu): Added timeout support.
54108 (run_menu_entry): New local function.
54109 (grub_menu_run): Added support for booting.
54110
54111 * kern/loader.c (grub_loader_is_loaded): New function.
54112
54113 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
54114 (grub_get_rtc): Exported.
54115
54116 * include/grub/i386/pc/time.h: Include grub/symbol.h.
54117 (grub_get_rtc): Exported.
54118
54119 * include/grub/normal.h (struct grub_command_list): Remove
54120 constant from the member `command'.
54121
54122 * include/grub/loader.h (grub_loader_is_loaded): Declared.
54123
54124 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
54125
54126 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
54127
54128 2004-08-28 Marco Gerards <metgerards@student.han.nl>
54129
54130 Add support for the JFS filesystem.
54131
54132 * fs/jfs.c: New file.
54133 * include/grub/fs.h (grub_jfs_init): New prototype.
54134 (grub_jfs_fini): New prototype.
54135 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
54136 (grub_emu_SOURCES): Likewise.
54137 (pkgdata_MODULES): Add jfs.mod.
54138 (jfs_mod_SOURCES): New variable.
54139 (jfs_mod_CFLAGS): Likewise.
54140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
54141 (grubof_SOURCES): Likewise.
54142 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
54143
54144 * fs/fat.c (grub_fat_find_dir): Convert the filename little
54145 endian to the host endian.
54146 (grub_fat_utf16_to_utf8): Move function from there...
54147 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
54148 the endianness of the source string anymore.
54149 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
54150
54151 2004-08-24 Marco Gerards <metgerards@student.han.nl>
54152
54153 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
54154 (grub_boot_fini) [GRUB_UTIL]: Likewise.
54155 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
54156 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
54157
54158 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
54159 (grub_hfs_iterate_dir): Make the function static. Add prototypes
54160 for `node_found' and `it_dir'.
54161 (grub_hfs_dir): Add prototype for `dir_hook'.
54162
54163 * fs/minix.c (grub_minix_get_file_block): Add prototype for
54164 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
54165 and `indir32' to silence a gcc warning.
54166
54167 * include/grub/fs.h (grub_hfs_init): New prototype.
54168 (grub_hfs_fini): Likewise.
54169
54170
54171 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
54172
54173 Each disk device has its own id now. This is useful to make use
54174 of multiple disk devices.
54175
54176 * include/grub/disk.h (grub_disk_dev_id): New enum.
54177 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
54178 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
54179
54180 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
54181 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54182
54183 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
54184 GRUB_DISK_DEVICE_OFDISK_ID as an id.
54185
54186 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
54187 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54188
54189 * include/grub/disk.h (struct grub_disk_dev): Added a new member
54190 "id" which is used by the cache manager.
54191
54192 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
54193 of just "GRUB".
54194
54195 2004-08-18 Marco Gerards <metgerards@student.han.nl>
54196
54197 * fs/hfs.c: New file.
54198 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
54199 (grub_emu_SOURCES): Likewise.
54200 (pkgdata_MODULES): Add hfs.mod.
54201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
54202 (grubof_SOURCES): Likewise.
54203 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
54204
54205 * include/grub/misc.h (grub_strncasecmp): Add prototype.
54206 * kern/misc.c (grub_strncasecmp): Add function.
54207
54208 2004-08-14 Marco Gerards <metgerards@student.han.nl>
54209
54210 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
54211 with parentheses.
54212
54213 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
54214 (grub_ext2_dir): In case the directory entry type is unknown, read
54215 it from the inode.
54216
54217 2004-08-02 Peter Bruin <pjbruin@dds.nl>
54218
54219 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
54220 grub_load_linux instead of grub_rescue_cmd_linux as second
54221 argument of grub_rescue_register_command.
54222
54223 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
54224
54225 2004-07-27 Marco Gerards <metgerards@student.han.nl>
54226
54227 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
54228 function.
54229 * commands/boot.c: Remove the check for `GRUB_UTIL'.
54230 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
54231 `loader/powerpc/ieee1275/linux.c',
54232 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
54233 * include/grub/powerpc/ieee1275/ieee1275.h
54234 (grub_ieee1275_release): New prototype.
54235 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
54236 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
54237 normal, boot, linux and linux_normal.
54238 * loader/powerpc/ieee1275/linux.c: New file.
54239 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
54240
54241 2004-07-12 Marco Gerards <metgerards@student.han.nl>
54242
54243 * normal/arg.c (grub_arg_parse): Correct error handling after
54244 reallocating the argumentlist (check if `argl' is not null instead
54245 of checking if `args' is not null).
54246 * kern/mm.c (grub_realloc): Return the same pointer when using the
54247 same region, instead of returning the header address.
54248
54249 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54250
54251 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54252 one block instead of two when looking for the initial partition.
54253 (grub_partition_probe): Initialize the local variable `p' with 0.
54254 Use base 10 for the grub_strtoul call.
54255 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54256 need for one local variable.
54257 (grub_strtoul): Don't add the new value to `num', instead of that
54258 just assign it.
54259
54260 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54261
54262 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54263 (pxeboot_img_SOURCES): New variable.
54264 (pxeboot_img_ASFLAGS): Likewise.
54265 (pxeboot_img_LDFLAGS): Likewise.
54266 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54267 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54268 <lode_leroy@hotmail.com>.
54269
54270 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54271
54272 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54273 there was no input.
54274
54275 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54276
54277 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54278 the history buffer logic.
54279
54280 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54281
54282 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54283 (FILETYPE_INO_SYMLINK): New macros.
54284 (grub_ext2_find_file): Check if the node is a directory using the
54285 inode stat information instead of using the filetype in the
54286 dirent. Exclude the first character of an absolute symlink.
54287 (grub_ext2_dir): Mask out the filetype part of the mode member of
54288 the inode.
54289
54290 2004-05-24 Marco Gerards <metgerards@student.han.nl>
54291
54292 Add support for UFS version 1 and 2. Add support for the minix
54293 filesystem version 1 and 2, both the variants with 14 and 30 long
54294 filenames.
54295
54296 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54297 fs/minix.c.
54298 (grub_emu_SOURCES): Likewise.
54299 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54300 (ufs_mod_SOURCES): New variable.
54301 (ufs_mod_CFLAGS): Likewise.
54302 (minix_mod_SOURCES): Likewise.
54303 (minix_mod_CFLAGS): Likewise.
54304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54305 fs/minix.c.
54306 (grubof_SOURCES): Likewise.
54307 * fs/ufs.c: New file.
54308 * fs/minix.c: New file.
54309 * include/grub/fs.h (grub_ufs_init): New prototype.
54310 (grub_ufs_fini): Likewise.
54311 (grub_minix_init): Likewise.
54312 (grub_minix_fini): Likewise.
54313 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54314 minix fs.
54315
54316 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54317
54318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54319 commands/ls.c, commands/terminal.c, commands/boot.c,
54320 commands/cmp.c and commands/cat.c.
54321 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54322
54323 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54324 "env.h"
54325
54326 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54327
54328 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54329 and grub_, respectively. Because the conversion is trivial and
54330 mechanical, I omit the details here. Please refer to the CVS
54331 if you need more information.
54332
54333 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54334
54335 * include/pupa: Renamed to ...
54336 * include/grub: ... this.
54337 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54338 * util/i386/pc/grub-mkimage.c: ... this.
54339 * util/i386/pc/pupa-setup.c: Renamed to ...
54340 * util/i386/pc/grub-setup.c: ... this.
54341 * util/pupa-emu.c: Renamed to ...
54342 * util/grub-emu.c: ... this.
54343
54344 2004-03-29 Marco Gerards <metgerards@student.han.nl>
54345
54346 Add support for the newworld apple macintosh (PPC). This has been
54347 tested on the powerbook 2000 only. It only adds support for
54348 generic ieee1275 functions, console and disk support. This should
54349 be easy to port to other architectures with support for Open
54350 Firmware.
54351
54352 * configure.ac: Accept the powerpc as host_cpu. In the case of
54353 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54354 specific tests are only executed while building for the i386.
54355 Inverse test for crosscompile.
54356 * genmk.rb (Utility): Allow assembler files.
54357 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54358 * conf/powerpc-ieee1275.rmk: New file.
54359 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54360 * disk/powerpc/ieee1275/partition.c: Likewise.
54361 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54362 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54363 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54364 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54365 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54366 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54367 * include/pupa/powerpc/ieee1275/loader.h
54368 * include/pupa/powerpc/setjmp.h: Likewise.
54369 * include/pupa/powerpc/types.h: Likewise.
54370 * kern/powerpc/ieee1275/init.c: Likewise.
54371 * kern/powerpc/ieee1275/openfw.c: Likewise.
54372 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54373
54374 These files were written by Johan Rydberg
54375 (jrydberg@night.trouble.net) and I only modified them slightly.
54376
54377 * boot/powerpc/ieee1275/cmain.c: New file.
54378 * boot/powerpc/ieee1275/crt0.S: Likewise.
54379 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54380 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54381
54382 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54383
54384 * Makefile.in: Update copyright.
54385 * genmodsrc.sh: Likewise.
54386 * gensymlist.sh: Likewise.
54387 * term/i386/pc/vga.c: Indent correctly.
54388
54389 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54390 bugreporting address.
54391 * util/i386/pc/pupa-setup.c (usage): Likewise,
54392 (main): Call pupa_ext2_init and pupa_ext2_fini.
54393
54394 * fs/fat.c (log2): Renamed to ...
54395 (fat_log2): ... this.
54396 All callers changed.
54397 * kern/misc.c (memcpy): Alias to pupa_memmove.
54398 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54399 lvalue cast.
54400 * util/console.c (pupa_ncurses_fini): Return 0.
54401
54402 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54403 Move fail label here.
54404 [__GNU__]: Don't warn when using stat.
54405 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54406 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54407 long int. Use strtol instead of strtoul.
54408
54409 2004-03-14 Marco Gerards <metgerards@student.han.nl>
54410
54411 * commands/boot.c: New file.
54412 * commands/cat.c: Likewise.
54413 * commands/cmp.c: Likewise.
54414 * commands/ls.c: Likewise.
54415 * commands/terminal.c: Likewise.
54416 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54417 (pupa_register_command): Changed interface to match the new
54418 argument parser.
54419 (pupa_command_execute): Changed (almost rewritten) so it uses
54420 pupa_split_command. Added support for setting variables using the
54421 syntax `foo=bar'.
54422 (rescue_command): Changed to work with the new argument parser.
54423 (terminal_command): Moved from here to commands/terminal.c.
54424 (set_command): New function.
54425 (unset_command): New function.
54426 (insmod_command): New function.
54427 (rmmod_command): New function.
54428 (lsmod_command): New function.
54429 (pupa_command_init): Don't initialize the command terminal
54430 anymore. Initialize the commands set, unset, insmod, rmmod and
54431 lsmod.
54432 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54433 (kernel_img_HEADERS): Add arg.h and env.h.
54434 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54435 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54436 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54437 normal/arg.c.
54438 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54439 terminal.mod.
54440 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54441 (boot_mod_SOURCES): New variable.
54442 (terminal_mod_SOURCES): Likewise.
54443 (ls_mod_SOURCES): Likewise.
54444 (cmp_mod_SOURCES): Likewise.
54445 (cat_mod_SOURCES): Likewise.
54446
54447 * normal/arg.c: New file.
54448 * kern/env.c: Likewise.
54449 * include/pupa/arg.h: Likewise.
54450 * include/pupa/env.h: Likewise.
54451 * font/manager.c (font_command): Changed to match argument parsing
54452 interface changes.
54453 (PUPA_MOD_INIT): Likewise.
54454 * hello/hello.c (pupa_cmd_hello): Likewise.
54455 (PUPA_MOD_INIT): Likewise.
54456 * include/pupa/disk.h: Include <pupa/device.h>.
54457 (pupa_print_partinfo): New prototype.
54458 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54459 (pupa_dl_get_prefix): Likewise.
54460 * include/pupa/misc.h: Include <pupa/err.h>.
54461 (pupa_isgraph): New prototype.
54462 (pupa_isdigit): Likewise.
54463 (pupa_split_cmdline): Likewise.
54464 * include/pupa/normal.h: Include <pupa/arg.h>.
54465 (pupa_command): Changed the prototype of the member `func' to
54466 match the argument parsing interface. Added member `options'.
54467 (pupa_register_command): Updated to match function.
54468 (pupa_arg_parse): New prototype.
54469 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54470 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54471 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54472 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54473 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54474 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54475 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54476 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54477 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54478 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54479 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54480 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54481 * kern/disk.c: Include <pupa/file.h>.
54482 (pupa_print_partinfo): New function.
54483 * kern/dl.c: Include <pupa/env.h>.
54484 (pupa_dl_dir): Variable removed.
54485 (pupa_dl_load): Use the environment variable `prefix' instead of
54486 the variable pupa_dl_dir.
54487 (pupa_dl_set_prefix): Function removed.
54488 (pupa_dl_get_prefix): Likewise.
54489 * kern/i386/pc/init.c: Include <pupa/env.h>.
54490 (pupa_machine_init): Use the environment variable `prefix' instead of
54491 using pupa_dl_set_prefix to set the prefix.
54492 * kern/main.c: Include <pupa/env.h>.
54493 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54494 using pupa_dl_get_prefix to get the prefix.
54495 * kern/misc.c: Include <pupa/env.h>.
54496 (pupa_isdigit): New function.
54497 (pupa_isgraph): Likewise.
54498 (pupa_ftoa): Likewise.
54499 (pupa_vsprintf): Added support for printing values of the type
54500 `double'. Make it possible to format variable output when using
54501 formatting like `%1.2%f'.
54502 (pupa_split_cmdline): New function.
54503 * kern/rescue.c: Include <pupa/env.h>.
54504 (next_word): Removed function.
54505 (pupa_rescue_cmd_prefix): Likewise.
54506 (pupa_rescue_cmd_set): New function.
54507 (pupa_rescue_cmd_unset): New function.
54508 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54509 split the command line instead of splitting it here. Added
54510 support for setting variables using the syntax `foo=bar'. Don't
54511 initialize the prefix command anymore. Initialized the set and
54512 unset commands.
54513 * normal/cmdline.c: Include <pupa/env.h>.
54514 (pupa_tab_complete): Added prototypes for print_simple_completion,
54515 print_partition_completion, add_completion, iterate_commands,
54516 iterate_dev, iterate_part and iterate_dir. Moved code to print
54517 partition information from here to kern/disk.c.
54518 (pupa_cmdline_run): Don't check if the function exists anymore.
54519 * normal/main.c: Include <pupa/env.h>.
54520 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54521 instead of using pupa_dl_get_prefix to get the prefix.
54522 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54523 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54524 warning.
54525 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54526 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54527 ((unused))' to silence a gcc warning.
54528 (pupa_vga_setcolor): Likewise.
54529 (debug_command): Changed to match argument parsing
54530 interface changes.
54531 * util/pupa-emu.c: Include <pupa/env.h>.
54532 (options): Added 0's for unused fields to silence a gcc warning.
54533 (argp): Likewise.
54534 (main): Use the environment variable `prefix' instead of using
54535 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54536 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54537 and terminal.
54538
54539 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54540 * util/misc.c: Include <malloc.h>.
54541 (pupa_malloc): Rewritten so errors are correctly reported.
54542 (pupa_realloc): Likewise.
54543 (pupa_memalign): Likewise.
54544 (pupa_mm_init_region): Declare unused variables with
54545 `__attribute__ ((unused))' to silence a gcc warning.
54546 * normal/i386/setjmp.S: Remove tab at the end of the file to
54547 silence a gcc warning.
54548 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54549 variables with `__attribute__ ((unused))' to silence a gcc
54550 warning.
54551 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54552 local variable i unsigned to silence a gcc warning.
54553
54554 * kern/term.c: Include <pupa/misc.h>.
54555 (pupa_more_lines): New variable.
54556 (pupa_more): Likewise.
54557 (pupa_putcode): When the pager is active pause at the end of every
54558 screen.
54559 (pupa_set_more): New function.
54560 * include/pupa/term.h (pupa_set_more): New prototype.
54561
54562
54563 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54564
54565 Now this project is GRUB 2 rather than PUPA. The location of
54566 the CVS repository was moved to GRUB's.
54567
54568 * configure.ac: Use bug-grub as the reporting address.
54569 Use GRUB instead of PUPA.
54570 Change the version number to 1.90.
54571
54572 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54573
54574 * genkernsyms.sh: Updated copyright information.
54575 * genmk.rb: Likewise.
54576 * genmodsrc.sh: Likewise.
54577 * gensymlist.sh: Likewise.
54578 * boot/i386/pc/boot.S: Likewise.
54579 * boot/i386/pc/diskboot.S: Likewise.
54580 * disk/i386/pc/biosdisk.c: Likewise.
54581 * disk/i386/pc/partition.c: Likewise.
54582 * font/manager.c: Likewise.
54583 * fs/ext2.c: Likewise.
54584 * fs/fat.c: Likewise.
54585 * include/pupa/boot.h: Likewise.
54586 * include/pupa/device.h: Likewise.
54587 * include/pupa/disk.h: Likewise.
54588 * include/pupa/dl.h: Likewise.
54589 * include/pupa/elf.h: Likewise.
54590 * include/pupa/err.h: Likewise.
54591 * include/pupa/file.h: Likewise.
54592 * include/pupa/font.h: Likewise.
54593 * include/pupa/fs.h: Likewise.
54594 * include/pupa/kernel.h: Likewise.
54595 * include/pupa/loader.h: Likewise.
54596 * include/pupa/misc.h: Likewise.
54597 * include/pupa/mm.h: Likewise.
54598 * include/pupa/net.h: Likewise.
54599 * include/pupa/normal.h: Likewise.
54600 * include/pupa/rescue.h: Likewise.
54601 * include/pupa/setjmp.h: Likewise.
54602 * include/pupa/symbol.h: Likewise.
54603 * include/pupa/term.h: Likewise.
54604 * include/pupa/types.h: Likewise.
54605 * include/pupa/i386/setjmp.h: Likewise.
54606 * include/pupa/i386/types.h: Likewise.
54607 * include/pupa/i386/pc/biosdisk.h: Likewise.
54608 * include/pupa/i386/pc/boot.h: Likewise.
54609 * include/pupa/i386/pc/console.h: Likewise.
54610 * include/pupa/i386/pc/init.h: Likewise.
54611 * include/pupa/i386/pc/kernel.h: Likewise.
54612 * include/pupa/i386/pc/linux.h: Likewise.
54613 * include/pupa/i386/pc/loader.h: Likewise.
54614 * include/pupa/i386/pc/memory.h: Likewise.
54615 * include/pupa/i386/pc/multiboot.h: Likewise.
54616 * include/pupa/i386/pc/partition.h: Likewise.
54617 * include/pupa/i386/pc/time.h: Likewise.
54618 * include/pupa/i386/pc/vga.h: Likewise.
54619 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54620 * include/pupa/util/getroot.h: Likewise.
54621 * include/pupa/util/misc.h: Likewise.
54622 * include/pupa/util/resolve.h: Likewise.
54623 * kern/device.c: Likewise.
54624 * kern/disk.c: Likewise.
54625 * kern/dl.c: Likewise.
54626 * kern/err.c: Likewise.
54627 * kern/file.c: Likewise.
54628 * kern/fs.c: Likewise.
54629 * kern/loader.c: Likewise.
54630 * kern/main.c: Likewise.
54631 * kern/misc.c: Likewise.
54632 * kern/mm.c: Likewise.
54633 * kern/rescue.c: Likewise.
54634 * kern/term.c: Likewise.
54635 * kern/i386/dl.c: Likewise.
54636 * kern/i386/pc/init.c: Likewise.
54637 * kern/i386/pc/lzo1x.S: Likewise.
54638 * kern/i386/pc/startup.S: Likewise.
54639 * loader/i386/pc/chainloader.c: Likewise.
54640 * loader/i386/pc/linux.c: Likewise.
54641 * loader/i386/pc/multiboot.c: Likewise.
54642 * normal/cmdline.c: Likewise.
54643 * normal/command.c: Likewise.
54644 * normal/main.c: Likewise.
54645 * normal/menu.c: Likewise.
54646 * normal/i386/setjmp.S: Likewise.
54647 * term/i386/pc/console.c: Likewise.
54648 * term/i386/pc/vga.c: Likewise.
54649 * util/console.c: Likewise.
54650 * util/genmoddep.c: Likewise.
54651 * util/misc.c: Likewise.
54652 * util/pupa-emu.c: Likewise.
54653 * util/resolve.c: Likewise.
54654 * util/unifont2pff.rb: Likewise.
54655 * util/i386/pc/biosdisk.c: Likewise.
54656 * util/i386/pc/getroot.c: Likewise.
54657 * util/i386/pc/pupa-mkimage.c: Likewise.
54658 * util/i386/pc/pupa-setup.c: Likewise.
54659
54660 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54661
54662 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54663 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54664 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54665 reading and reset it after reading.
54666 (pupa_ext2_close): Return PUPA_ERR_NONE.
54667
54668 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54669 Correct value.
54670 (struct linux_kernel_header): Add kernel_version and
54671 initrd_addr_max.
54672 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54673 pupa_file_read succeeds.
54674 (pupa_rescue_cmd_initrd): Implement.
54675
54676 2003-12-03 Marco Gerards <metgerards@student.han.nl>
54677
54678 * fs/ext2.c (pupa_ext2_label): New function.
54679 (pupa_ext2_fs): Added label.
54680 * fs/fat.c (pupa_fat_label): New function.
54681 (pupa_fat_fs): Added label.
54682 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54683
54684 * kern/misc.c (pupa_strndup): New function.
54685 * include/pupa/misc.h (pupa_strndup): New prototype.
54686
54687 * include/pupa/normal.h: Include <pupa/err.h>.
54688 (pupa_set_history): New prototype.
54689 (pupa_iterate_commands): New prototype.
54690 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54691 <pupa/disk.h>, <pupa/file.h>.
54692 (hist_size): New variable.
54693 (hist_lines): Likewise.
54694 (hist_end): Likewise.
54695 (hist_used): Likewise.
54696 (pupa_set_history): New function.
54697 (pupa_history_get): Likewise.
54698 (pupa_history_add): Likewise.
54699 (pupa_history_replace): Likewise.
54700 (pupa_tab_complete): Likewise.
54701 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54702 completion shows partitionnames while completing partitions, this
54703 feature was suggested by Jeff Bailey.
54704 * normal/command.c (pupa_iterate_commands): New function.
54705 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54706 (pupa_normal_init): Initialize history buffer.
54707 (PUPA_MOD_INIT): Likewise.
54708 (pupa_normal_fini): Free the history buffer.
54709 (PUPA_MOD_FINI): Likewise.
54710
54711 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54712 key.
54713
54714 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54715 * configure.ac [i386]: Check for regparam bug.
54716 (NESTED_FUNC_ATTR) [! i386]: Defined.
54717
54718 2003-11-17 Marco Gerards <metgerards@student.han.nl>
54719
54720 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54721 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54722 (pupa_emu_SOURCES): New variable.
54723 (pupa_emu_LDFLAGS): Likewise.
54724 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54725 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54726 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54727 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54728 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54729 (pupa_jmp_buf): New typedef.
54730 (pupa_setjmp) [PUPA_UTIL]: New macro.
54731 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54732 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54733 (pupa_refresh): New prototype.
54734 * include/pupa/util/getroot.h: New file.
54735 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54736 it.
54737 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54738 (pupa_rescue_cmd_cat): Likewise.
54739 (pupa_rescue_cmd_ls): Likewise.
54740 (pupa_rescue_cmd_testload): Likewise.
54741 (pupa_rescue_cmd_lsmod): Likewise.
54742 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54743 * normal/menu.c (run_menu): Likewise.
54744 * kern/term.c (pupa_cls): Likewise.
54745 (pupa_refresh): New function.
54746 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54747 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54748 * util/console.c: New file.
54749
54750 * util/i386/pc/getroot.c: New file.
54751 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54752 (pupa_putchar): New function.
54753 (pupa_refresh): Likewise.
54754 (xgetcwd): Function moved to ...
54755 (strip_extra_slashes): Likewise.
54756 (get_prefix): Likewise.
54757 * util/i386/pc/getroot.c: ... here.
54758 (find_root_device): Function moved and renamed to...
54759 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54760 Changed all callers.
54761 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54762 and renamed to...
54763 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54764 Changed all callers.
54765 * util/misc.c (pupa_memalign): New function.
54766 (pupa_mm_init_region): Likewise.
54767 (pupa_register_exported_symbols): Likewise.
54768 (pupa_putchar): Function removed.
54769 * util/pupa-emu.c: New file.
54770
54771 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54772
54773 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54774 (_multiboot_mod_SOURCES): New variable.
54775 (_multiboot_mod_CFLAGS): Likewise.
54776 * loader/i386/pc/multiboot.c: New file.
54777 * include/pupa/i386/pc/multiboot.h: Likewise.
54778 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54779 (pupa_multiboot_real_boot): New function.
54780 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54781 (pupa_multiboot_real_boot): New prototype.
54782 (pupa_rescue_cmd_multiboot): Likewise
54783 (pupa_rescue_cmd_module): Likewise.
54784
54785 * kern/loader.c (pupa_loader_set): Continue when
54786 pupa_loader_unload_func() fails.
54787 (pupa_loader_unset): New function.
54788 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54789
54790 * kern/misc.c (pupa_stpcpy): New function.
54791 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54792
54793 2003-11-12 Marco Gerards <metgerards@student.han.nl>
54794
54795 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54796 for available extensions.
54797
54798 * include/pupa/i386/pc/time.h: New file.
54799 * kern/disk.c: Include <pupa/machine/time.h>.
54800 (PUPA_CACHE_TIMEOUT): New macro.
54801 (pupa_last_time): New variable.
54802 (pupa_disk_open): Flush the cache when there was a timeout.
54803 (pupa_disk_close): Reset the timer.
54804 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54805 pupa_currticks.
54806 * util/misc.c: Include <sys/times.h>
54807 (pupa_get_rtc): New function.
54808
54809 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54810
54811 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54812 as blocks.
54813 (pupa_ext2_get_file_block): Use blocks member.
54814
54815 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54816 first block. Return -1 instead of pupa_errno on error.
54817
54818 2003-10-27 Marco Gerards <metgerards@student.han.nl>
54819
54820 * README: In the pupa-mkimage example use _chain instead of chain
54821 and ext2 instead of fat.
54822 * TODO: Replace ext2fs with jfs as an example. Add an item for
54823 adding journal playback for ext2fs.
54824 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54825 (pkgdata_MODULES): Added ext2.mod.
54826 (ext2_mod_SOURCES): New variable.
54827 (ext2_mod_CFLAGS): Likewise.
54828 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54829 * include/pupa/misc.h (pupa_strncpy): New prototype.
54830 (pupa_strcat): Likewise.
54831 (pupa_strncmp): Likewise.
54832 * kern/misc.c (pupa_strcat): Enable function.
54833 (pupa_strncpy): New function.
54834 (pupa_strncmp): Likewise.
54835 * fs/ext2.c: New file.
54836
54837 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54838 when the read failed before retrying.
54839 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54840 (_FILE_OFFSET_BITS): Likewise.
54841 * configure.ac: Added AC_SYS_LARGEFILE.
54842
54843 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54844
54845 * genmk.rb (PModule#rule): Make sure to get only symbol names
54846 from the output of nm.
54847 Reported by Robert Millan <rmh.grub@aybabtu.com>.
54848
54849 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54850
54851 I forgot to check in these changes for a long time. This adds
54852 incomplete support for VGA console, and this is still very
54853 buggy. Also, a lot of consideration is required for I18N,
54854 UNICODE, and VGA font issues. Therefore, assume that this is
54855 such that "better than nothing".
54856
54857 * font/manager.c: New file.
54858 * include/pupa/font.h: Likewise.
54859 * include/pupa/i386/pc/vga.h: Likewise.
54860 * term/i386/pc/vga.c: Likewise.
54861 * util/unifont2pff.rb: Likewise.
54862
54863 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54864 (pkgdata_MODULES): Added vga.mod and font.mod.
54865 (vga_mod_SOURCES): New variables.
54866 (vga_mod_CFLAGS): Likewise.
54867 (font_mod_SOURCES): Likewise.
54868 (font_mod_CFLAGS): Likewise.
54869
54870 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54871
54872 * include/pupa/term.h: Include pupa/err.h.
54873 (struct pupa_term): Added init and fini.
54874 Changed the argument of putchar to pupa_uint32_t.
54875
54876 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54877 (pupa_console_real_putchar): New prototype.
54878 (pupa_console_putchar): Removed.
54879 (pupa_console_checkkey): Exported.
54880 (pupa_console_getkey): Likewise.
54881
54882 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54883 characters.
54884
54885 * kern/term.c (pupa_term_set_current): Rewritten.
54886 (pupa_putchar): Likewise.
54887 (pupa_putcode): New function.
54888
54889 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54890 (pupa_console_real_putchar): ... this.
54891 (pupa_vga_set_mode): New function.
54892 (pupa_vga_get_font): Likewise.
54893
54894 * normal/command.c: Include pupa/term.h.
54895 (terminal_command): New function.
54896 (pupa_command_init): Register the command "terminal".
54897
54898 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54899 (DISP_UP): Likewise.
54900 (DISP_RIGHT): Likewise.
54901 (DISP_DOWN): Likewise.
54902 (DISP_HLINE): Likewise.
54903 (DISP_VLINE): Likewise.
54904 (DISP_UL): Likewise.
54905 (DISP_UR): Likewise.
54906 (DISP_LL): Likewise.
54907 (DISP_LR): Likewise.
54908
54909 * term/i386/pc/console.c (pupa_console_putchar): New function.
54910
54911 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54912
54913 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54914 FIX. Reverse the path_list.
54915
54916 * include/pupa/normal.h: Export pupa_register_command and
54917 pupa_unregister_command.
54918
54919 * hello/hello.c (pupa_cmd_hello): New module.
54920 * conf/i386-pc.rmk: Added hello.mod.
54921
54922 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54923
54924 * kern/i386/pc/lzo1x.S: New file.
54925
54926 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54927 (compress_kernel): New variable.
54928 (generate_image): Heavily modified to support compressing a
54929 large part of the core image.
54930
54931 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54932 leak.
54933 (pupa_util_load_image): New function.
54934
54935 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54936 (pupa_compressed_size): New variable.
54937 (codestart): Enable Gate A20 here.
54938 Decompress the compressed part of the core image.
54939 Rearrange the code to put functions and variables which are
54940 required for initialization in the non-compressed part.
54941 Include lzo1x.S.
54942
54943 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54944 here.
54945
54946 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54947
54948 * include/pupa/i386/pc/kernel.h
54949 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54950 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54951 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54952 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54953 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54954
54955 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54956
54957 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54958 (Utility#rule): Likewise.
54959
54960 * configure.ac: Check if LZO is available.
54961
54962 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54963
54964 * include/pupa/normal.h: New file.
54965 * include/pupa/setjmp.h: Likewise.
54966 * include/pupa/i386/setjmp.h: Likewise.
54967 * normal/cmdline.c: Likewise.
54968 * normal/command.c: Likewise.
54969 * normal/main.c: Likewise.
54970 * normal/menu.c: Likewise.
54971 * normal/i386/setjmp.S: Likewise.
54972
54973 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54974 (pupa_rescue_cmd_initrd): Likewise.
54975
54976 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54977 Likewise.
54978
54979 * kern/i386/pc/startup.S (translation_table): New variable.
54980 (translate_keycode): New function.
54981 (pupa_console_getkey): Call translate_keycode.
54982
54983 * kern/rescue.c (attempt_normal_mode): New function.
54984 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54985 it failed, print a message.
54986
54987 * kern/mm.c (pupa_real_malloc): Print more information when a
54988 free magic is broken.
54989 (pupa_free): If the first free header is not free actually, set
54990 it to P.
54991
54992 * kern/main.c (pupa_load_normal_mode): Just load the module
54993 "normal".
54994 (pupa_main): Don't print the message
54995 "Entering into rescue mode..." here.
54996
54997 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54998 Declared.
54999 (pupa_rescue_cmd_initrd): Likewise.
55000 (pupa_rescue_cmd_initrd): Likewise.
55001
55002 * include/pupa/symbol.h (FUNCTION): Specify the type.
55003 (VARIABLE): Likewise.
55004
55005 * include/pupa/err.h (pupa_err_t): Added
55006 PUPA_ERR_UNKNOWN_COMMAND.
55007
55008 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
55009 (pupa_dl_get_prefix): Likewise.
55010
55011 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
55012 Added _chain.mod and _linux.mod instead of chain.mod and
55013 linux.mod.
55014 (chain_mod_SOURCES): Renamed to ...
55015 (_chain_mod_SOURCES): ... this.
55016 (chain_mod_CFLAGS): Renamed to ...
55017 (_chain_mod_CFLAGS): ... this.
55018 (linux_mod_SOURCES): Renamed to ...
55019 (_linux_mod_SOURCES): ... this.
55020 (linux_mod_CFLAGS): Renamed to ...
55021 (_linux_mod_CFLAGS): ... this.
55022 (normal_mod_SOURCES): New variable.
55023 (normal_mod_CFLAGS): Likewise.
55024 (normal_mod_ASFLAGS): Likewise.
55025
55026 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
55027
55028 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
55029 possible.
55030
55031 * kern/dl.c (pupa_dl_ref): Refer depending modules
55032 recursively.
55033 (pupa_dl_unref): Unrefer depending modules recursively.
55034 Don't call pupa_dl_unload implicitly, because PUPA can crash if
55035 a module is unloaded before one depending on that module is
55036 unloaded.
55037 (pupa_dl_unload): Unload depending modules explicitly,
55038 if possible.
55039
55040 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
55041
55042 * include/pupa/i386/pc/linux.h: New file.
55043 * loader/i386/pc/linux.c: Likewise.
55044
55045 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
55046 Removed.
55047 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
55048 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
55049 of PUPA_CHAINLOADER_BOOT_SECTOR.
55050
55051 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
55052 (pupa_linux_prot_size): New variable.
55053 (pupa_linux_tmp_addr): Likewise.
55054 (pupa_linux_real_addr): Likewise.
55055 (pupa_linux_boot_zimage): New function.
55056 (pupa_linux_boot_bzimage): Likewise.
55057
55058 * kern/i386/pc/init.c (struct mem_region): New structure.
55059 (MAX_REGIONS): New macro.
55060 (mem_regions): New variable.
55061 (num_regions): Likewise.
55062 (pupa_os_area_addr): Likewise.
55063 (pupa_os_area_size): Likewise.
55064 (pupa_lower_mem): Likewise.
55065 (pupa_upper_mem): Likewise.
55066 (add_mem_region): New function.
55067 (compact_mem_regions): Likewise.
55068 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
55069 the size of the conventional memory and that of so-called upper
55070 memory (before the first memory hole).
55071 Instead of adding each found region to free memory, use
55072 add_mem_region and add them after removing overlaps.
55073 Also, add only 1/4 of the upper memory to free memory. The rest
55074 is used for loading OS images. Maybe this is ad hoc, but this
55075 makes it much easier to relocate OS images when booting.
55076
55077 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
55078 (pupa_enter_rescue_mode): Don't register initrd and module.
55079
55080 * kern/mm.c: Include pupa/dl.h.
55081
55082 * kern/main.c: Include pupa/file.h and pupa/device.h.
55083
55084 * kern/loader.c (pupa_loader_load_module_func): Removed.
55085 (pupa_loader_load_module): Likewise.
55086
55087 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
55088 ``.o''.
55089
55090 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
55091 (pupa_linux_tmp_addr): Likewise.
55092 (pupa_linux_real_addr): Likewise.
55093 (pupa_linux_boot_zimage): Likewise.
55094 (pupa_linux_boot_bzimage): Likewise.
55095
55096 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
55097 (pupa_upper_mem): Likewise.
55098 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
55099 module is too dangerous.
55100
55101 * include/pupa/loader.h (pupa_os_area_addr): Declared.
55102 (pupa_os_area_size): Likewise.
55103 (pupa_loader_set): Remove the first argument. Loader doesn't
55104 manage modules or initrd any longer.
55105 (pupa_loader_load_module): Removed.
55106
55107 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
55108 (linux_mod_SOURCES): New variable.
55109 (linux_mod_CFLAGS): Likewise.
55110
55111 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
55112
55113 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
55114 the length of a blocklist correctly.
55115
55116 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
55117 Use ioctl only if the OS file is a block device.
55118 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
55119 not very useful for normal files.
55120
55121 * kern/main.c (pupa_set_root_dev): New function.
55122 (pupa_load_normal_mode): Likewise.
55123 (pupa_main): Call those above.
55124
55125 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
55126 pupa_uint16_t.
55127
55128 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
55129
55130 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
55131
55132 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
55133 (setup): Configure the installed partition information and the
55134 dl prefix.
55135
55136 * loader/i386/pc/chainloader.c (my_mod): New variable.
55137 (pupa_chainloader_unload): New function.
55138 (pupa_rescue_cmd_chainloader): Refer itself.
55139 (PUPA_MOD_INIT): Save its own module in MY_MOD.
55140
55141 * kern/i386/pc/startup.S (install_partition): Removed.
55142 (version_string): Likewise.
55143 (config_file): Likewise.
55144 (pupa_install_dos_part): New variable.
55145 (pupa_install_bsd_part): Likewise.
55146 (pupa_prefix): Likewise.
55147 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
55148
55149 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
55150 and pupa/misc.h.
55151 (make_install_device): New function.
55152 (pupa_machine_init): Set the dl prefix.
55153
55154 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
55155 (buf): Renamed to ...
55156 (linebuf): ... this.
55157 (pupa_rescue_cmd_prefix): New function.
55158 (pupa_rescue_cmd_insmod): Likewise.
55159 (pupa_rescue_cmd_rmmod): Likewise.
55160 (pupa_rescue_cmd_lsmod): Likewise.
55161 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
55162 rmmod and lsmod.
55163
55164 * kern/mm.c (pupa_memalign): If failed even after invalidating
55165 disk caches, unload unneeded modules and retry.
55166
55167 * kern/misc.c (pupa_memmove): New function.
55168 (pupa_memcpy): Removed.
55169 (pupa_strcpy): New function.
55170 (pupa_itoa): Made static.
55171
55172 * kern/dl.c (pupa_dl_iterate): New function.
55173 (pupa_dl_ref): Likewise.
55174 (pupa_dl_unref): Likewise.
55175 (pupa_dl_unload): Return if succeeded or not.
55176 (pupa_dl_unload_unneeded): New function.
55177 (pupa_dl_unload_all): Likewise.
55178 (pupa_dl_init): Renamed to ...
55179 (pupa_dl_set_prefix): ... this.
55180 (pupa_dl_get_prefix): New function.
55181
55182 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
55183 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
55184 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55185 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55186 (pupa_install_dos_part): Declared.
55187 (pupa_install_bsd_part): Likewise.
55188 (pupa_prefix): Likewise.
55189 (pupa_boot_drive): Likewise.
55190
55191 * include/pupa/types.h: Fix a typo.
55192
55193 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
55194 pupa_memmove.
55195 (pupa_memmove): Declared.
55196 (pupa_strcpy): Likewise.
55197
55198 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
55199 pupa_mod_init takes one argument, its own module.
55200 (pupa_dl_unload_unneeded): Declared.
55201 (pupa_dl_unload_all): Likewise.
55202 (pupa_dl_ref): Likewise.
55203 (pupa_dl_unref): Likewise.
55204 (pupa_dl_iterate): Likewise.
55205 (pupa_dl_init): Renamed to ...
55206 (pupa_dl_set_prefix): ... this.
55207 (pupa_dl_get_prefix): Declared.
55208
55209 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
55210 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
55211 unloaded.
55212 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
55213 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
55214
55215 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
55216 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
55217
55218 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55219
55220 * util/i386/pc/pupa-setup.c (setup): Define the internal
55221 function find_first_partition_start at the top level, because GCC
55222 3.0.x cannot compile internal functions in deeper scopes
55223 correctly.
55224 (find_root_device): Use lstat instead of stat.
55225 Don't follow symbolic links.
55226 Fix the path-constructing code.
55227
55228 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
55229 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
55230 by a BLKGETSIZE ioctl first, because block devices don't fill
55231 the member st_mode of the structure stat on Linux.
55232 [__linux__] (linux_find_partition): Use a temporary buffer
55233 REAL_DEV for the working space. Copy it to DEV before returning.
55234 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
55235 buffer cache consistent.
55236 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
55237 strncmp. The previous value was merely wrong.
55238 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
55239
55240 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
55241 FAT size is 12. The previous value was merely wrong.
55242
55243 * kern/main.c (pupa_main): Don't split the starting message from
55244 newlines.
55245
55246 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55247 LF, because BIOS goes crazy about character attributes in this
55248 case.
55249
55250 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55251
55252 * include/i386/pc/util/biosdisk.h: New file.
55253 * util/i386/pc/biosdisk.c: Likewise.
55254 * util/i386/pc/pupa-setup.c: Likewise.
55255
55256 * Makefile.in (INCLUDE_DISTFILES): Added
55257 include/pupa/i386/pc/util/biosdisk.h.
55258 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55259 directory util/i386/pc.
55260 (install-local): Added a rule for sbin_UTILITIES.
55261 (uninstall): Likewise.
55262
55263 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55264
55265 * util/misc.c (xrealloc): New function.
55266 (pupa_malloc): Likewise.
55267 (pupa_free): Likewise.
55268 (pupa_realloc): Likewise.
55269 (pupa_stop): Likewise.
55270 (pupa_putchar): Likewise.
55271
55272 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55273
55274 * include/pupa/util/misc.h (xrealloc): Declared.
55275
55276 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55277 macro.
55278 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55279 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55280
55281 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55282 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55283
55284 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55285 way should be implemented.
55286 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55287
55288 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55289 the size of NAME for safety.
55290 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55291 0x88.
55292
55293 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55294 (pupa_setup_SOURCES): Likewise.
55295
55296 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55297
55298 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55299
55300 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55301 bunch of pushl's from pusha, because this destroys the return
55302 value.
55303
55304 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55305
55306 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55307 This means that any missing prototypes could be fatal. Also, you
55308 must take care when writing assembly code. See the comments at
55309 the beginning of startup.S, for more details.
55310
55311 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55312 compilation mechanism.
55313 (pupa_chainloader_real_boot): Likewise.
55314 (pupa_biosdisk_rw_int13_extensions): Likewise.
55315 (pupa_biosdisk_rw_standard): Likewise.
55316 (pupa_biosdisk_check_int13_extensions): Likewise.
55317 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55318 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55319 (pupa_get_memsize): Likewise.
55320 (pupa_get_mmap_entry): Likewise.
55321 (pupa_console_putchar): Likewise.
55322 (pupa_console_setcursor): Likewise.
55323 (pupa_getrtsecs): Use pushl instead of push.
55324
55325 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55326 memory instead of the stack for a mmap entry, because some
55327 BIOSes may ignore the maximum size and overflow.
55328
55329 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55330
55331 * genmk.rb (PModule#rule): Compile automatically generated
55332 sources with module-specific CFLAGS as well as other sources.
55333
55334 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55335
55336 * configure.ac: Check ld.
55337 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55338 respectively, before checking endianness and sizes.
55339
55340 * Makefile.in (LD): New variable.
55341
55342 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55343
55344 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55345
55346 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55347
55348 * Changelog: New file.
55349