]> git.proxmox.com Git - grub2.git/blob - ChangeLog
grub-install-common: avoid out of bound access when read failed
[grub2.git] / ChangeLog
1 2014-11-28 Andrei Borzenkov <arvidjaar@gmail.com>
2
3 * util/grub-install-common.c (grub_install_get_target): Check return
4 value of grub_util_fd_read (Coverity CID 73819).
5 * util/grub-mkstandalone.c (add_tar_file): Fix out of bound access
6 to hd.magic (Coverity CID 73587, 73888, bug 43690).
7
8 2014-11-20 Andrei Borzenkov <arvidjaar@gmail.com>
9
10 * tests/util/grub-fs-tester.in: Consistently print output
11 of grub ls if test fails.
12
13 2014-11-07 Leif Lindholm <leif.lindholm@linaro.org>
14
15 * grub-core/kern/efi/init.c: check value of *path before
16 dereferencing.
17
18 2014-11-03 Michael Chang <mchang@suse.com>
19
20 * grub-core/net/icmp6.c (grub_net_recv_icmp6_packet): Fix size
21 of neighbor solicitation packet in grub_netbuff_pull.
22
23 2014-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
24
25 * grub-core/loader/arm/linux.c: Use full initializer for initrd_ctx to
26 avoid fatal warnings with older gcc (probably before 4.7).
27 * grub-core/loader/arm64/linux.c: Likewise.
28 * grub-core/loader/i386/linux.c: Likewise.
29 * grub-core/loader/i386/pc/linux.c: Likewise.
30 * grub-core/loader/ia64/efi/linux.c: Likewise.
31 * grub-core/loader/mips/linux.c: Likewise.
32 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
33 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
34
35 2014-09-25 Colin Watson <cjwatson@ubuntu.com>
36
37 Fix in-tree --platform=none
38
39 * configure.ac: Only remove include/grub/cpu and
40 include/grub/machine in the --platform=none case, not all of
41 include/grub.
42
43 2014-09-23 Colin Watson <cjwatson@ubuntu.com>
44
45 Add a new "none" platform that only builds utilities
46
47 * configure.ac: Add "none" platform. Default to it for unsupported
48 CPUs rather than stopping with a fatal error. Don't downgrade
49 x86_64-none to i386. Define COND_real_platform Automake conditional
50 if the platform is anything other than "none". Don't do any include
51 directory linking for "none".
52 * Makefile.am: Skip building grub-core and all bootcheck targets if
53 !COND_real_platform.
54 * include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
55 is defined.
56
57 2014-09-22 Andrei Borzenkov <arvidjaar@gmail.com>
58
59 Use grub_cpu_to_XXX_compile_time for constants.
60
61 2014-09-21 Valentin Dornauer <valentin@unimplemented.org>
62
63 The AML parser implements only a small subset of possible AML
64 opcodes. On the Fujitsu Lifebook E744 this and another bug in
65 the parser (incorrect handling of TermArg data types) would lead
66 to the laptop not turning off (_S5 not found).
67
68 * grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
69 in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
70 aren't always simply strings!); Add function to skip TermArgs
71 * include/grub/acpi.h: Add new opcodes
72
73 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/normal/main.c: Don't drop to rescue console in
76 case of password-protected prompt and no menu entries.
77
78 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/commands/keylayouts.c: Ignore unknown keys.
81
82 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/gmodule.pl.in: Accept newer binutils which output
85 empty column rather than 0x0.
86
87 2014-09-21 Michael Chang <mchang@suse.com>
88
89 * grub-core/osdep/unix/config.c: Remove extraneous comma.
90
91 2014-09-21 Peter Jones <pjones@redhat.com>
92
93 * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
94 we don't free a random pointer from the stack.
95 * grub-core/loader/arm64/linux.c: Likewise.
96 * grub-core/loader/i386/linux.c: Likewise.
97 * grub-core/loader/i386/pc/linux.c: Likewise.
98 * grub-core/loader/ia64/efi/linux.c: Likewise.
99 * grub-core/loader/mips/linux.c: Likewise.
100 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
101 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
102
103 2014-09-15 Khem Raj <raj.khem@gmail.com>
104
105 * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
106 _BSD_SOURCE to avoid warnings under glibc 2.20+.
107
108 2014-09-08 Michael Chang <mchang@suse.com>
109
110 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
111 check; comparing &data->extent against addresses in the region it
112 points to is unpredictable.
113
114 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
115
116 Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
117
118 * configure.ac: Remove -m64 from checks for -mcmodel=large and
119 -mno-red-zone. These are always either unnecessary (x86_64-emu) or
120 already in TARGET_CFLAGS at this point, and they produce incorrect
121 results when building for x32.
122 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
123 pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
124 * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
125 GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
126
127 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
128
129 * configure.ac: Remove several unnecessary semicolons.
130
131 2014-08-25 Colin Watson <cjwatson@ubuntu.com>
132
133 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
134 Initialise pend to pacify GCC.
135
136 2014-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
137
138 * util/grub-mkconfig.in: Fix typo (gettext_print instead of
139 gettext_printf).
140
141 2014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/term/at_keyboard.c: Retry probing keyboard if
144 scancode setup failed.
145
146 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
149
150 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
153 safety to avoid triggerring VirtualBox bug.
154
155 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
158
159 Fixes hang on virtualbox.
160
161 2014-07-08 Colin Watson <cjwatson@ubuntu.com>
162
163 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
164 kernels whose paths contain regex metacharacters.
165 * util/grub.d/10_kfreebsd.in: Likewise.
166 * util/grub.d/10_linux.in: Likewise.
167 * util/grub.d/20_linux_xen.in: Likewise.
168
169 Reported by: Heimo Stranner.
170
171 2014-06-26 Colin Watson <cjwatson@ubuntu.com>
172
173 * docs/grub-dev.texi (Finding your way around): The build system no
174 longer uses AutoGen directly.
175
176 2014-06-21 Роман Пехов <roman_pekhov>
177
178 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
179
180 2014-06-21 Glenn Washburn <development@efficientek.com>
181
182 * util/grub-install.c: Fix handling of --disk-module.
183
184 2014-06-21 Stephane Rochoy <sheda>
185
186 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
187 EFI system table.
188
189 2014-06-21 Stephane Rochoy <sheda>
190
191 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
192 EFI system table physical address.
193
194 2014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
195
196 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
197
198 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
201
202 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
205 check.
206
207 2014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
210
211 Reported by: Yves Blusseau <blusseau@zetam.org>.
212
213 2014-04-20 Piotr Krysiuk <piotras@gmail.com>
214
215 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
216 GDT in conventional memory.
217
218 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
219
220 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
221 UUID. Other parts of grub-mkconfig tolerate these, they were
222 previously allowed here up to commit
223 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
224 practice when the system has active LVM snapshots.
225 Fixes Ubuntu bug #1287436.
226
227 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
228
229 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
230 "logical_volumes" block a little more accurately.
231
232 2014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
235
236 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
239 pulled from libgcc.
240
241 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
242
243 Replace few instances of memcmp/memcpy in the code that should be
244 grub_memcmp/grub_memcpy.
245
246 2014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
249 device names.
250
251 2014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
252
253 btrfs: fix get_root key comparison failures due to endianness
254
255 * grub-core/fs/btrfs.c (get_root): Convert
256 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
257
258 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
259
260 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
261
262 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
263 no longer to be forgiving of trailing spaces on grub-probe output
264 lines, which among other things means that util/grub.d/10_linux.in
265 no longer detects LVM. To fix this, make grub-probe's output
266 delimiting more consistent. As a bonus, this improves the coverage
267 of the -0 option.
268
269 Fixes Debian bug #735935.
270
271 * grub-core/disk/cryptodisk.c
272 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
273 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
274 Likewise.
275 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
276 Update prototype.
277 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
278 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
279 probe_mods): Adjust for extra user-data arguments.
280 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
281 probe_abstraction): Use configured delimiter. Update callers.
282
283 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
284
285 * util/grub-probe,c (options): Make -0 work again (broken by
286 conversion to argp).
287 (main): Simplify logic.
288
289 2014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
292
293 2014-03-26 Fu Wei <fu.wei@linaro.org>
294
295 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
296
297 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
300 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
301
302 Suggested by: Markus Müller.
303
304 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
307 if E820 failed to return any regions.
308
309 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
312 tables for low memory calculations.
313
314 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
317 location to 640K.
318
319 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
322 region.
323
324 2014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
327 exclusively.
328
329 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
330
331 Add bootpath parser for open firmware.
332
333 It enables net boot even when there is no bootp/dhcp server.
334
335 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
336 and call it at grub_ieee1275_net_config_real.
337 * grub-core/kern/ieee1275/init.c: Add bootpath to
338 grub_ieee1275_net_config.
339 * include/grub/ieee1275/ieee1275.h: Likewise.
340
341
342 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
343
344 Add grub_env_set_net_property function.
345
346 * grub-core/net/bootp.c: Remove set_env_limn_ro.
347 * grub-core/net/net.c: Add grub_env_set_net_property.
348 * include/grub/net.h: Likewise.
349
350 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
353
354 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
357
358 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
361 7 seconds to recover if last poweroff was bad.
362
363 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/disk/ahci.c: Properly handle transactions with no
366 transferred data.
367
368 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/disk/ahci.c: Add safety cleanups.
371
372 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
375 slots to avoid pointing to uninited area.
376
377 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
380 enabling busmaster for the end.
381
382 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * util/grub-mkfont.c: Downgrade warnings about unhandled features
385 to debug.
386
387 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
390
391 2014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
392
393 * .gitignore: add missing files and .exe variants.
394
395 2014-01-26 Mike Gilbert <floppym@gentoo.org>
396
397 grub-install: support for partitioned partx loop devices.
398
399 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
400 /dev/loopX as being the parent of /dev/loopXpY.
401
402 2014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
405 Ensure that pointers are inited to NULL and that pointers are not
406 accessed after free.
407
408 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
409
410 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
411 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
412 * include/grub/emu/misc.h: ... and here.
413 * include/grub/err.h: ... and here.
414 * util/import_gcry.py: ... and here (in files g10lib.h).
415
416 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
417
418 * util/grub-mkimage.c: Make prefix argument mandatory.
419
420 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
421
422 Fix several translatable strings.
423
424 Suggested by: D. Prévot.
425
426 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * util/grub-install.c: List available targets.
429
430 2014-01-23 Colin Watson <cjwatson@ubuntu.com>
431
432 * util/grub-install.c (write_to_disk): Add an info message.
433
434 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
435
436 * Makefile.am: Allow adding extra files to generated Windows ZIP
437 archive by setting GRUB_WINDOWS_EXTRA_DIST.
438
439 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
440
441 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
442 Show detected font path in summary.
443
444 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
445
446 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
447 interval gradually.
448 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
449 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
450 * grub-core/net/tftp.c (tftp_open): Likewise.
451 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
452
453 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
454
455 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
456 infinite loops.
457
458 In net/net.c there is a while (1) that only exits if there is a stop
459 condition and more then 10 packages or if there is no package received.
460
461 If GRUB is idle and enter in this loop, the only condition to leave is
462 if it doesn't have incoming packages. In a network with heavy traffic
463 this never happens.
464
465 2014-01-19 Colin Watson <cjwatson@ubuntu.com>
466
467 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
468 EPERM when modifying kern.geom.debugflags. It is only a problem for
469 such things as installing GRUB to the MBR, in which case there'll be
470 an error later anyway, not for opening files during tests.
471
472 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
473
474 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
475 instead of MOD_FILES.
476 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
477 both with and without .exe.
478 * grub-core/genemuinitheader.sh: Same.
479
480 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * util/grub-install.c: Fix a typo.
483
484 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/normal/main.c (read_config_file): Buffer config file.
487 Reduces boot time.
488
489 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
490
491 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
492 symbolic link to directory. It fails in Msys shell on Windows 2003.
493
494 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * Makefile.am (default_payload.elf): Add modules
497 multiboot cbmemc linux16 gzio echo help.
498
499 2014-01-18 Mike Gilbert <floppym@gentoo.org>
500
501 * Makefile.util.def: Link grub-ofpathname with zfs libs.
502
503 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
506 conflicts.
507
508 Reported by: Andrey Borzenkov.
509
510 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
511
512 * include/grub/misc.h: Move macros for compiler features to ...
513 * include/grub/compiler.h: ... new file.
514 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
515 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
516 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
517 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
518 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
519 * grub-core/video/capture.c: Include <grub/misc.h>.
520 * include/grub/command.h: Include <grub/misc.h>.
521 * include/grub/dl.h: Include <grub/misc.h>.
522 * include/grub/procfs.h: Include <grub/misc.h>.
523
524 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
525
526 * configure.ac: Add support for BUILD_EXEEXT and use it ...
527 * Makefile.am: ... here.
528 * Makefile.util.def: ... and here.
529 * grub-core/Makefile.am: ... and here.
530
531 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
532
533 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
534 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
535
536 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/term/terminfo.c: Recognize keys F1-F12.
539
540 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
541
542 * configure.ac: Add support for BUILD_LDFLAGS.
543 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
544 * grub-core/Makefile.am: ... and here.
545 * INSTALL: Mention BUILD_LDFLAGS.
546
547 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
550
551 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
554 and has no //.
555
556 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * NEWS: Add few missing entries.
559
560 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
561
562 * util/grub.d/00_header.in (make_timeout): Use && rather than test
563 -a.
564 * util/grub.d/10_windows.in: Likewise.
565 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
566 than test -o.
567 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
568 rather than test -o.
569
570 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
571
572 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
573 redundant preprocessor conditional.
574
575 2014-01-08 Colin Watson <cjwatson@ubuntu.com>
576
577 * Makefile.util.def (grub-macbless): Change mansection to 8.
578
579 2014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
580
581 * grub-core/loader/arm64/linux.c: correctly set device path end length.
582
583 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
584
585 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
586 arm64 to comply with EFI specification. Also use grubaa64.efi for
587 consistency.
588 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
589
590 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
591
592 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
593 on MinGW-64 when compiling for 32 bits.
594
595 2013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
596
597 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
598
599 2013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * NEWS: Add few missing entries. Correct existing ones.
602
603 2013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
604
605 Don't abort() on unavailable coreboot tables if not running on coreboot.
606
607 2013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
608
609 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
610 on mingw.
611
612 2013-12-28 Colin Watson <cjwatson@ubuntu.com>
613
614 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
615 mention of it from 2.02.
616
617 2013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
620
621 As these functions are used on pre-ARMv6 CPUs as well we don't want
622 to make assembler assume that architecture is higher than default one.
623
624 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
625
626 * NEWS: First draft of 2.02 entry.
627
628 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
629
630 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
631 * docs/grub.texi (Getting the source code): Likewise.
632
633 2013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
634
635 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
636 detection.
637
638 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * configure.ac: Set version to 2.02~beta2.
641
642 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
645
646 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
647
648 * util/grub-probe.c: Improve help message and simplify list handling.
649
650 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
651
652 Fix buffer overflow in grub_efi_print_device_path.
653
654 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
655
656 Show SATA device path.
657
658 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
659
660 Revert grub-file usage in grub-mkconfig.
661
662 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
663
664 Make newly-created files other than grub.cfg world-readable.
665
666 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
667
668 * util/grub.d/00_header.in: Improve compatibility with old config.
669
670 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
671
672 Make rijndael.c respect aliasing rules.
673
674 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
675
676 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
677
678 Make grub_util_device_is_mapped_stat available in grub-emu core.
679
680 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
681
682 Add -Qn to TARGET_CFLAGS if it's supported.
683 Fixes compilation on cygwin.
684
685 Reported by: Andrey Borzenkov.
686 Suggested by: Andrey Borzenkov.
687
688 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
689
690 Save TARGET_CC version in modinfo.sh.
691
692 Suggested by: Andrey Borzenkov.
693
694 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
695
696 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
697 follow the same algorithm to avoid method mismatch. Don't assume
698 DMRAID- UUID to mean full disk but instead check that mapping is linear.
699
700 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
701
702 Declare GRUB_EFI_VENDOR_APPLE_GUID.
703
704 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
705
706 Dump type and vendor specific data when printing device path.
707
708 2013-12-23 Colin Watson <cjwatson@debian.org>
709
710 Update some documentation to refer to Git rather than Bazaar.
711
712 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
713 than Bazaar.
714 * po/README: Likewise. Fix spelling mistake.
715
716 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
717
718 Don't distribute config.h.
719
720 * Makefile.am (platform_HEADERS): Move to ...
721 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
722 failure when building from a distributed tarball.
723
724 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
725
726 * configure.ac: Fix spelling.
727 * grub-core/commands/parttool.c: Fix grammar.
728 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
729 Embedding Partition".
730
731 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
732
733 ARM64 support for grub-mkrescue.
734
735 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
736
737 Install modinfo.sh to keep build information around.
738
739 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/modinfo.sh.in: Add build config information.
742
743 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
744
745 ARM64 grub-file and grub-mkconfig support.
746
747 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
748
749 Remove leftover options defines.
750
751 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
754
755 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/loader/arm64/linux.c: Add missing bracket.
758
759 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
760
761 Add arm64-efi recognition to grub-file.
762
763 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
764
765 Fix ia64-efi recognition in grub-file.
766
767 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
768
769 Recognize raspberry pi kernel in grub-file.
770
771 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
772
773 Enable cache on ARM U-Boot port.
774
775 Without it the port is reidiculously slow.
776
777 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
778
779 Fix ARM cache maintainance.
780
781 More code was converted from ASM to C for easier handling.
782
783 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
786 algorithm on v5.
787
788 Suggested by: Leif Lindholm.
789
790 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
791
792 * util/grub-mkconfig.in: Fix Xen platform conditions.
793
794 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
795
796 * util/grub-mkrescue.c: Split single help message string in several
797 strings used in previous shell version.
798
799 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
800
801 Add arm64 Linux loader.
802
803 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
804
805 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
806
807 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
808
809 Add module loading and parsing boot time checkpoints.
810
811 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
814 platforms.
815
816 2013-12-22 Lars Wendler <polynomial-c@gentoo.org>
817
818 * util/grub-mkconfig.in: Skip non-executable files.
819
820 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
821
822 Workaround buggy timer in raspberry pie by using our own timer
823 implementation.
824
825 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
828 Increase to 16 MiB to allow loading the whole memdisk.
829
830 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
831
832 Fix ARM Linux Loader on non-FDT platforms.
833
834 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * configure.ac: Choose link format based on host_os on emu.
837
838 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
841
842 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/kern/emu/main.c: Build fix for emu.
845
846 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
847
848 Build fixes for argp.h with older gcc.
849
850 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
853 in strings.
854
855 Suggested by: David Prévot.
856
857 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
860
861 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
862
863 Enable -Wformat=2 if it's supported.
864
865 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
868 -Wmissing-declarations if supported.
869
870 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
873 u32 as both HFS and HFS+ have 32-bit inodes.
874
875 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * include/grub/misc.h (grub_strtol): Fix overflow.
878
879 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
882 as return type in both conditionals.
883
884 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
887 to use uint8_t for color.
888
889 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * util/misc.c (grub_util_get_image_size): Check for overflow.
892
893 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
896 for size.
897
898 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
901 for pointer difference.
902
903 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * util/import_gcry.py: Skip sample keys.
906
907 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
910
911 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * configure.ac: Remove duplicate warning arguments.
914
915 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
916
917 Add missing static qualifiers.
918
919 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
920
921 Add missing includes.
922
923 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
924
925 Inline printf templates when possible to enable format checking.
926
927 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * include/grub/crypto.h: Don't discard const attribute.
930
931 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
934 was intended.
935
936 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/lib/crypto.c: Don't discard const attribute.
939
940 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/lib/disk.c: Fix potential overflow.
943
944 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/lib/arg.c: Don't discard const attribute.
947
948 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/kern/dl.c: Don't discard const attribute.
951
952 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/kern/disk.c: Fix potential overflow.
955
956 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * conf/Makefile.common: Don't include non-existing directory
959 grub-core/lib/libgcrypt-grub/include.
960
961 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
962
963 Clarify several translatable messages.
964
965 2013-12-21 David Prévot <david@tilapin.org>
966
967 Correct some translatable strings.
968
969 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
970
971 * util/grub-mkrescue.c: Rephrase mkrescue description.
972
973 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
974 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
975
976 Clarify several translatable messages.
977
978 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
979
980 Be more verbose about some configure failures.
981
982 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
983
984 Fix various build problems on GNU/Hurd.
985
986 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
987 !defined (__GNU__).
988 (xgetcwd): Likewise.
989 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
990 [__GNU__]: Add prototype.
991 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
992 long int using %ld rather than %d.
993
994 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * util/grub-install.c: Inform user about install platform.
997
998 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * configure.ac: Set version to 2.02~beta1.
1001
1002 2013-12-18 Allen Pais <allen.pais@oracle.com>
1003 2013-12-18 Bob Picco <bob.picco@oracle.com>
1004
1005 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
1006
1007 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 Make grub_zlib_decompress handle incomplete chunks.
1010
1011 Fixes squash4.
1012
1013 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
1016 on i386-multiboot.
1017
1018 2013-12-18 Aleš Nesrsta <starous@volny.cz>
1019
1020 * grub-core/disk/usbms.c: Retry on unknown errors.
1021 Reuse the same tag on retries.
1022
1023 2013-12-18 Aleš Nesrsta <starous@volny.cz>
1024
1025 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
1026
1027 Avoid confusing them with already completed transfers.
1028
1029 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 Remove xen VFB.
1032
1033 Due to XEN bug it prevents Linux boot. Remove it at least, until
1034 workaround is found.
1035
1036 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * po/exclude.pot: Add 2 missing excludes.
1039
1040 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 Add missing license section in macbless.mod and macho.mod.
1043
1044 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Allow compilation without thumb-interwork as long as no thumb is
1047 involved or only thumb2 is used.
1048
1049 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * INSTALL: Update comment as to why sparc64 clang isn't usable.
1052
1053 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 Add __attribute__ ((sysv_abi)) only if it's really needed.
1056
1057 Some compilers don't support it.
1058
1059 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
1062
1063 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 Remove -Wold-style-definition.
1066
1067 Not very useful and interaction of it with regexp depends on GCC
1068 version.
1069
1070 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 Make grub_util_get_windows_path_real static.
1073
1074 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * grub-core/commands/fileXX.c: Silence cast-align.
1077 * grub-core/loader/i386/xen_fileXX.c: Likewise.
1078
1079 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
1082 rather than LL suffix.
1083
1084 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
1087
1088 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/loader/arm/linux.c: Use common initrd functions.
1091
1092 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 Decrease number of strings to translate.
1095
1096 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
1099
1100 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Mark strings for translation and add remaining ones to exclude list.
1103
1104 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * util/grub-file.c (main): Fix sizeof usage.
1107
1108 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 Silence spurious warning.
1111
1112 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 Remove check_nt_hiberfil as it's been superseeded by file command.
1115
1116 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * docs/osdetect.cfg: Add isolinux config to detected OSes.
1119
1120 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Implement syslinux parser.
1123
1124 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
1127
1128 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 Support cpuid --pae.
1131
1132 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 Use AT keyboard on Yeeloong 3A.
1135
1136 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 Add Yeeloong 3A reboot and halt.
1139
1140 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 Add Radeon Yeeloong 3A support.
1143
1144 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 Add bonito 3A support.
1147
1148 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1151
1152 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1155
1156 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/loader/macho.c: Fix compilation on non-i386.
1159
1160 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 Add missing format_arg attribute to check that printf with translated
1163 messages has proper arguments.
1164
1165 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 Use grub_xasprintf to format translated error messages containing
1168 64-bit quantity.
1169
1170 2013-12-17 Jon McCune <jonmccune@google.com>
1171
1172 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1173
1174 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 Unify message for unsupported relocation.
1177
1178 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Mark miscompile error for translation.
1181
1182 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 Use %I64 and not %ll when using OS printf if compiling for windows.
1185
1186 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 Update Mac code to match new register_efi prototype.
1189
1190 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 Implement better integration with Mac firmware.
1193
1194 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1197 load_addr.
1198
1199 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 Include serial module in default_payload.elf.
1202
1203 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 Add explicit thumb interwork bx in asm files.
1206
1207 Shouldn't matter for armv >= 5 but let's be safe.
1208
1209 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 Implement Truecrypt ISO loader.
1212
1213 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1216
1217 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 Implement grub_file tool and use it to implement generating of config
1220 in separate root.
1221
1222 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 Change to v1 xen grants.
1225
1226 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1229
1230 GRUB relied on %ebx being preserved across hypercall which isn't true.
1231
1232 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1235
1236 GRUB relied on %rdi being preserved across hypercall which isn't true.
1237
1238 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 Implement XEN VFB support.
1241
1242 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 Remove grub_bios_interrupt on coreboot.
1245
1246 It's not used currently and cannot be used safely currently.
1247
1248 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 Update exclude.pot and mark few strings for translation.
1251
1252 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1255
1256 Reported by: Jon McCune
1257
1258 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1259
1260 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1261 Add verbose information which firmware directories were tried.
1262
1263 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1264
1265 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1266 function to optionally redirect all three standard descriptors.
1267 Redefine grub_util_exec, grub_util_exec_redirect and
1268 grub_util_exec_redirect_null to use it.
1269 * include/grub/emu/exec.h: Define it.
1270 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1271 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1272 Use grub_util_exec_redirect_all to redirect error to NULL.
1273
1274 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/tests/sleep_test.c: Silence spurious warning.
1277
1278 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1281 linker trying to "fixup" the code.
1282
1283 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1286
1287 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 Add support for converting PE+ to Elf64.
1290
1291 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1294
1295 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 Remove practice of assigning random const pointers to device id.
1298
1299 This is not required as cache code already checks driver id as well.
1300
1301 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1304 with mingw.
1305
1306 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1309 mingw or cygwin as API already matches.
1310
1311 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1314
1315 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1318 not on long.
1319
1320 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 Handle X86_64_PC64 relocation.
1323
1324 Those are generated by some cygwin compilers.
1325
1326 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 Determine the need for mingw-related stubs at compile time rather than
1329 using not very significant $target_os.
1330
1331 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1334 may not work with ELF.
1335
1336 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 Use unix functions for temporary files and special files on cygwin.
1339
1340 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 Define functions explicitly rather than using --defsym in tests
1343 whenever possible. Respect locality in remaining cases.
1344
1345 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1348
1349 2013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1350
1351 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1352 unlikely errors when getting EFI variables and make exhaustive search
1353 for all BootNNNN variables to find matching one.
1354
1355 2013-12-15 Ian Campbell <ijc@hellion.org.uk>
1356
1357 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1358
1359 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 New functional test for sleep function.
1362
1363 This test allows to check sleep without qemu. Keep qemu version as
1364 well as functional test won't notice if all clocks are going too fast
1365 or too slow.
1366
1367 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 Add explicit sysv_abi on amd64 asm routines.
1370
1371 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1374 num_table_entries.
1375
1376 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1379 functions.
1380
1381 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1384 appropriate.
1385
1386 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1389
1390 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1393 appropriate.
1394
1395 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1398
1399 In case of quick removal of loopback and adding another one it may
1400 get same ID, confusing the cache system.
1401
1402 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1405 appropriate.
1406
1407 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1410 than converting to long.
1411
1412 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1415
1416 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1419 than almost useless pointer.
1420
1421 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 Add gcc_struct to all packed structures when compiling with mingw.
1424
1425 Just "packed" doesn't always pack the way we expect.
1426
1427 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1430
1431 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * util/grub-pe2elf.c: Fix handling of .bss.
1434
1435 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 Implement windows flavour of EFI install routines.
1438
1439 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1442
1443 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 Change grub_install_register_efi interface to pass GRUB device.
1446
1447 This allows grub_install_register_efi to request partition info
1448 directly.
1449
1450 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1453
1454 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 Do not use TCHAR string functions as they are not available on cygwin.
1457
1458 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Workaround windows bug when querying EFI system partition parameters.
1461
1462 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1465 by using bitfields.
1466
1467 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1470
1471 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 Make i386-* other than i386-pc compileable under cygwin.
1474
1475 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 Fix definition of grub_efi_hard_drive_device_path. Take care that
1478 existing code would work even if by some reason bogus definition is
1479 used by EFI implementations.
1480
1481 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1484
1485 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1488 invocation.
1489
1490 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * util/config.c: Remove trailing newline from distributor in simple
1493 parsing.
1494
1495 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * include/grub/efi/api.h: Rename protocol and interface to avoid
1498 conflict.
1499
1500 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * .gitignore: add .exe variants. add missing files. remove few outdated
1503 entries.
1504
1505 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/osdep/exec.c: Use unix version on cygwin.
1508
1509 2013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Implement multiboot2 EFI BS specification.
1512
1513 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1516 Crash happened only in some cases like a string starting at the
1517 half of the screen of same length.
1518
1519 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1522 with EFI counterpart.
1523
1524 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 Propagate the EFI commits to x86-efi specific parts.
1527
1528 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1531
1532 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 Introduce grub_efi_packed_guid and use it where alignment is not
1535 guaranteed.
1536
1537 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1540 unaligned u16 rather than u8[2].
1541
1542 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1545 for relocation range.
1546
1547 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1550 non-function pcrel21b relocation. It happens with .text.unlikely
1551 section.
1552
1553 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1554
1555 * make MAX_USABLE_ADDRESS platform-specific
1556 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1557
1558 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1559
1560 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1561
1562 2013-12-09 Jon McCune <jonmccune@google.com>
1563
1564 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1565 in grub-install and grub-bios-setup for x86 BIOS targets.
1566
1567 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 Add missing compile and link options for sparc64-emu.
1570
1571 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 Implement sparc64 trampolines (needed for sparc64-emu).
1574
1575 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1578 range of R_SPARC_HI22.
1579 Implement R_SPARC_LM22.
1580
1581 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1584 Do not explicitly check for symbol table as it's already checked in
1585 platform-independent layer.
1586
1587 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1590 on ia64 as __clear_cache is a dummy on ia64.
1591
1592 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1595 Do not explicitly check for symbol table as it's already checked in
1596 platform-independent layer.
1597
1598 2013-12-09 Colin Watson <cjwatson@ubuntu.com>
1599
1600 * util/grub-mkconfig.in: Add missing newline to output.
1601
1602 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1605 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1606
1607 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1610 compilation with GCC <= 4.2.
1611 * grub-core/kern/emu/argp_common.c: Likewise.
1612
1613 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1616 right platform rather than leaking to sparc64-emu.
1617
1618 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1621 But ensure that the variables in question are indeed unsigned.
1622
1623 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1626
1627 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Remove grub_memalign on emu.
1630
1631 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1634 truncate incomplete lines but instead flushes them.
1635
1636 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1639 and implement windows variant.
1640
1641 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 Fix mips-emu compilation.
1644
1645 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * configure.ac: Check for freetype library usability.
1648
1649 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 Make arm-emu work.
1652
1653 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1656
1657 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1658
1659 * docs/grub.texi (Environment): Update color_normal and color_highlight
1660 defaults (light-gray instead of white).
1661
1662 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1663
1664 * grub-core/normal/main.c (INIT): Set default color to light-gray
1665 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1666 and apparently BIOS defaults.
1667
1668 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 Transform -C option to grub-mkstandalone to --core-compress available
1671 in all grub-install flavours.
1672
1673 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 Merge GRUBFS and GRUB_FS variables.
1676
1677 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1678
1679 Revert commit 69ca97c820, it caused failures when using OS device name
1680 in grub-install. Instead just strip off parenthesis in grub-install
1681 if (hdX) was passed.
1682
1683 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1684
1685 * util/grub-install.c (push_partmap_module): Add helper to convert
1686 partmap names to module names and use it in probe_mods(). Fixes
1687 failure to find partmap modules in diskfilter case.
1688
1689 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * configure.ac: Make unifont mandatory on coreboot.
1692
1693 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * configure.ac: Skip unifont 6.3 pcf and bdf.
1696
1697 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * Makefile.am: Remove partial font files if generation failed.
1700
1701 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1702
1703 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1704 strings.
1705 * include/grub/util/misc.h: Define it ...
1706 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1707
1708 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1709
1710 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1711 ${grub_probe}.
1712
1713 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 Don't add -mlong-calls when compiling with clang.
1716
1717 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * configure.ac: Fix a typo.
1720
1721 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 Revamp relocation handling.
1724
1725 Move more code to common dl.c. Add missing veneers for arm and arm64.
1726 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1727
1728 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1731
1732 2013-12-05 Mike Gilbert <floppym@gentoo.org>
1733
1734 * INSTALL: Raise minimum python version to 2.6.
1735 * gentpl.py: Use python3-style print function.
1736
1737 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * util/grub-install.c: Mention Boot* variable.
1740
1741 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1742
1743 * grub-core/osdep/linux/hostdisk.c
1744 (grub_util_find_partition_start_os): Initialise start to avoid
1745 spurious compiler warning.
1746
1747 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1748
1749 On Linux, read partition start offsets from sysfs if possible, to
1750 cope with block device drivers that don't implement HDIO_GETGEO.
1751 Fixes Ubuntu bug #1237519.
1752
1753 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1754 function.
1755 (sysfs_partition_start): Likewise.
1756 (grub_util_find_partition_start_os): Try sysfs_partition_start
1757 before HDIO_GETGEO.
1758
1759 2013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1760
1761 * grub-core/kern/fdt.c: Update struct size when adding node.
1762
1763 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 Handle unaligned .bss on sparc64.
1766
1767 Current code improperly assumes that both __bss_start and _end are
1768 aligned to 8-bytes. Eliminating this assumption and explicitly align
1769 modules.
1770
1771 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1774 so it doesn't land in the middle of loaded image.
1775
1776 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * configure.ac: Move all warning options that may be absent in
1779 gcc >= 3.1 to optional.
1780
1781 Note: while this allows to compile with older GCC, official requirements
1782 remain the same and no support for older GCC.
1783
1784 2013-12-04 Colin Watson <cjwatson@ubuntu.com>
1785
1786 Copying the themes directory in grub-shell isn't
1787 parallel-test-friendly and breaks on the second test when the source
1788 directory is read-only (as in "make distcheck"). Instead, add a
1789 hidden --themes-directory option to grub-mkrescue et al, and use it
1790 in grub-shell.
1791
1792 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1795 as it's no longer necessarry.
1796
1797 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * configure.ac: Allow compilation with older GCC for ARM.
1800
1801 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1804 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1805 ppc.
1806
1807 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1810
1811 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 Pass font config to config.h and not by TARGET_CFLAGS as adding
1814 arguments doesn't work if TARGET_CFLAGS is specified on command
1815 line.
1816
1817 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * configure.ac: Add -Wvla if compiler supports it.
1820
1821 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1824 Remove variable length arrays.
1825 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1826
1827 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1830
1831 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * include/grub/types.h: Declare all byteswaps as inline functions
1834 except compile-time ones.
1835
1836 Solves variable shadowing in constructions like
1837 cpu_to_le (le_to_cpu(x) + 1).
1838
1839 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1842
1843 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1846 minutes.
1847
1848 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1851 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1852
1853 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1854
1855 * grub-core/Makefile.core.def (setjmp): Distribute
1856 lib/arm64/setjmp.S.
1857
1858 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1859
1860 Add a new timeout_style environment variable and a corresponding
1861 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1862 controls hidden-timeout handling more simply than the previous
1863 arrangements, and pressing any hotkeys associated with menu entries
1864 during the hidden timeout will now boot the corresponding menu entry
1865 immediately.
1866
1867 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1868 generates a warning, and if it shows the menu it will do so as if
1869 the second timeout were not present. Other combinations are
1870 translated into reasonable equivalents.
1871
1872 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1873
1874 2013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * util/config.c: Add missing pointer adjustment.
1877 Reported by: qwertial
1878
1879 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1880
1881 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1882 directly, not via `cpu' link, to fix libgrub.pp generation.
1883
1884 2013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1885
1886 New port arm64-efi.
1887
1888 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1889
1890 * docs/grub.texi (sleep): Document exit codes.
1891
1892 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 Ensure that -mno-unaligned-access or some equivalent option is used.
1895
1896 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1899 -march=armv3.
1900
1901 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1904
1905 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1906
1907 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1908 builds, since we don't have an EPS version of font_char_metrics.png.
1909 Add leading dot to image extension per the Texinfo documentation.
1910
1911 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1912
1913 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1914 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1915 * util/grub-gen-widthspec.c: Likewise.
1916 * util/grub-mkfont.c: Likewise.
1917
1918 2013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1919
1920 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1921 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1922 failed to install on (hdX).
1923 * util/grub-setup.c (get_device_name): Remove, not needed after
1924 above change.
1925
1926 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1929
1930 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * util/grub-fstest.c: Remove variable length arrays.
1933
1934 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1937
1938 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1941 computing crc32 rather than handling with md fundtions directly.
1942
1943 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1946 checking fwstart.img rather than md fundtions directly.
1947
1948 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * util/grub-mkrescue.c (main): Check that fread succeeded.
1951
1952 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * conf/Makefile.common: Remove -mexplicit-relocs and
1955 -DUSE_ASCII_FALLBACK on yeeloong.
1956
1957 -DUSE_ASCII_FALLBACK is already added by font snippets.
1958 -mexplicit-relocs isn't needed is compiler/assemblera are
1959 configured properly.
1960 If they're not we shouldn't attempt to fix it by ourselves.
1961 Binary compare between before and after shows no difference.
1962
1963 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1966 sources in dependencies directly.
1967
1968 This was the only instance of "library" in core config. A bug was
1969 reported that -fno-stack-protector wasn't passed to it. Instead of
1970 figuring out why it failed just remove this construction used
1971 needlessly.
1972
1973 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1976 fgets succeeded.
1977
1978 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1979
1980 * docs/grub.texi (ls): Fix command description in case of a device name
1981 passed as argument.
1982
1983 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 Eliminate variable length arrays in grub_vsnprintf_real.
1986
1987 A bit tricky because this function has to continue to work without
1988 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1989 but make all stack references use 32-bit offset rather than 8-bit one.
1990 So split va_args preparsing to separate function and put the prealloc
1991 into the caller.
1992
1993 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1996 Fixes build for windows.
1997
1998 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * gentpl.py: Don't generate platform-dependent conditionals for
2001 platform-independent targets.
2002
2003 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2004
2005 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
2006 references to mdadm from otherwise generic code.
2007 (grub_util_exec_pipe): Likewise.
2008 (grub_util_exec_pipe_stderr): Likewise.
2009 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
2010 This function calls vgs, not mdadm; adjust variable names
2011 accordingly.
2012
2013 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2014
2015 Generate Makefile.*.am directly from gentpl.py, eliminating the use
2016 of Autogen. The Autogen definitions files remain intact as they
2017 offer a useful abstraction.
2018
2019 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2020
2021 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
2022 into no-ops, and use it in programs that copy files but do not need
2023 to take special care to sync writes (grub-mknetdir, grub-rescue,
2024 grub-mkstandalone).
2025
2026 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
2027
2028 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
2029 than hardcoding /usr/local/bin/xorriso.
2030
2031 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 Add PCI command activation to all PCI drivers as required for coreboot
2034 and maybe some other firmwares.
2035
2036 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
2039 and non-Apple variants of efiemu compile.
2040
2041 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
2042
2043 * configure.ac: Add explicit check for linking format of
2044 efiemu64; save it as EFIEMU64_LINK_FORMAT.
2045 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
2046 hardcoding linking format.
2047
2048 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
2051 and not pkgdatadir.
2052
2053 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
2054 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 Add a --locale-directory option to grub-install and related tools.
2057
2058 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
2059 --locale-directory option.
2060 (enum grub_install_options): Add
2061 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2062 * util/grub-install-common.c (grub_install_help_filter): Handle
2063 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2064 (grub_install_parse): Likewise.
2065 (get_localedir): New function to check for a user-provided option
2066 before trying grub_util_get_localedir.
2067 (copy_locales): Use get_localedir rather than
2068 grub_util_get_localedir. Handle differing locale directory layouts.
2069 (grub_install_copy_files): Likewise.
2070
2071 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
2074 Don't rely on PATH_MAX.
2075
2076 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/genmoddep.awk: Use more portable && rather than and.
2079
2080 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
2083 an object after data. While it doesn't seem right solution, it
2084 works well enough and OSX isn't main compilation platform.
2085
2086 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
2089 While it doesn't seem right solution, it works well enough and
2090 OSX isn't main compilation platform.
2091
2092 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * configure.ac: Add -static to LDFLAGS when using apple linker to
2095 prevent it from pulling in dynamic linker.
2096
2097 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 Apple assembly doesn't handle symbol arithmetic well. So define an
2100 offset symbol in boot.S and use it.
2101
2102 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 Apple assembly doesn't handle symbol arithmetic well. So instead
2105 of getting addres of kernel_sector + 4 define kernel_sector_high.
2106 It also makes code more readable.
2107
2108 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 With Apple assembly in .macro environvemnt you have to use $$ instead
2111 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
2112 to $$x on Apple and to $x on everything else.
2113
2114 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
2117 OBJCONV.
2118
2119 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
2122 and non-Apple. This instruction is shorter and faster,
2123 so no reason not to use it on both.
2124
2125 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
2128 .text when compiling for Apple.
2129
2130 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/term/arc/console.c: Add missing cast to silence warning.
2133
2134 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2137 %dx restore the probe worked on non-existant drive. Reorganize the
2138 code a little bit to free 2 bytes necessary for push/pop.
2139
2140 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2143 Add missing cast to silence warning.
2144
2145 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2146
2147 * util/grub-install.c (update_nvram): Support --no-nvram flag
2148 for EFI targets.
2149
2150 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2153
2154 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * util/garbage-gen.c: Add missing include of sys/time.h.
2157
2158 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 Don't add -mflush-func if it's not supported by compiler.
2161
2162 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 Move common BIOS/coreboot memory map declarations to
2165 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2166
2167 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2168
2169 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2170
2171 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * INSTALL: Document why older clang versions aren't appropriate.
2174
2175 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * INSTALL: Document about clang for mips.
2178
2179 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2182 clang.
2183
2184 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 Add *-xen to the list of grub-install-common platforms.
2187
2188 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2191 3 last commits.
2192
2193 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2196
2197 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2200 with -mcmodel=large.
2201
2202 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2205 range-checking for 32-bit quantities.
2206
2207 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * configure.ac: Compile with -fPIC when compiling with clang on
2210 mips.
2211
2212 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2215 when compiling with clang.
2216
2217 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 clang emits calls to abort () under some unknown conditions.
2220 Export abort () when compiling with clang.
2221
2222 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * docs/grub-dev.texi: Document stack and heap sizes.
2225
2226 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * include/grub/i386/pc/memory.h: Decrease
2229 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2230 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2231 The binary doesn't change (checked). It's more to better reflect actual
2232 usage.
2233
2234 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2237 at compile time that enough of scratch size is available.
2238
2239 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2242 Previously we misaligned stack by 8 in startup.S and compensated
2243 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2244 right behaviour is to align stack in startup.S and keep it aligned
2245 in callwrap.S. startup.S part was committed few commits before. This
2246 takes care of callwrap.S.
2247 Reported by: Gary Lin.
2248
2249 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2252 .data and .bss. May happen if compiler and assembly use different
2253 alignment.
2254
2255 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2258 way.
2259
2260 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 Add support for a new magic symbol _gp_disp on mips to handle PIC
2263 binaries.
2264
2265 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2268
2269 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2272 when rest of GRUB is compiled for hisher stepping. Instead use
2273 .set mips3/.set mips1 around cache and sync opcodes.
2274
2275 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2278 do essentially the same thing, do it in similar way.
2279
2280 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2281
2282 * util/grub-mkrescue.c (main): If a source directory is not
2283 specified, read platform-specific files from subdirectories of
2284 pkglibdir, not pkgdatadir.
2285
2286 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2287
2288 * grub-core/normal/progress.c: Remove unused file.
2289
2290 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2293 array.
2294
2295 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2298 than grub.cfg.
2299
2300 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * coreboot.cfg: Add missing file.
2303
2304 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2307
2308 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2309
2310 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2311 selectively skipping systems.
2312
2313 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2314
2315 * Makefile.util.def (grub-mkimage): Add
2316 grub-core/osdep/aros/config.c to extra_dist.
2317 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2318 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2319 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2320 grub-core/gnulib-no-gets.diff.
2321
2322 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 Add automated filesystem checking based on scripts I've used now for
2325 quite some time locally. Most of the test require root so they are
2326 skipped when run without necessarry privelegies.
2327
2328 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2329
2330 * util/grub-install.c (main): Adjust info messages to match
2331 installed paths of grub-bios-setup and grub-sparc64-setup.
2332
2333 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2334
2335 * util/grub-install-common.c (copy_locales): Consistently use
2336 grub_util_get_localedir () rather than LOCALEDIR.
2337 (grub_install_copy_files): Likewise.
2338
2339 2013-11-19 Josh Triplett <josh@joshtriplett.org>
2340
2341 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2342 16-byte boundary, as required by the x86-64 ABI, before calling
2343 grub_main. In some cases, GCC emits code that assumes this
2344 alignment, which crashes if not aligned. The EFI firmware is also
2345 entitled to assume that stack alignment without checking.
2346
2347 2013-11-18 Josh Triplett <josh@joshtriplett.org>
2348
2349 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2350 4k page boundaries as expected by firmware rather than 1k
2351 boundaries.
2352 (grub_mmap_malign_and_register): Likewise.
2353
2354 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2357 fragmentation 512M is enough.
2358
2359 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2362 pointer to 32K. This is the size of cache element which is the most
2363 common allocation >1K. This way the pointer is always around blocks
2364 of 32K and so we keep performance while decreasing fragmentation.
2365
2366 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2369 current memory when allocating large chunks. This significantly
2370 decreases memory fragmentation.
2371
2372 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2373
2374 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2375 but for symmetry).
2376 * tests/lzocompress_test.in: Skip if lzop is not installed.
2377 * tests/xzcompress_test.in: Skip if xz is not installed.
2378
2379 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2380
2381 * util/grub-mkrescue.c (main): Fix typo.
2382
2383 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2386 clock frequency to 200 MHz,
2387
2388 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2391
2392 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2395 Load config file from (cbfsdisk)/etc/grub.cfg.
2396
2397 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * util/grub-install-common.c (grub_install_copy_files): Fix module
2400 destination directory.
2401
2402 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2403
2404 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2405 files have not been built.
2406
2407 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2408
2409 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2410 Handle errors from mkstemp.
2411 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2412
2413 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2416 on primary master on pseries.
2417
2418 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2421 already loaded. This saves memory needed for tests,
2422
2423 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2426 work again.
2427
2428 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2431 work again.
2432
2433 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2436 master since with some combinations of qemu and firmware only primary
2437 IDE channel is available.
2438
2439 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2442 low-memory platforms where we don't have enough memory for them.
2443 * grub-core/tests/videotest_checksum.c: Likewise.
2444
2445 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2448 already loaded. This saves memory needed for tests,
2449
2450 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 Fix handling of install lists.
2453
2454 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2457
2458 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2461 the devices before accessing them.
2462
2463 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2466 as file argument.
2467
2468 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2471
2472 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2475 (grub_file_close): Free file->name.
2476
2477 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2480 (grub_load_public_key): Likewise.
2481 (grub_verify_signature_real): Likewise.
2482 (grub_cmd_verify_signature): Likewise.
2483
2484 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2487 memory leak.
2488
2489 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2492 (grub_longjmp): Restore r31.
2493 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2494
2495 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2498 modules to be in line with make_image_abs.
2499
2500 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2503
2504 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2505
2506 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
2507
2508 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2509
2510 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2513 to leave some memory to firmware.
2514
2515 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2518 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2519 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2520 Load gfxmenu.
2521
2522 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2525 now needs full arguments.
2526
2527 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * util/grub-mkrescue.c (main): Add trailing \n in
2530 .disk_label.contentDetails to be in line with previous shell script.
2531
2532 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2535
2536 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * util/grub-install-common.c (grub_install_parse): Recognize
2539 --compress=none like shell script did.
2540
2541 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * include/grub/misc.h: Replace check for __sparc64__ with one for
2544 __sparc__ as __sparc64__ isn't actually defined.
2545
2546 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2549 counterpart of fixing the naming of escc ports.
2550
2551 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * util/grub-install-common.c (platforms): Fix the order of entries and
2554 remove useless field val.
2555
2556 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * util/grub-install.c: Add new option --no-bootsector to skip
2559 installing of bootsector. Accept --grub-setup=/bin/true as
2560 backwards-compatible synonym.
2561
2562 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2563
2564 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2565 order of qsort arguments (number of elements vs. element size).
2566
2567 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2570 the function of these files exceeds what can be sanely handled in shell
2571 in posix-comaptible way. Also writing it in C extends the functionality
2572 to non-UNIX-like OS and minimal environments.
2573
2574 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2577 compiling to thumb2.
2578 * grub-core/kern/arm/cache_armv7.S: Likewise.
2579 * grub-core/lib/arm/setjmp.S: Likewise.
2580
2581 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2582
2583 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2584 in grub_uboot_syscall
2585
2586 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Decrease stack usage in lexer.
2589
2590 We have only 92K of stack and using over 4K per frame is wasteful
2591
2592 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2593 as macros so that compiler would remove useless structure on stack.
2594 Better solution would be to fix flex not to put this structure on
2595 the stack but flex is external program.
2596
2597 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Decrease stack usage in signature verification.
2600
2601 We have only 92K of stack and using over 4K per frame is wasteful
2602
2603 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2604 rather than stack.
2605 (grub_verify_signature_real): Likewise.
2606
2607 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 Decrease stack usage in mdraid 0.9x.
2610
2611 We have only 92K of stack and using over 4K per frame is wasteful
2612
2613 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2614 rather than stack.
2615
2616 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 Decrease stack usage in BtrFS.
2619
2620 We have only 92K of stack and using over 4K per frame is wasteful
2621
2622 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2623 rather than stack.
2624
2625 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 Decrease stack usage in JFS.
2628
2629 We have only 92K of stack and using over 4K per frame is wasteful
2630
2631 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2632 stack. Note: this function is recursive.
2633 (grub_jfs_read_inode): Read only part we care about.
2634
2635 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2636
2637 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2638 handling
2639
2640 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2641
2642 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2643
2644 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2645
2646 * docs/grub.texi (Environment): Document cmdpath.
2647
2648 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2649
2650 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2651 Remove "unused" attribute from arguments, they are used.
2652
2653 2013-11-15 Colin Watson <cjwatson@debian.org>
2654
2655 * .gitignore: Only ignore grub-mk* at the top level.
2656
2657 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
2658
2659 * util/grub-reboot.in (usage): Fix a typo.
2660
2661 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 Replace libgcc version of ctz with our own.
2664
2665 On upcoming arm64 port libgcc ctz* are not usable in standalone
2666 environment. Since we need ctz* for this case and implementation is
2667 in C we may as well use it on all concerned platforms.
2668
2669 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * configure.ac: Probe for linking format rather than guessing it based
2672 on target_os.
2673
2674 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2677 "1" prior to handoff.
2678
2679 Reported by: M A Young.
2680
2681 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2684 \0 to all files.
2685
2686 Reported by: M A Young.
2687
2688 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2691 compilation on NetBSD.
2692
2693 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * acinclude.m4: Don't add -P on initial nm test.
2696
2697 Note: even though this patch postdates Andrey's it bears 14 Nov as
2698 date due to timezone difference.
2699
2700 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2701
2702 * grub-core/Makefile.core.def (signature_test): Add missing
2703 tests/signatures.h.
2704
2705 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2706
2707 * util/grub-install_header: Set localedir here, since this file is
2708 where it's used.
2709 * util/grub-install.in: Remove setting of localedir.
2710 * util/grub-mkrescue.in: Likewise.
2711
2712 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2715
2716 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * configure.ac: Move nm checks to the end.
2719 Call grub_PROG_NM_WORKS.
2720 * acinclude.m4: New check grub_PROG_NM_WORKS.
2721 Use $TARGET_CFLAGS -c when compiling test binary.
2722
2723 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2724
2725 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2726 unused variables.
2727
2728 2013-11-14 Matthew Garrett <mjg@redhat.com>
2729
2730 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2731 cmdpath to firmware directory.
2732
2733 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2736 at the start of second iteration.
2737
2738 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2741
2742 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * Makefile.am (default_payload.elf): New target for easier coreboot
2745 build.
2746
2747 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2750 clang (not necessarry with -no-integrated-as).
2751 * include/grub/symbol.h [__arm__]: Likewise.
2752
2753 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * configure.ac: Use -no-integrated-as on arm with clang.
2756 * INSTALL: Mention ARM compilation with clang.
2757
2758 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2761 -mthumb-interwork.
2762
2763 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2764
2765 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2766 code for indirect block handling.
2767
2768 Saves 185 bytes on compressed image.
2769
2770 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2771
2772 Fix make clean.
2773
2774 * Makefile.am: Remove build-grub-* in make clean.
2775
2776 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2777
2778 New files to gitignore.
2779
2780 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2781 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2782
2783 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2784
2785 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2786
2787 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2788
2789 * .gitignore: fix rules for .dep* and add *.a post git migration
2790
2791 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2792
2793 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2794 to match INSTALL.
2795
2796 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2797
2798 * grub-core/kern/misc.c: Don't redirect divisions in the
2799 GRUB_UTIL case.
2800 * include/grub/misc.h: Likewise.
2801
2802 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2803
2804 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2805 systems that require checking the return value of write.
2806
2807 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2808
2809 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2810 efibootmgr quiet when --debug is not used, rather than when it is.
2811
2812 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2813
2814 * gentpl.py (define_macro_for_platform_dependencies): Remove
2815 first (and thus unused) of two definitions for this function.
2816 (platform_dependencies): Likewise.
2817
2818 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2819
2820 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2821 functions, we only need to check this for the target, not the host.
2822 * configure.ac (grub_apple_cc): Likewise.
2823
2824 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2827 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2828 asm to stay in arm even if surrounding is thumb.
2829
2830 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2833 helper functions are needed for thumb.
2834
2835 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2838 level / 3 division explicitly unsigned. Saves few bytes.
2839
2840 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2843
2844 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2847 division.
2848
2849 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2852 grub_uboot_boot_data to asm part.
2853
2854 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2857 literal load.
2858 (grub_uboot_syscall): Save/restore r9 and align stack.
2859
2860 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2863
2864 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2867 occurencies with END.
2868
2869 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2870
2871 * util/grub-editenv.c (help_filter, argp): Document how to delete
2872 the whole environment block.
2873 Reported by Dan Jacobson. Fixes Debian bug #726265.
2874
2875 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2876
2877 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2878 sectioning.
2879
2880 2013-11-13 Josh Triplett <josh@joshtriplett.org>
2881
2882 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2883 increment/decrement.
2884
2885 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2888 compiling with clang.
2889
2890 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2893 ".".
2894
2895 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 Redirect all divisions to grub_divmod64.
2898
2899 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2902
2903 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 Add missing includes of loader.h.
2906
2907 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * configure.ac: Allow disabling themes.
2910
2911 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2912
2913 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2914
2915 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2918 until it becomes operational.
2919
2920 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/Makefile.core.def (legacy_password_test): Disable
2923 on platforms where no legacycfg is compiled.
2924 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2925 load legacy_password_test.
2926
2927 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2930
2931 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2934
2935 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2938 strict-aliasing warning.
2939 (fsync): Silence cast warning.
2940
2941 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/commands/verify.c: Remove variable length arrays.
2944 Load gcry_dsa/gcry_rsa automatically.
2945
2946 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * grub-core/tests/signature_test.c: New test.
2949
2950 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2953 API.
2954
2955 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2958 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2959
2960 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2963
2964 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * grub-core/fs/proc.c: Allow \0 in proc files.
2967
2968 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2971
2972 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2975
2976 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/fs/ext2.c: Remove variable length arrays.
2979
2980 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2983 length arrays.
2984
2985 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2988 * grub-core/disk/cryptodisk.c: Likewise.
2989 * grub-core/disk/geli.c: Likewise.
2990 * grub-core/disk/luks.c: Likewise.
2991
2992 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * grub-core/tests/legacy_password_test.c: New test.
2995 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2996
2997 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
3000
3001 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/tests/pbkdf2_test.c: New test.
3004
3005 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
3008
3009 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/io/lzopio.c: Remove variable length arrays.
3012
3013 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * include/grub/crypto.h: Add maximums on hash size and cipher block
3016 size.
3017
3018 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
3021
3022 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * grub-core/tests/xnu_uuid_test.c: New test.
3025
3026 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
3029 covers it).
3030
3031 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/commands/hashsum.c: Remove variable length arrays.
3034
3035 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
3038 condition.
3039 * tests/grub_func_test.in: Increase memory allocation.
3040
3041 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
3044 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
3045 sys/mount.h.
3046
3047 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
3050 (grub_util_get_fd_size_os): ...this.
3051 (grub_hostdisk_flush_initial_buffer): New empty function.
3052
3053 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/gensyminfo.sh.in: Handle the case of portable output
3056 without --defined-only.
3057
3058 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
3061 rip-relative addressing in prologue.
3062
3063 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
3066 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
3067
3068 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3071 Add missing semicolon.
3072
3073 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
3076
3077 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * configure.ac: Check for lzma.h for enabling liblzma and allow
3080 manual disabling.
3081
3082 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 Add missing includes of loader.h.
3085
3086 2013-11-11 Fam Zheng <famcool@gmail.com>
3087
3088 * util/grub.d/30_os-prober.in: Add minix entry.
3089
3090 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
3093 right buffer for temporary load.
3094
3095 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
3098
3099 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
3102 payload.
3103
3104 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
3107 not Types.h.
3108 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
3109 environment.
3110 (LzmaDec_InitDicAndState): Make static.
3111
3112 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
3115
3116 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
3119
3120 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
3121
3122 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * docs/grub-dev.texi: Replace bzr references with git ones.
3125
3126 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3127
3128 * docs/grub.texi (Simple configuration): Remove reference to
3129 grub-reboot from saved default entry description - grub-default
3130 does not use it anymore.
3131
3132 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * configure.ac: Make efiemu test cflags match the cflags efiemu is
3135 compiled with.
3136
3137 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3138
3139 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3140
3141 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 Fix grub_machine_fini bitrot.
3144
3145 Reported by: Glenn Washburn.
3146
3147 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3150
3151 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3154 -DELF.
3155 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3156 instead of ELF*.
3157
3158 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3161 Add -march=core2 when testing compile of efiemu64.
3162
3163 Thanks Andrey Borzenkov for spotting this.
3164
3165 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3168 XEN PV environment and load kernels.
3169
3170 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3173 * grub-core/loader/multiboot_mbi2.c: Likewise.
3174
3175 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3178 handling.
3179
3180 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3183
3184 Tested by: Denis 'GNUtoo' Carikli.
3185
3186 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3189
3190 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3193 Use to get rounded angle rather than truncated.
3194
3195 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/term/serial.c: Add option for enabling/disabling
3198 RTS/CTS flow control.
3199
3200 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3203 divisions.
3204
3205 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3208 Use grub_fatal rather than divide by zero.
3209 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3210
3211 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3214 truncate.
3215 (grub_fixed_fsf_divide): Likewise.
3216
3217 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3220 division by-zero and senseless negative divisions.
3221
3222 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3225 division by-zero and senseless negative divisions.
3226 (circprog_set_property): Don't accept negative num_ticks.
3227
3228 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3231 division by-zero and senseless negative divisions.
3232
3233 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * configure.ac: Use elf_*_fbsd on kfreebsd.
3236
3237 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/tests/div_test.c: New test.
3240
3241 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3242
3243 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3244 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3245 * grub-core/gfxmenu/view.c: Likewise.
3246 * grub-core/video/fb/video_fb.c: Introduce new functions:
3247 grub_video_set_area_status, grub_video_get_area_status,
3248 grub_video_set_region, grub_video_get_region.
3249 * grub-core/video/bochs.c: Likewise.
3250 * grub-core/video/capture.c: Likewise.
3251 * grub-core/video/video.c: Likewise.
3252 * grub-core/video/cirrus.c: Likewise.
3253 * grub-core/video/efi_gop.c: Likewise.
3254 * grub-core/video/efi_uga.c: Likewise.
3255 * grub-core/video/emu/sdl.c: Likewise.
3256 * grub-core/video/radeon_fuloong2e.c: Likewise.
3257 * grub-core/video/sis315pro.c: Likewise.
3258 * grub-core/video/sm712.c: Likewise.
3259 * grub-core/video/i386/pc/vbe.c: Likewise.
3260 * grub-core/video/i386/pc/vga.c: Likewise.
3261 * grub-core/video/ieee1275.c: Likewise.
3262 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3263 * include/grub/video.h: Likewise.
3264 * include/grub/video_fb.h: Likewise.
3265 * include/grub/fbfill.h: Updated render_target structure.
3266 grub_video_rect_t viewport, region, area
3267 int area_offset_x, area_offset_y, area_enabled
3268 * include/grub/gui.h: New helper function
3269 grub_video_bounds_inside_region.
3270 * docs/grub-dev.texi: Added information about new functions.
3271
3272 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3275 for alignment.
3276
3277 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3280 missing attribute.
3281 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3282
3283 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3286 simple division on arm and ia64.
3287
3288 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3291 link with libgcc.
3292
3293 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3296
3297 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3300 prefix symbol, not @.
3301
3302 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * INSTALL: Add note about older gcc and clang.
3305
3306 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3309
3310 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3313 NULL pointer dereference.
3314
3315 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3318 clang.
3319
3320 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3323 warnings.
3324
3325 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3328 function.
3329 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3330 * grub-core/disk/geli.c (ascii2hex): Likewise.
3331
3332 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * configure.ac: Run linker tests without -Werror.
3335 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3336 Change all occurences of -static-libgcc resp -lgcc to
3337 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3338
3339 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3342
3343 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 Allow compiling with clang (not really supported though).
3346
3347 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3348 unconditionally.
3349 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3350 Add -mrtd -mregparm=3 on i386 when not using clang.
3351 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3352
3353 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3356 bindings.
3357 * grub-core/lib/reed_solomon.c: Likewise.
3358 * include/grub/i386/gdb.h: Likewise.
3359 * include/grub/i386/pc/int.h: Likewise.
3360 * include/grub/i386/pc/pxe.h: Likewise.
3361 * include/grub/ieee1275/ieee1275.h: Likewise.
3362
3363 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 Import libgcrypt 1.5.3.
3366
3367 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * configure.ac: Don't add -Wcast-align on x86.
3370
3371 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * configure.ac: Add -freg-struct-return on all platforms that
3374 support it.
3375
3376 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * acinclude.m4: Use -Werror on parameter tests.
3379 * configure.ac: Likewise.
3380
3381 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3384
3385 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * configure.ac: Check that -malign-loops works rather than assuming that
3388 either -falign-loops or -malign-loops work.
3389
3390 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3393
3394 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * configure.ac: Prevent cflags leaking to subsequent tests by always
3397 resetting cflags to target_cflags in target tests.
3398
3399 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3402 function.
3403
3404 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3407
3408 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3411
3412 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/normal/cmdline.c (grub_cmdline_get):
3415 Remove nested functions.
3416
3417 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * tests/test_sha512sum.in: Make it work on emu.
3420
3421 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3424 functions.
3425 (grub_bidi_line_logical_to_visual): Likewise.
3426
3427 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 Remove vestiges of -Wunsafe-loop-optimisations.
3430
3431 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3432 -Wno-unsafe-loop-optimisations.
3433 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3434 pragma.
3435 * grub-core/io/gzio.c: Likewise.
3436 * grub-core/script/parser.y: Likewise.
3437 * grub-core/script/yylex.l: Likewise.
3438 * util/grub-mkfont.c: Likewise.
3439
3440 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * util/grub-mkfont.c (process_cursive): Remove nested function.
3443
3444 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3447 (grub_boot_time): Likewise.
3448
3449 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * include/grub/symbol.h (FUNCTION): Use @function rather than
3452 "function".
3453 (VARIABLE): Likewise.
3454
3455 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3458
3459 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3462 (parse_dhcp_vendor): Likewise.
3463
3464 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3467
3468 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3471 Define after defining type and not before.
3472
3473 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3476 type.
3477 (grub_gcm_decrypt): Likewise.
3478 (algo_decrypt): Likewise.
3479 (grub_zfs_decrypt_real): Transform error type.
3480
3481 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3484
3485 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3488 (grub_usbms_cbi_reset): Likewise.
3489 (grub_usbms_bo_reset): Likewise.
3490 (grub_usbms_reset): Likewise.
3491 (grub_usbms_attach): Likewise.
3492 (grub_usbms_transfer_cbi): Likewise.
3493
3494 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3497 "checksum = checksum;".
3498
3499 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3502 entry_type.
3503
3504 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3507 BIOS disk check.
3508
3509 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3512 type.
3513 (grub_ehci_fini_hw): Likewise.
3514 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3515
3516 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3519 return grub_usb_err_t for cosistency. All users updated.
3520
3521 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3524 assigning to itself.
3525
3526 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
3527 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3528
3529 Issue separate DNS queries for ipv4 and ipv6
3530
3531 Adding multiple questions on a single DNS query is not supportted by
3532 most DNS servers. This patch issues two separate DNS queries
3533 sequentially for ipv4 and then for ipv6.
3534
3535 Fixes: https://savannah.gnu.org/bugs/?39710
3536
3537 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3538 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3539 * (grub_net_dns_lookup): Now using separated dns packages.
3540 * (grub_cmd_nslookup): Add error condition.
3541 * (grub_cmd_list_dns): Print DNS option.
3542 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3543 --prefer-ipv4, and --prefer-ipv6.
3544 * include/grub/net.h (grub_dns_option_t): New enum.
3545 * (grub_net_network_level_address): option added.
3546
3547 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3548
3549 * grub-core/video/fb/video_fb.c: Merge two blit functions
3550 into one.
3551
3552 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/term/terminfo.c: Add sequences for home and end.
3555
3556 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3559 graphics console.
3560
3561 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3564 add mode 0x12.
3565
3566 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3569 e-mail by Per Öberg.
3570
3571 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3574 name.
3575
3576 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3577
3578 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3579 emu platforms.
3580 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3581
3582 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * docs/grub.texi: Document usage of menuentry id.
3585
3586 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3589
3590 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3591
3592 * grub-core/commands/i386/nthibr.c: New command.
3593
3594 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3597
3598 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3601 coordinate.
3602
3603 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 Support GRUB_DISABLE_SUBMENU config.
3606
3607 Inspired by patch from Prarit Bhargava.
3608
3609 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * docs/grub.texi: Mention RSA support.
3612
3613 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/commands/verify.c: Add RSA support.
3616
3617 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3620 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3621 device is known to be ATAPI.
3622
3623 2013-11-03 Mike Frysinger <vapier>
3624
3625 * configure.ac: Don't add target-prefix.
3626
3627 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3630 variables.
3631
3632 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3635 if language is English.
3636
3637 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3640
3641 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * configure.ac: Don't add -m32/-m64 on emu.
3644
3645 2013-11-02 neil
3646
3647 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3648 broken linux headers.
3649
3650 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3653
3654 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3657 Reed-Solomon recovery if more than half of redundancy info is 0.
3658
3659 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * util/grub-mount.c: Handle symlinks to directories.
3662
3663 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3666 find_file recursively for symlink.
3667
3668 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * tests/util/grub-shell.in: Copy themes.
3671
3672 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3675
3676 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * configure.ac: Use 0x8000 for address instead of 8000.
3679
3680 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3683 signature.
3684
3685 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3688 variable.
3689
3690 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3693
3694 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3697 file_progress_read_hook.
3698 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3699
3700 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3703 and double.
3704
3705 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3708
3709 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 Rewrite blocklist functions in order to get progress when
3712 reading large extents and decrease amount of blocklist hook calls.
3713
3714 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3717 of SI suffixes.
3718
3719 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 Support --base-clock for serial command to handle weird cards with
3722 non-standard base clock.
3723
3724 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3727 strncpy.
3728 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3729 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3730 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3731 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3732 + strcpy rather than strncpy.
3733
3734 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3737 (check_pool_label): Likewise. Fixes overflow.
3738 (nvlist_find_value): Fix comparison.
3739
3740 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3743 more appropriate functions.
3744
3745 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3748 realloc.
3749
3750 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3753
3754 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3757 on core size.
3758
3759 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3762
3763 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3766 (initialize_tables): reset tl and td to NULL after freeing.
3767
3768 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3771
3772 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3775 of supported tags.
3776
3777 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3780
3781 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3784 quirks.
3785
3786 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3789 a page in protected space.
3790
3791 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3794 allocate space for zero-sized modules.
3795
3796 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3799
3800 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3801
3802 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3803
3804 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3807 safeguards. Fixes a crash with i386/pc/console.c.
3808
3809 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3812 and grub_hostfs_init.
3813
3814 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3817 windows method on other platforms without good stat as well.
3818
3819 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3822
3823 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 Make / in btrfs refer to real root, not the default volume.
3826 Modify mkrelpath to work even if device is mounted with subvolid option.
3827
3828 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3829
3830 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
3831 extra_dist.
3832 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3833 extra_dist.
3834
3835 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3838 fails.
3839
3840 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3841
3842 * docs/autoiso.cfg: New file.
3843
3844 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3847 COND_GRUB_PE2ELF conditions.
3848
3849 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3852 "vnd", "rd" and "fd" disks.
3853
3854 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 Move grub_disk_write out of kernel into disk.mod.
3857
3858 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3861 handling.
3862
3863 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * grub-core/kern/misc.c (grub_abort): Make static
3866
3867 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3870 transform invalid unicode codepoints.
3871
3872 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3875 \0 checking.
3876
3877 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3880
3881 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 Consolidate cpuid code.
3884
3885 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 Move cpuid code to cpuid.h and TSC code to tsc.c.
3888
3889 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3890
3891 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3892
3893 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3894
3895 * util/grub-mkconfig.in: Replace $0 with $self.
3896 * util/grub-reboot.in: Likewise.
3897 * util/grub-set-default.in: Likewise.
3898
3899 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3900
3901 * docs/osdetect.cfg: New file.
3902
3903 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3904
3905 * tests/util/grub-shell.in: Add new --debug option.
3906
3907 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3908
3909 * tests/test_unset.in: New test.
3910
3911 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3912
3913 * tests/test_sha512sum.in: New test.
3914
3915 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3918 * include/grub/misc.h: Remove strncat.
3919 * grub-core/lib/posix_wrap/string.h: Likewise.
3920
3921 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3924 Try to handle more than 0xFFFF packets.
3925 Reported by: Bernhard Übelacker <bernhardu>.
3926 He also spotted few overflows in first version of this patch.
3927
3928 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * tests/date_unit_test.c: New test.
3931
3932 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3935 of first three years after start of validity of unixtime.
3936
3937 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3940 division as the one making more sense.
3941 (update_screen): Likewise.
3942 (complete): Likewise.
3943
3944 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3947
3948 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 Make char and string width grub_size_t rather than grub_ssize_t.
3951
3952 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3955 unsigned.
3956 (grub_history_replace): Likewise.
3957
3958 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3961 appropriate.
3962
3963 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3966 appropriate.
3967
3968 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3971 Use unsigned divisions rather than signed variants.
3972
3973 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3976 unsigned arithmetics.
3977 Add missing break.
3978
3979 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3982
3983 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3986 rather than signed one.
3987 (recovery): Likewise.
3988
3989 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3992
3993 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3996 than signed.
3997
3998 2013-10-25 Jon McCune <jonmccune@google.com>
3999
4000 * docs/grub.texi: Cleanup security documentation around signatures.
4001
4002 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
4005
4006 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
4009 than int.
4010
4011 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
4014 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
4015 functions when compiling for kernel.
4016
4017 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
4020 unsigned long long when using %llu.
4021
4022 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
4025 terminal after updating progress.
4026
4027 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
4030 argument. We don't disable Gate A20 in this code.
4031
4032 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
4035 Conceptually based on change in branch "vbe-on-coreboot".
4036
4037 2013-10-24 Robert Millan <rmh@gnu.org>
4038
4039 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
4040 numeric constants with their symbolic equivalent.
4041 Taken from branch "vbe-on-coreboot".
4042
4043 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * docs/grub.texi: Fix ordering and use pxref rather than xref.
4046
4047 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
4050 divmod64 for offset division.
4051
4052 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4053
4054 Rename .bzrignore to .gitignore. Add "*.o" rule.
4055
4056 * .bzrignore: Renamed to...
4057 * .gitignore: ...this.
4058
4059 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4060
4061 Add new progress module that displays the load progress of files.
4062
4063 * grub-core/lib/progress.c: New file.
4064 * grub-core/Makefile.core.def (progress): New module.
4065 * grub-core/kern/file.c (grub_file_open): File name added.
4066 * (grub_file_read): Progress hook added.
4067 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
4068 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
4069 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
4070 * include/grub/file.h (struct grub_file): Add progress module members.
4071 * include/grub/term.h (struct grub_term_output): Likewise.
4072 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
4073 Terminal velocity added.
4074 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
4075 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
4076 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
4077 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
4078 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
4079 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
4080 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
4081 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
4082 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
4083 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
4084 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
4085 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
4086
4087 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 Verify signatures of signatures unless --skip-sig is specified.
4090
4091 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4094 \0 checking.
4095
4096 Saves 70 bytes on compressed image.
4097
4098 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
4101 check.
4102
4103 Saves 10 bytes on compressed image.
4104
4105 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/kern/misc.c (grub_isprint): Move to ...
4108 * include/grub/misc.h (grub_isprint): ... here. Make inline.
4109
4110 Saves 20 bytes on compressed image due to remving exporting.
4111
4112 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
4115
4116 Saves 5 bytes on compressed image.
4117
4118 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
4121 function get_utf8.
4122
4123 Saves 379 bytes on compressed image.
4124
4125 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
4128
4129 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
4132
4133 Saves 40 bytes on compressed image.
4134
4135 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4138 mask rather than 64-bit type.
4139
4140 Saves 20 bytes on compressed image.
4141
4142 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4145 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4146
4147 Saves 273 bytes on compressed image.
4148
4149 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4152 variable length arrays.
4153
4154 Saves 50 bytes on compressed image.
4155
4156 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4159
4160 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/fs/ufs.c: Remove variable length arrays.
4163
4164 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4167
4168 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/fs/zfs.c: Remove variable length arrays.
4171 Reduces zfs.mod by 160 bytes (208 compressed).
4172
4173 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4176
4177 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * grub-core/net/arp.c: Remove variable length arrays.
4180 * grub-core/net/bootp.c: Likewise.
4181 * grub-core/net/dns.c: Likewise.
4182 * grub-core/net/icmp6.c: Likewise.
4183 * grub-core/net/net.c: Likewise.
4184
4185 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * grub-core/fs/ntfs.c: Remove variable length arrays.
4188 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4189 compressed).
4190
4191 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/fs/hfs.c: Remove variable length arrays.
4194 Reduces hfs.mod by 8 bytes (52 compressed).
4195
4196 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/fs/udf.c: Remove variable length arrays.
4199 Increases udf.mod by 128 bytes (but decreases by 13 when
4200 compressed).
4201
4202 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/fs/iso9660.c: Remove variable length arrays.
4205 Increases iso9660.mod by 200 bytes (but decreases by 79 when
4206 compressed).
4207
4208 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/fs/nilfs2.c: Remove variable length arrays.
4211 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
4212 compressed).
4213
4214 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/fs/xfs.c: Remove variable length arrays.
4217 Reduces xfs.mod by 40 bytes (43 compressed).
4218
4219 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/fs/fshelp.c: Remove variable length arrays.
4222 Reduces fshelp.mod by 116 bytes (23 compressed).
4223
4224 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/normal/completion.c: Remove variable length arrays.
4227 * grub-core/normal/menu_entry.c: Likewise.
4228
4229 Reduces normal.mod by 496 bytes.
4230
4231 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4234 by 356 bytes (158 compressed).
4235
4236 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4239 by 364 bytes (169 compressed).
4240
4241 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4244 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4245 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4246
4247 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4250 bitmasks to small structures of size chosen to fit in registers.
4251
4252 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * conf/Makefile.common: Use -freg-struct-return on i386. This
4255 decreases code size and improves performance.
4256
4257 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4260
4261 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4264 "(null)" string.
4265 Simplify expressions to save around 256 bytes in kernel.img.
4266 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4267
4268 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4271 Use GRUB_UTIL_FD_O_* rather than O_*.
4272
4273 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Add haiku-specific functions.
4276
4277 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4280
4281 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 Move stat () and device mode checking into OS-dependent files as
4284 long as performance doesn't suffer.
4285
4286 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 Split make_system_path_relative_to_its_root into separate file
4289 relpath.c from getroot.c as it's common between unix and haiku
4290 but otherwise haiku doesn't use any functions from unix getroot.c.
4291
4292 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4295 New function.
4296 (grub_util_is_special_file): Likewise.
4297
4298 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4301 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4302
4303 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4306 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4307
4308 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4311 (load_image): Likewise.
4312
4313 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * util/grub-render-label.c: Move backend part to ...
4316 * util/render-label.c: ... here.
4317
4318 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4321 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4322
4323 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4326
4327 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4330 CD-ROM in case when it's declared as having subpartitions.
4331
4332 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 Don't add -lm on haiku.
4335
4336 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4337 and empty on haiku.
4338 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4339 -lm.
4340
4341 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * configure.ac: Use -melf_*_haiku as target on haiku.
4344
4345 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * Makefile.util.def: Add util/setup.c to extra_dist.
4348
4349 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4352 unknown types through.
4353
4354 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4357 (grub_util_check_char_device): Likewise.
4358 * include/grub/emu/getroot.h: Likewise.
4359
4360 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4363 memset rather than inline static function.
4364
4365 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4368 not doing embedded decompressor.
4369
4370 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4373 shadowing.
4374 * grub-core/kern/disk.c: Likewise.
4375 * grub-core/kern/misc.c: Likewise.
4376 * include/grub/parser.h: Likewise.
4377 * include/grub/script_sh.h: Likewise.
4378 * include/grub/zfs/zfs.h: Likewise.
4379
4380 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4383
4384 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4387 defined before trying to use it.
4388
4389 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4392 warning.
4393
4394 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4397 Use __unused__ rather than __used__ on gcc < 3.2.
4398
4399 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4402 gcc < 4.0.
4403 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4404
4405 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4408
4409 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4412 * include/grub/emu/misc.h: Likewise.
4413
4414 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4417 cur_color.
4418
4419 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4420
4421 * grub-core/tests/checksums.h: Regenerated due to progress bar
4422 get_minimal_size changes.
4423
4424 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4425
4426 Added `tr' command support.
4427
4428 * grub-core/commands/tr.c: New file.
4429 * grub-core/Makefile.core.def: Build rules for new module.
4430
4431 * tests/grub_cmd_tr.in: New test.
4432 * Makefile.util.def: Build rules for new test.
4433
4434 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4435
4436 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4437
4438 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4439
4440 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4441 * docs/gurb.texi: Likewise.
4442
4443 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4444
4445 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4446 Pixmap highlighted section with east and west slices was displayed
4447 incorrectly due to negative width of the central slice.
4448
4449 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4450
4451 * docs/grub.texi: Graphical options information update.
4452 Removed outdated. Updated current. Inserted missed.
4453
4454 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * docs/grub.texi: Mention few new platform-specific commands.
4457
4458 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4461 currently used so this doesn't really have any effect.
4462 Reported by: Douglas Ray <dougray>
4463
4464 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4467 compilation but prevents gcc from displaying messages in non-Latin
4468 alphabets.
4469 * conf/Makefile.common: Likewise.
4470
4471 2013-10-16 Hiroyuki YAMAMORI
4472
4473 Handle Japanese special keys.
4474 Reported by: Hiroyuki YAMAMORI.
4475 Codes supplied by: Hiroyuki YAMAMORI.
4476
4477 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4478
4479 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4480
4481 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4482
4483 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4484 * docs/grub.texi: Likewise.
4485
4486 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4489 value in case of incomplete read.
4490 (grub_util_fd_write): Likewise.
4491
4492 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4495
4496 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * util/grub-editenv.c (create_envblk_file): More from here ...
4499 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4500
4501 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4504 canonicalize file name before doing the rest.
4505
4506 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4509 mingw32.
4510
4511 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Define grub_util_is_directory/regular/special_file and
4514 use OS-dependent versions rather than to rely on stat().
4515
4516 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * util/grub-mkimage.c: Move backend part to ...
4519 * util/mkimage.c: ... here.
4520
4521 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 Allow compilation with mingw64 albeit with warnings due to lack of
4524 %llx/%llu.
4525
4526 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4527 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4528 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4529 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4530 on mingw64.
4531 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4532
4533 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 Remove leftover references to some of the system headers.
4536
4537 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4540 read.
4541
4542 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4545 of strerror.
4546
4547 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 Split out blocklist retrieving from setup.c to
4550 grub-core/osdep/blocklist.c and add windows implementation since
4551 generic version doesn't work on NTFS on Windows due to aggressive
4552 unflushable cache.
4553
4554 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4557 files.
4558
4559 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4562 Cut tailing newline. Remove arbitrary limitation. Always use
4563 grub_util_tchar_to_utf8.
4564
4565 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4568 * tests/printf_unit_test.c (printf_test): Add %% tests.
4569 Reported by: Paulo Flabiano Smorigo.
4570
4571 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4574 implement fsync.
4575
4576 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4579 use nvlist_lookup_string and don't use nvlist_print.
4580
4581 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4584 closedir to handle filename charset translation.
4585
4586 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * include/grub/emu/hostdisk.h: Move file operations to
4589 * include/grub/emu/hostfile.h: ... here.
4590
4591 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4594 unicode path.
4595
4596 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4599
4600 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4603 and remove export.h.
4604
4605 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * grub-core/kern/emu/error.c: Removed.
4608 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4609 explicitly as it's already in libgnu.a.
4610
4611 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4614 config-util.h include.
4615
4616 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 Split emunet into platform-dependent and GRUB-binding parts. Keep
4619 platform-dependent part in kernel for easy access to OS functions.
4620
4621 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4624 open/read/write.
4625
4626 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * grub-core/osdep/windows/emuconsole.c: New file.
4629
4630 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4631
4632 * conf/Makefile.extra-dist: Add osdep/*/init.c
4633
4634 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4637
4638 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * util/grub-probe.c (probe): Separate different drives in hint-str
4641 by spaces and not newlines.
4642 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4643
4644 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4645
4646 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4647 Handle CD-ROMs.
4648
4649 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 Pass-through unknown E820 types. It required reorganisation of mmap
4652 module.
4653
4654 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4655
4656 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4657
4658 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4661 fseeko.
4662
4663 2013-10-14 qwertial <qwertial>
4664
4665 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4666
4667 2013-10-14 Jon McCune <jonmccune@google.com>
4668
4669 * docs/grub.texi: Document new signatures possibility.
4670
4671 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4674
4675 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4678 missing prototype.
4679 (grub_util_tchar_to_utf8): Likewise.
4680
4681 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4684 * grub-core/kern/emu/main.c: Add missing include.
4685 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4686 Don't call grub_util_init_nls.
4687 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4688 Likewise.
4689
4690 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4693 stat.
4694
4695 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4698
4699 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4702
4703 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 Add a wrapper for fopen. On unix-like systems just pass-through. On
4706 windows use unicode version.
4707
4708 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 Move set_program_name and init_nls to host_init. On windows
4711 fix in this fuction console and argument charset as well.
4712
4713 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4714
4715 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4716 GRUB_ENABLE_CRYPTODISK.
4717
4718 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4719 GRUB_ENABLE_CRYPTODISK.
4720 * util/grub-mkconfig_lib.in: Likewise.
4721
4722 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4723
4724 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4725
4726 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4727
4728 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4729 error when enabling debug.
4730
4731 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4732
4733 * configure.ac: Use -melf_*_obsd on openbsd.
4734
4735 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4738
4739 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * include/grub/misc.h: Use gnu_printf rather than printf as format
4742 template since our functions are independent of libc.
4743
4744 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * util/grub-setup.c (setup): Move copying of partition table as
4747 futher up as possible to avoid possible overwrite by floppy routines.
4748
4749 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4752
4753 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4754
4755 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4756 * docs/grub.texi: Likewise.
4757
4758 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4761 it's mostly unused. Move vestiges to the callers.
4762
4763 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4766 version of salt and hash. Use grub_snprintf rather than snprintf.
4767
4768 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * docs/grub.texi: Fix problem with braces.
4771
4772 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * conf/Makefile.extra-dist: Fix extra-dist list.
4775 * grub-core/Makefile.core.def: Likewise.
4776
4777 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * docs/grub.texi: Document disk names used on Windows and AROS.
4780
4781 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4784 with AROS devs.
4785 * grub-core/osdep/aros/hostdisk.c: Likewise.
4786
4787 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 Avoid including hostfile.h when not necessarry as it pulls
4790 in OS-specific headers which may redefine generic names
4791 like "far".
4792
4793 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4794
4795 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4796 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4797 scrollbar_bottom_pad
4798 * docs/grub.texi: Likewise.
4799
4800 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4801
4802 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4803
4804 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4807
4808 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4811 Removed.
4812 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4813 Made static.
4814
4815 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4818 leftover.
4819
4820 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 Move OS-specific driver configuration to grub_util_fd_open. This
4823 moves OS-dependent parts from kern/emu/hostdisk.c to
4824 grub-core/osdep/*/hostdisk.c.
4825
4826 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * util/grub-mkimage.c (generate_image): Use size_t instead of
4829 grub_size_t.
4830 * util/grub-mkimagexx.c (locate_sections): Likewise.
4831 (load_image): Likewise.
4832
4833 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4836 size_t.
4837 (grub_util_write_image): Likewise.
4838
4839 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4842 get random when no RNG is available.
4843 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4844
4845 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * include/grub/util/lvm.h: Removed.
4848
4849 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4852 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4853
4854 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4857
4858 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4861
4862 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/net/drivers/emu/emunet.c: Move to ..
4865 * grub-core/osdep/linux/emunet.c: ..here.
4866
4867 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * util/ieee1275/ofpath.c: Move to ...
4870 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4871 * grub-core/osdep/basic/ofpath.c: ..here.
4872
4873 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 Move password-querying (util-version) routines to grub-core/osdep.
4876
4877 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 Move sleep routines to grub-core/osdep.
4880
4881 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 Move OS-dependent files to grub-core/osdep and document it.
4884
4885 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4888 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4889
4890 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4893
4894 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * util/misc.c: Remove leftover inclusion of malloc.h.
4897
4898 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * include/grub/setjmp.h: Remove leftover GRUBOF.
4901
4902 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * util/raid.c: Fold into ...
4905 * util/getroot_linux.c: ... here. Make all functions static.
4906
4907 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4910 macros to GRUB ones.
4911
4912 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4913
4914 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4915 occasional bug. If there are too many boot entries or too low
4916 scrollbar height then we need to use another formula to calculate
4917 the position and size of the scrollbar thumb.
4918
4919 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
4922
4923 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4924
4925 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4926 * docs/grub.texi: Likewise.
4927
4928 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4929
4930 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4931 viewport.
4932
4933 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4934
4935 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4936 minimal width calculations.
4937
4938 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * docs/grub.texi: Update note on colors on emu console.
4941
4942 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4945 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4946 it's FS and not GRUB limitation.
4947
4948 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4951
4952 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4955
4956 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4957
4958 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4959 kernels by version order.
4960
4961 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4964
4965 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 Add AROS hostdisk and getroot routines.
4968
4969 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 Make cryptodisk and diskfilter probe data retrievable programmatically
4972 and not just printable.
4973
4974 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 Split random retrieving code into separate files.
4977
4978 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4981 R_ARM_V4BX.
4982
4983 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4986 condition.
4987 * grub-core/tests/fake_input.c: Likewise.
4988 * grub-core/tests/cmdline_cat_test.c: Likewise.
4989
4990 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/video/capture.c: Do not do finalization when .fini
4993 is called as there is explicit capture_end.
4994
4995 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4998 changing windows to avoid crash.
4999
5000 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
5003
5004 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * po/exclude.pot: Add several strings to exclude.
5007
5008 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
5011
5012 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * autogen.sh: Add ./util/grub-gen-widthspec.c and
5015 ./util/grub-gen-asciih.c to exclude list.
5016
5017 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
5020 and don't mark error strings for translation.
5021
5022 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
5025 properly in case of missing block size.
5026
5027 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/lib/arm/setjmp.S: Add missing license section.
5030
5031 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * po/swiss.sed: Add replacement for key names and for term computer.
5034
5035 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
5036
5037 * grub-core/gfxmenu/theme_loader.c: New global options for the
5038 theme background image handling. desktop-image-scale-method,
5039 desktop-image-h-align, desktop-image-v-align.
5040 * grub-core/gfxmenu/view.c: Likewise.
5041 * include/gfxmenu_view.h: Likewise.
5042 * include/bitmap_scale.h: Proportional scale functions introduced.
5043 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
5044 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
5045 cases of unexpected input variables for scale functions.
5046 * docs/grub.texi: Updated documentation for new options.
5047
5048 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
5051
5052 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5053
5054 * grub-core/tests/checksums.h: Corrected due to changes in
5055 bilinear interpolation function.
5056
5057 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5058
5059 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
5060 to eliminate artefacts in bilinear interpolation.
5061
5062 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/video/readers/tga.c: Support paletted tga.
5065
5066 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
5069 incorrect cbcr setting when in color mode.
5070
5071 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * grub-core/video/readers/png.c: Support paletted images and clean up
5074 greyscale support.
5075
5076 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
5079 usage of wrong table which resulted in mishandling of 4-byte
5080 sequences.
5081
5082 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * grub-core/term/terminfo.c: Add Home and End key sequences.
5085
5086 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/video/readers/png.c (grub_png_decode_image_header):
5089 Fix formula for computing total number of bytes.
5090
5091 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
5094 image processing, fix big-endian and support grayscale.
5095
5096 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
5099 Correctly will with maximum transparency when using index color.
5100
5101 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/video/readers/png.c: Support grayscale
5104
5105 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/video/readers/jpeg.c: Support grayscale.
5108
5109 2013-09-26 Jon McCune <jonmccune@google.com>
5110
5111 * grub-core/commands/loadenv.c: Support skipping signature check
5112 and variable names filtering.
5113
5114 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
5117 * grub-core/kern/emu/hostfs.c: Likewise.
5118 * util/getroot_unix.c: Likewise.
5119
5120 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
5123 Migrate all explicit defines to this new one.
5124
5125 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
5128 grub_util_fd_strerror when using grub_util_fd_*.
5129 (grub_util_fd_open_device): Likewise.
5130 (grub_util_biosdisk_read): Likewise.
5131 (grub_util_biosdisk_write): Likewise.
5132 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
5133 (grub_util_fd_strerror): Likewise.
5134 (grub_util_fd_sync): Likewise.
5135 (grub_util_fd_close): Likewise.
5136 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5137 (grub_util_fd_close): Likewise.
5138 (grub_util_fd_strerror): Likewise.
5139 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5140 function proto rather than macro.
5141 (grub_util_fd_sync): Likewise.
5142 (grub_util_fd_open): Likewise.
5143 (grub_util_fd_strerror): New proto.
5144
5145 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5148 platforms on which it doesn't work.
5149
5150 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5153 stat immediately to where it's used.
5154
5155 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 * util/getroot.c (grub_util_check_block_device): Move to ...
5158 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5159 * util/getroot.c (grub_util_check_char_device): Move to ...
5160 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5161
5162 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5165 disk closing logic.
5166
5167 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5168
5169 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5170
5171 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5172
5173 * docs/grub.texi (File name syntax): Document ZFS filenames
5174 (/volume@snapshot/...).
5175
5176 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5179 Always return full path. Fixes a problem with mkrelpath.
5180
5181 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5182
5183 * util/grub-install.in: Add GPT PReP support.
5184 * util/grub-probe.c (probe): Support GPT partition type.
5185 (main): Support -t gpt_parttype.
5186
5187 2013-09-23 Aleš Nesrsta <starous@volny.cz>
5188
5189 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5190
5191 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5192
5193 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5194
5195 2013-09-23 Tim Hardeck <thardeck>
5196
5197 * util/grub.d/10_hurd.in: Filter out character for the class.
5198 * util/grub.d/10_kfreebsd.in: Likewise.
5199 * util/grub.d/10_linux.in: Likewise.
5200 * util/grub.d/20_linux_xen.in: Likewise.
5201
5202 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5203
5204 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5205 "changed".
5206
5207 2013-09-23 Josh Triplett <josh@joshtriplett.org>
5208
5209 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5210 boot partition.
5211
5212 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5215 doesn't use posix_wrap. Keep literal -fno-builtin however.
5216
5217 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5220
5221 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5222 2013-09-23 neil
5223
5224 * configure.ac: Do not enable -Wmissing-noreturn as its
5225 usefulness is limited and creates problems on some OS notably with
5226 code generated by bison.
5227
5228 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5229 2013-09-23 neil
5230
5231 * configure.ac: Do not explicitly enable -Waddress as it's not
5232 supported by all gcc and when it is, it's already enabled by -Wall.
5233
5234 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5237 desactivated use of EDID at all.
5238
5239 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5240 2013-09-23 neil
5241
5242 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5243 video if no text is available.
5244
5245 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5246 2013-09-23 neil
5247
5248 * configure.ac: Substitute TARGET_RANLIB.
5249
5250 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5251 2013-09-23 neil
5252
5253 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5254
5255 Based on patches from AROS.
5256
5257 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5258 2013-09-23 neil
5259
5260 * grub-core/Makefile.am: Override STRIP and RANLIB.
5261 * configure.ac: compute TARGET_RANLIB.
5262 * INSTALL: Document TARGET_RANLIB
5263
5264 Based on patches from AROS.
5265
5266 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5269 that floppies are unpartitioned.
5270
5271 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5274 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5275
5276 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5279 less nice but more portable.
5280 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5281
5282 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5285 for cheat_fd.
5286 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5287 functions.
5288 (grub_cryptodisk_cheat_insert): Likewise.
5289 (grub_cryptodisk_close): Likewise.
5290
5291 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5294 Use windows path for DEFAULT_DIRECTORY.
5295
5296 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5299 difference was likely just gcc version, not anything mingw-related.
5300
5301 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 Use Winapi on both cygwin and mingw32 to share more code between both.
5304
5305 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5306
5307 * util/grub-install.in: Add --grub-editenv option.
5308 * util/grub-install_header (grub_compress_file): Explicitly check for
5309 plain file to avoid cp error.
5310
5311 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5312
5313 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5314 names; fix LVM driver name (lvm, not lv).
5315 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5316 names.
5317
5318 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5321 files rather than one file with loads of #if's.
5322 * util/getroot.c: Likewise.
5323
5324 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5327
5328 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5331 GNU/Hurd to the list of checked PRNG.
5332
5333 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5336
5337 2013-09-21 Ales Nesrsta <starous@volny.cz>
5338
5339 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
5340
5341 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5344 * grub-core/disk/lvm.c: Add LVM UUIDs.
5345 * util/getroot.c: Use LVM UUIDs whenever possible.
5346
5347 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5348
5349 * docs/grub.texi (Networking commands): Add documentation for
5350 network related commands.
5351
5352 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5355 to determine if device is handled by devmapper.
5356 (convert_system_partition_to_system_disk): Likewise.
5357 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5358 already done in grub_util_open_dm.
5359
5360 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5361
5362 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5363 Clean up stack manipulation (sync_caches_armv*)
5364
5365 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * util/lvm.c: Remove since unused. Remove remaining references.
5368
5369 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 Handle the case of partitioned LVM properly.
5372
5373 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5374 Stop on meeting LVM, mpath or DMRAID.
5375 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5376 (read_device_map): Likewise.
5377 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5378 device is full disk rather than erroring out on LVM and similar cases.
5379
5380 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5383
5384 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5387 4K before the end.
5388 Reported by: Leif Lindholm
5389
5390 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
5391 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5394 codes.
5395
5396 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
5397
5398 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5399 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5400
5401 2013-09-18 Douglas Ray <dougray@cpan.org>
5402
5403 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5404 as secure.
5405
5406 2013-09-18 Aleš Nesrsta <starous@volny.cz>
5407
5408 * docs/grub.texi: Fix broken link.
5409
5410 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5411
5412 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5413 to break endless loop.
5414
5415 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * util/grub-fstest.c: Fix several printf formats.
5418 * util/grub-mkimage.c: Likewise.
5419 * util/grub-mkimagexx.c: Likewise.
5420 * util/grub-script-check.c: Likewise.
5421
5422 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5425 error.
5426
5427 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5430
5431 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5434 removed in current versions cygwin_conv_*.
5435
5436 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * configure.ac: Disable efiemu runtime on cygwin.
5439
5440 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5443 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5444
5445 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5448 error message.
5449
5450 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5453 windows variant.
5454 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5455 data.
5456
5457 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5460 when on x86 and not cygwin.
5461 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5462 -Wl,-melf_x86_64.
5463
5464 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * configure.ac: Set CPP to build one when checkoing for freetype for
5467 build.
5468
5469 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5472 [!GRUB_BUILD]: Remove has_argument.
5473
5474 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5477 Replace with a dummy.
5478
5479 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * configure.ac: Don't change host_os from mingw to cygwin.
5482
5483 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * configure.ac: Change target_os from windows to cygwin.
5486
5487 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5490
5491 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5492 (build-grub-gen-asciih): Likewise.
5493 (build-grub-gen-widthspec): Likewise.
5494 * Makefile.util.def (grub-pe2elf): Remove.
5495 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5496 * configure.ac: Separate tests for build.
5497 Move ./build-grub-pe2elf to grub-core.
5498 Fix typo.
5499 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5500 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5501 defined.
5502 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5503 constants.
5504 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5505 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5506 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5507
5508 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5511 mingw32 as well based on grub_util_get_disk_size.
5512 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5513 grub_util_get_fd_size.
5514 (sync): Removed.
5515 (fsync): Moved to ...
5516 * grub-core/kern/emu/misc.c (fsync): ... here.
5517
5518 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * include/grub/mm.h (grub_extend_alloc): Remove.
5521 * grub-core/loader/i386/pc/plan9.c: Use own version of
5522 grub_extend_alloc with appropriate types.
5523
5524 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5527
5528 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5531
5532 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 Fix dependencies on cygwin.
5535
5536 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5537 dependencies when used and defined.
5538 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5539
5540 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5543 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5544
5545 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5548 implementation available to cause compile-time rather than runtime
5549 error.
5550
5551 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * util/grub-fstest.c: Don't check for symlinks on windows.
5554
5555 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * INSTALL: Mention unavailability of man pages when cross-compiling.
5558
5559 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5562 and gcry_log_bug.
5563 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5564
5565 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * INSTALL: Document cross-compilation.
5568 * acinclude.m4: Determine whether nm support -P and --defined-only.
5569 * configure.ac: Add TARGET_ to all variables pertaining to target
5570 that don't have it yet.
5571 * gentpl.py: Likewise.
5572 * grub-core/Makefile.am: Likewise.
5573 * grub-core/genmod.sh.in: Likewise.
5574 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5575 as well.
5576
5577 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5578
5579 * configure.ac: Remove -Wempty-body. It's not essential and needs
5580 recent gcc.
5581
5582 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5583
5584 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5585 * util/getroot.c: Likewise.
5586
5587 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * grub-core/disk/ahci.c: Add needed explicit cast.
5590 * grub-core/lib/backtrace.c: Likewise.
5591 * grub-core/net/ip.c: Likewise.
5592 * grub-core/net/tcp.c: Likewise.
5593 * grub-core/net/udp.c: Likewise.
5594
5595 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5598
5599 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * util/import_gcry.py: Add final newline in visibility.h.
5602
5603 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * conf/Makefile.common: Fix typo.
5606
5607 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5610
5611 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * Makefile.am (widthspec.h): Fix typo.
5614 * util/grub-gen-widthspec.c: Likewise.
5615
5616 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 Move ascii.h and widthspec.h generation to a separate build-time-only
5619 tool.
5620
5621 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5622
5623 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5624 Always fill bootdisk info and improve check for NetBSD disklabel.
5625
5626 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * conf/Makefile.extra-dist: Add util/bin2h.c.
5629 Reported by: floppym.
5630
5631 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5634
5635 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * configure.ac: Disable unifont and starfield if no freetype was found.
5638
5639 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5642 on NetBSD and OpenBSD.
5643
5644 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5645
5646 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5647
5648 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5649
5650 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5651 reduced. Inheritant options are processed during the theme loading.
5652
5653 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5654
5655 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5656
5657 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5658
5659 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5660
5661 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5662
5663 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5664 using qemu.
5665
5666 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5667
5668 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5669 remove-potcdate.sed.
5670
5671 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5672
5673 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5674 unused attribute from pull argument.
5675
5676 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5677
5678 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5679 memory leak.
5680
5681 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5682
5683 * util/getroot.c (pull_lvm_by_command): add --separator option
5684 to vgs call to disable padding of output to 10 characters.
5685
5686 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5689 here ...
5690 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5691 here.
5692
5693 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5696 length.
5697
5698 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5701 full Canadian cross. Tested with build=x86_64, host=arm,
5702 target=ppc-ieee1275.
5703
5704 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * configure.ac: Error if no $BUILD_CC could be found.
5707 Reported by: DevHC.
5708
5709 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5712 i386-multiboot.
5713
5714 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5717 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5718
5719 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
5720
5721 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5722 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5723 falling back to the partition device, otherwise a later call to this
5724 function may fail spuriously.
5725 Reported by Axel Beckert. Fixes Debian bug #708614.
5726
5727 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5728
5729 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5730
5731 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5732
5733 Prevent shadowing of stdlib's devname(3) on BSD.
5734
5735 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5736 and devlast to diskname and disklast, respectively.
5737
5738 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
5739
5740 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5741
5742 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5743
5744 * docs/grub.texi: Introduce terminal window position options:
5745 terminal-left: terminal window's left position
5746 terminal-top: terminal window's top position
5747 terminal-width: terminal window's width
5748 terminal-height: terminal window's height
5749 terminal-border: terminal window's border width
5750 * grub-core/gfxmenu/theme-loader.c: Likewise.
5751 * include/grub/gfxmenu_view.h: Likewise.
5752 * po/exlude.pot: Likewise.
5753 * grub-core/gfxmenu/view.c: Likewise.
5754 Also updated minimal window size.
5755 Also terminal_sanity_check function has been introduced.
5756 * grub-core/tests/checksums.h: Update (terminal window height
5757 is adjusted now for low resolution screen)
5758
5759 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5762 position).
5763
5764 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * po/exclude.pot: Add few recent exceptions.
5767
5768 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * tests/grub_func_test.in: Add unicode.pf2.
5771
5772 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5775 standard rather than noral color, in line with other terminals.
5776
5777 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5780 analysis.
5781
5782 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5785
5786 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5789 inappropriate printf.
5790
5791 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5792
5793 * .bzrignore: Remove grub-core/lib/dtc-grub,
5794 grub-core/Makefile.libfdt.def
5795 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5796
5797 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * include/grub/video.h (grub_video_register): Keep double-linked as
5800 well as single-linked invariants.
5801 Reported by: qwertial.
5802
5803 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/commands/nativedisk.c (get_uuid): Handle
5806 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5807
5808 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5809
5810 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5811 maximum of NW, N, NE heights instead of N's height and maximum of
5812 NW, W, SW widths instead of W's width. (So the box will be always
5813 correctly drawn)
5814
5815 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5816
5817 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5818 Fix misuse of variable count.
5819
5820 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
5821 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
5822 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 New ports to arm-uboot and arm-efi.
5825 Mostly by Leif Lindholm with some additions from
5826 Francesco Lavra and cleanup by Vladimir Serbinenko.
5827
5828 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5831 and not before.
5832 Reported by: Leon Drugi.
5833
5834 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5837 Reported by: Paulo Flabiano Smorigo.
5838
5839 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5840
5841 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5842
5843 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5844
5845 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5846
5847 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5850
5851 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5854
5855 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5856
5857 * grub-core/net/bootp.c: Export net_* variables.
5858 * grub-core/net/net.c: Likewise.
5859
5860 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5863
5864 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5865
5866 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5867
5868 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5871
5872 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5875
5876 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5877
5878 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5879 <= 0.
5880
5881 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5882
5883 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5884 functions.
5885
5886 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5887
5888 * grub-core/fs/zfs/zfs_lz4.c: New file.
5889 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5890
5891 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5892
5893 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5894
5895 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5896
5897 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5898 (check_pool_label): Likewise.
5899 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5900
5901 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5902
5903 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5904
5905 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5906
5907 * docs/grub.texi (Commands): Document postition parameters
5908 for menuentry command.
5909
5910 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5911
5912 * util/grub-mknetdir.in: Remove stray line from help output.
5913
5914 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 Remove early sm712 init as there is no reason for it (the "watchdog"
5917 effect was due to wrong GPIO map).
5918
5919 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/commands/pcidump.c: Remove static variables.
5922
5923 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5926
5927 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * configure.ac: Move delimiter after the infos.
5930
5931 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5934
5935 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5938 not filling whole 8x16 space.
5939
5940 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5943
5944 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * configure.ac: Indicate which liblzma is used if any.
5947
5948 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
5949 2013-06-21 Craig Sanders <savannah@taz.net.au>
5950
5951 * util/grub-reboot.in: Document submenu usage.
5952
5953 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5954
5955 * .bzrignore: Update with a number of new test-related files.
5956
5957 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5958
5959 * util/grub-script-check.c: Fail on scripts containing no
5960 commands, to guard against corrupted grub-mkconfig setups that
5961 produce no useful output.
5962 * tests/grub_script_no_commands.in: New test.
5963 * Makefile.util.def (grub_script_no_commands): Add.
5964 Reported by Hans Putter. Fixes Debian bug #713886.
5965
5966 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5967
5968 * grub-core/disk/diskfilter.c: Forgot to remove comment
5969 from previous commit.
5970
5971 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5972
5973 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5974 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5975
5976 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5977
5978 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5979
5980 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5981
5982 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5983 rescan diskfilter devices until nothing new is found.
5984
5985 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5988
5989 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 Don't try to detect cbfs on *-emu.
5992
5993 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5996
5997 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 Add support for processed coreboot payload chainloading.
6000
6001 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 Enable coreboot information commands even when not loaded as
6004 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
6005
6006 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 Support for cbfs. Also factor out the part which is common
6009 for all archives to a separate module. This splits tar from cpio
6010 as they are very different but keeps cpio, cpio_be, odc and newc
6011 together since they're very similar.
6012
6013 2013-06-15 David Michael <fedora.dm0@gmail.com>
6014
6015 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
6016 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
6017
6018 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * tests/grub_script_eval.in: Really add the eval test.
6021
6022 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Move flavour-specific parts out of common cpio.c file and
6025 rename remaining to cpio_common.c
6026
6027 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6028
6029 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
6030 off new function grub_script_execute_new_scope. Change callers to use
6031 either of them as appropriate.
6032 * grub-core/commands/eval.c: New command eval.
6033 * docs/grub.texi (Commands): Document it.
6034
6035 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6036
6037 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
6038 to fetch values when listing.
6039
6040 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6041
6042 Fix make dist on non-pc.
6043
6044 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
6045
6046 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
6047 without a device name.
6048
6049 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 Remove enable_executable_check as it's not needed anymore.
6052 Reported by: dougray.
6053
6054 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
6057 ambigouos RAID before discovering RAIDs on top of it.
6058 Reported by: bodom.
6059
6060 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 Fix typo (failback vs fallback).
6063
6064 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
6065
6066 * util/grub.d/30_os-prober.in: Add support for probing EFI
6067 System Partition (as of os-prober 1.58).
6068
6069 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * configure.ac: Add yet another path to unifont. For parabola.
6072
6073 2013-05-30 Josh Triplett <josh@joshtriplett.org>
6074
6075 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
6076 handling to copy the killed characters to the kill buffer as
6077 UCS4 stored as grub_uint32_t rather than as 8-bit characters
6078 stored as char. Eliminates UCS4 truncation and corruption
6079 observed when killing characters with Ctrl-u and yanking them
6080 back with Ctrl-y.
6081
6082 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 Detach optional parts of gfxterm and integrate in with coreboot init.
6085
6086 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 Move blit and fill dispatcher to appropriate files to decrease export
6089 and relocation overhead.
6090
6091 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/font/font.c, include/grub/font.h: Inline simple font
6094 functions.
6095
6096 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * grub-core/Makefile.am: Fix compilation problem with some
6099 automake versions.
6100
6101 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
6104
6105 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
6108 automake versions.
6109
6110 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
6113 SSDT.
6114
6115 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
6116
6117 * grub-core/partmap/dfly.c: New partition map.
6118
6119 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
6122 checking.
6123 Reported by: Francesco Lavra.
6124
6125 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
6126
6127 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
6128 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
6129 false conditions.
6130 * conf/Makefile.common: define dist_grubconf_DATA
6131
6132 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 Progressively skip menu elements on small terminals rather
6135 than crashing.
6136
6137 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6140 to avoid losing last column.
6141
6142 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * po/exclude.pot: Add missing string "%C".
6145
6146 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6149 after the test.
6150
6151 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * util/grub-install.in: Gettextize "Not found" message.
6154
6155 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Fix distfiles list.
6158 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6159
6160 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6161
6162 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6163 present.
6164 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6165
6166 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6169
6170 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6173 attribute since structure is not necessarily aligned.
6174
6175 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6176
6177 * docs/grub.texi (Device syntax): Clarify description of network
6178 drives.
6179
6180 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6183 for vasprintf presence.
6184
6185 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * util/grub-install.in: Handle efibootmgr presence check.
6188 Reported by: Leif Lindholm.
6189
6190 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6193 new strings to translate.
6194
6195 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6198 yet another string (pun intended) to translate.
6199
6200 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * po/POTFILES-shell.in: Autogenerate it.
6203
6204 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6207
6208 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6211 misnomer.
6212
6213 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6214
6215 * docs/grub.texi (Network): Add description of net_default_interface,
6216 net_default_ip and net_default_mac. Rewrite variables description
6217 to emphasize that they are per-interface.
6218
6219 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 New test: cmdline and cat.
6222
6223 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/commands/cat.c: Show UTF-8 characters.
6226
6227 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * conf/Makefile.common: Poison float and double on non-emu.
6230
6231 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * configure.ac: Don't disable extended registers on emu.
6234
6235 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 * configure.ac: Don't use extended registers on x86_64.
6238 Reported by: Peter Jones.
6239
6240 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * grub-core/term/efi/console.c: Fix compile error.
6243
6244 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 Compressed HFS+ support.
6247
6248 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6251 pixel".
6252
6253 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 Menu color test.
6256
6257 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/tests/setjmp_test.c: New test.
6260
6261 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 New variables 'net_default_*' to determine MAC/IP of default interface.
6264
6265 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * tests/gettext_strings_test.in: A test to check for strings not
6268 marked for translation.
6269
6270 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * autogen.sh: Exclude unused libgcrypt files from translation.
6273
6274 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 Simplify few strings.
6277
6278 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 Mark few forgotten strings for translation.
6281
6282 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6285 rather than printf.
6286
6287 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6290 rather than printf.
6291 * grub-core/video/readers/tga.c: Likewise.
6292
6293 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * tests/priority_queue_unit_test.cc: New test.
6296
6297 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6300 than printf.
6301
6302 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6303
6304 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6305 variable for one time boot menu entry.
6306
6307 2013-05-05 Bean <bean123ch@gmail.com>
6308
6309 * grub-core/commands/testspeed.c: New command testspeed.
6310
6311 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 Factor-out human-size printing.
6314
6315 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 Agglomerate more mallocs to speed-up gfxterm.
6318
6319 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 Speed-up gfxterm by slightly agglomerating mallocs.
6322
6323 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 More video checks.
6326
6327 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 Speed-up gfxterm by saving intermediate results in index+alpha
6330 format.
6331
6332 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6335 test.
6336
6337 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6340 line of timeout as it may contain the rest of long line.
6341
6342 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/normal/main.c: Fix freed memory dereference.
6345
6346 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 Fix several memory leaks.
6349
6350 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6353
6354 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6357
6358 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 Fix test -a and -o precedence.
6361 Reported by: adrian15.
6362
6363 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6366
6367 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6368
6369 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6370 and add it as source to functional_test module.
6371
6372 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6375
6376 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 New series of tests for gfxterm and gfxmenu.
6379
6380 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6383 the theme path relative to $prefix/themes.
6384
6385 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6388 Fix order bug.
6389 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6390
6391 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6394 descriptor.
6395
6396 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6399 grub_gfxmenu_timeout_notifications.
6400 (grub_gfxmenu_view_destroy): Likewise.
6401
6402 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6405
6406 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 Several fixes to ieee1275 and big-endian video.
6409
6410 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 Add missing exports on mips.
6413
6414 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6417 if no unifont is found.
6418 Restore original keyboard.
6419
6420 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6423 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6424
6425 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 First automated video test (running videotest and comparing results)
6428
6429 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6432 instead of 2 to have full RGB/CMY test pattern.
6433
6434 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 Add few more tests.
6437
6438 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6441 ARCS. All users updated.
6442
6443 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6446
6447 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6450
6451 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6454 Reported by: qwertial.
6455
6456 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6457
6458 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6459 with syntax "XXX deg"/"XXX °".
6460
6461 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 Make PCI init in i386-qemu port more robust.
6464
6465 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6466
6467 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6468 cached view is reused.
6469 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6470 open boot menus.
6471
6472 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 Unify more code in grub-install_header.
6475
6476 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 Add few new tests.
6479
6480 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 Enforce disabling of firmware disk drivers when native drivers kick in.
6483
6484 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/commands/nativedisk.c: Customize the list of modules on
6487 platform. Don't try to search for disks already using native drivers.
6488
6489 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6492 platforms.
6493
6494 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6497 handling of variables containing backslash.
6498
6499 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6502 dereference.
6503 Reported by: qwertial.
6504
6505 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6508
6509 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6512 dereference.
6513 Reported by: qwertial.
6514
6515 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6518
6519 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6522
6523 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 New command `nativedisk'.
6526
6527 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6530 * grub-core/loader/i386/bsd.c: Likewise.
6531
6532 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6535
6536 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6539 grub_get_unaligned16 rather than shifts.
6540
6541 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * grub-core/kern/file.c: Use const char * rather than casting to
6544 non-const.
6545
6546 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * grub-core/commands/probe.c: Add missing grub_device_close.
6549
6550 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * INSTALL: Document linguas.sh.
6553
6554 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 Remove POTFILES.in and regenerate it in autogen.sh.
6557
6558 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 Move --directory/--override-directorry to grub-install_header and unify.
6561
6562 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 * grub-core/term/morse.c: Macroify dih and dah.
6565
6566 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6567
6568 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6569
6570 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/term/ns8250.c: Systematically probe ports by writing
6573 to SR before using them.
6574
6575 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6576
6577 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6578 disks.
6579 (check_sas): Get sas_adress info.
6580
6581 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6584 ports.
6585
6586 2013-04-27 Leon Drugi <eyak>
6587
6588 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6589 BSS clearing.
6590
6591 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 Core compression test.
6594
6595 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 Implement grub_machine_get_bootlocation for ARC.
6598
6599 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 Improve AHCI detection and command issuing.
6602
6603 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 Fix pseries test.
6606
6607 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 Make 'make check' work on emu.
6610
6611 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 Replace libcurses with our own vt100 handling for the ease of testing
6614 and decreasing prerequisites.
6615
6616 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6619
6620 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6623 compile when not needed.
6624
6625 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * tests/pseries_test.in: New test.
6628
6629 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 Add test to check that different boot mediums work.
6632
6633 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6636 ofw limited ISO support.
6637
6638 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * configure.ac: Fix loongson conditional.
6641
6642 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 Enable mipsel-arc.
6645
6646 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 Add serial on ARC platform.
6649
6650 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6653 commit.
6654
6655 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * tests/partmap_test.in: Add missing double semicolon.
6658
6659 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * util/grub-mkrescue.in: Fix loongson filename.
6662
6663 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * util/grub-mkrescue.in: Move all files that don't have a location
6666 set in stone under /boot/grub. Use ISO hard links rather than copies
6667 to save some space.
6668
6669 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6672 bogus SLOF values.
6673
6674 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 Make check work on mips-arc.
6677
6678 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * util/grub-mkrescue.in: Alias sashARCS as sash.
6681
6682 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6685 it's serial.
6686
6687 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * util/grub-install.in: Fix target fo qemu_mips.
6690 Fix extension on EFI.
6691
6692 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6695 in front of chosen entry to mark it even if highlighting is lost.
6696
6697 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6700 gfxpayload=keep if cbfb is active.
6701
6702 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6705
6706 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 Add missing video ids to coreboot and ieee1275 video.
6709
6710 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * util/grub-mkrescue.in: Add mips-arc support.
6713
6714 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6717
6718 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 Move mips-arc link address. Previous link address was chosen
6721 in belief that RAM on SGI platforms grows down while in fact it
6722 grows up from an unusual base.
6723
6724 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6727 Fix a type which prevented CD-ROM and floppy boot.
6728
6729 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 Support coreboot framebuffer.
6732
6733 * grub-core/video/i386/coreboot/cbfb.c: New file.
6734
6735 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6738 detecting too small regions.
6739
6740 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6743
6744 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6747 Remove dprintf.
6748 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6749
6750 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6753 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6754 * grub-core/loader/powerpc/ieee1275/linux.c
6755 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6756
6757 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6760 Look for /boot-rom as well as /rom/boot-rom.
6761
6762 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6765 handling when creating text_layer failed.
6766 * grub-core/video/video.c (grub_video_create_render_target):
6767 Set result to 0 on error.
6768 (grub_video_delete_render_target): Do not dereference NULL.
6769
6770 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6773 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6774 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6775 (grub_linux_load64): Mask out 2 high bits.
6776
6777 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6778
6779 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6780 more place.
6781
6782 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 Add support for pseries and other bootinfo machines to grub-mkrescue.
6785
6786 Tested by: Paulo Flabiano Smorigo.
6787
6788 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * util/grub-mkrescue.in: Add GPT for EFI boot.
6791
6792 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6795 It improves performance in qemu.
6796
6797 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * build-aux/snippet: Add missing gnulib files.
6800
6801 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6802
6803 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6804
6805 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6806
6807 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6808
6809 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6810 2013-04-15 Peter Jones <pjones@redhat.com>
6811
6812 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6813 sectors.
6814 Based on patch by Peter Jones.
6815
6816 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 Fix DMRAID partition handling.
6819
6820 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * tests/grub_cmd_date.in: Skip on sparc64.
6823
6824 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6827 firmware error messages.
6828
6829 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6830
6831 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6832 source and destination differ.
6833
6834 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6837 detection.
6838
6839 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6842 match config-util.h to avoid warnings and increase compatibility.
6843
6844 2013-04-14 Szymon Janc <szymon@janc.net.pl>
6845 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 Add option to compress files on install/image creation.
6848
6849 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * docs/grub-dev.texi: Rearrange menu to match the section order.
6852 Reported by: Bryan Hundven.
6853
6854 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6857
6858 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 Move GRUB out of system area when using xorriso 1.2.9 or later.
6861
6862 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * tests/grub_cmd_date.in: Add missing exit 1.
6865
6866 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * tests/partmap_test.in: Skip on sparc64.
6869
6870 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 Support grub-shell on sparc64.
6873
6874 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 Support mkrescue on sparc64.
6877
6878 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6881 Needed on OpenBIOS due to incomplete device tree.
6882
6883 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6886 would be otherwise excluded.
6887
6888 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6891 Inline name defines used only once.
6892
6893 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 Fix memory leaks in ofnet.
6896 Reported by: Francesco Lavra.
6897
6898 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * docs/man/grub-glue-efi.h2m: Add missing file.
6901
6902 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6905
6906 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 Better support Apple Intel Macs on CD.
6909
6910 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 Replace stpcpy with grub_stpcpy in tools.
6913
6914 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 Handle Japanese special keys.
6917 Reported by: Hiroyuki YAMAMORI.
6918 Codes supplied by: Hiroyuki YAMAMORI.
6919
6920 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * util/grub-mkimage.c: Document memdisk implying --prefix.
6923
6924 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6927 much we can do about it anyway.
6928
6929 2013-04-12 Aleš Nesrsta <starous@volny.cz>
6930
6931 Fix handling of split transfers.
6932
6933 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * grub-core/net/http.c: Fix bad free.
6936
6937 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6940 than buffer size.
6941
6942 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6945
6946 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * tests/util/grub-shell.in: Fix it on powerpc.
6949
6950 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 Turn off QEMU ACPI-way since new releases don't have shutdown port
6953 anymore.
6954
6955 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * docs/grub.texi: Update coreboot status info.
6958
6959 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * tests/grub_cmd_date.in: New test for datetime.
6962
6963 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * tests/partmap_test.in: Fix missing qemudisk setting.
6966
6967 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 Support i386-ieee1275 grub-mkrescue and make check on it.
6970
6971 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6974 feature for it.
6975
6976 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6979 GRUB_CMDLINE_XEN_DEFAULT.
6980 Reported by: Marc Warne (GigaTux) <gigatux>
6981
6982 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 Import new gnulib.
6985
6986 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 Use ACPI shutdown intests as traditional port was removed.
6989
6990 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6991
6992 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6993 distinction.
6994
6995 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6998 Fix few warining messages and leaks while on it.
6999
7000 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
7001
7002 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
7003 links under grub-core/lib/libgcrypt-grub/mpi.
7004
7005 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 Fix ia64-efi image generation on big-endian machines. Deduplicate
7008 some code while on it.
7009 Reported by: Leif Lindholm.
7010
7011 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7012
7013 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
7014 as extra_dist.
7015
7016 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7017
7018 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
7019
7020 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
7021
7022 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
7023 texinfo-5.1.
7024
7025 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * grub-core/normal/term.c: Few more fixes for menu entry editor
7028 rendering.
7029 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7030
7031 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/normal/term.c: Few more fixes for menu entry editor
7034 rendering.
7035 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7036
7037 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7038
7039 * conf/Makefile.extra-dist (EXTRA_DIST): Add
7040 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
7041
7042 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7043
7044 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
7045 instead of hardcoding grub.mo.
7046
7047 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
7048
7049 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
7050
7051 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
7054 grub-core/disk/geli.c.
7055
7056 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * util/grub-mkfont.c: Prefer enum to #define.
7059
7060 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
7063
7064 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
7067
7068 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
7071
7072 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
7075
7076 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * include/grub/bsdlabel.h: Use enums.
7079
7080 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 Move GRUB_CHAR_BIT to types.h.
7083
7084 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7085
7086 * docs/grub.texi: Document more user commands.
7087
7088 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7089
7090 * docs/grub.texi: Document menuentry --id option.
7091
7092 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
7093
7094 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
7095
7096 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 Unify file copying setup across different install scripts. Add
7099 options for performing partial install.
7100
7101 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7102 2013-04-04 Peter Jones <pjones@redhat.com>
7103
7104 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
7105
7106 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 Use TSC as a possible time source on i386-ieee1275.
7109
7110 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
7113 Init err.
7114
7115 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * util/grub-setup.c (setup): Handle some corner cases.
7118
7119 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
7122
7123 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/commands/verify.c: Save verified file to avoid it being
7126 tampered with after verification was done.
7127
7128 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
7131 reported width by one to compensate for curesor algorithm problem.
7132
7133 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 Fix screen corruption in menu entry editor and simplify the code
7136 flow while on it.
7137
7138 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7139
7140 * util/grub-mount.c (fuse_init): Return error if fuse_main
7141 failed.
7142
7143 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7144
7145 * include/grub/elf.h: Add missing ARM relocation codes and fix
7146 existing ones.
7147
7148 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7149
7150 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7151
7152 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7153 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7156 into account when calculating radius.
7157
7158 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7159
7160 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7161
7162 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7163
7164 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7165
7166 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7167
7168 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7169 missing closing bracket.
7170
7171 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7172
7173 * INSTALL: Mention xorriso requirement.
7174
7175 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7176
7177 * grub-core/commands/verify.c: Fix hash algorithms values for
7178 the first three hashes - they start with 1, not with 0.
7179
7180 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7183 Try terminating EFI services several times due to quirks in some
7184 implementations.
7185
7186 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
7187
7188 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7189 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7190 BankField extended opcodes.
7191 (get_sleep_type): Add minimal scope handling (just enough to
7192 handle setting the scope to the root path).
7193 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7194 * include/grub/acpi.h: Add enumeration values for Event, Device,
7195 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7196
7197 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7198
7199 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7200 memory leak.
7201
7202 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * grub-core/disk/ahci.c: Give more time for AHCI request.
7205
7206 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7209 command.
7210
7211 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 Replace the region at 0 from coreboot tables to available in BSD
7214 memory map.
7215
7216 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7219 non-BIOS platforms.
7220
7221 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7224 platforms.
7225
7226 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7229 handling of multi-device filesystems.
7230
7231 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7234 platforms.
7235
7236 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 Add new 'proc' filesystem framework and put luks_script into it.
7239
7240 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7243 and qemu.
7244
7245 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7248
7249 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 Add ability to generate newc additions on runtime.
7252
7253 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7256 description.
7257
7258 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * po/POTFILES.in: Regenerate.
7261
7262 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/commands/verify.c (hashes): Add several hashes
7265 from the spec.
7266
7267 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 Slight improve in USB-related boot-time checkpoints.
7270
7271 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/commands/boottime.c: Fix copyright header.
7274
7275 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7278 coreboot tables content. Support for cbmemc.
7279
7280 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 Fix a conflict between ports structures with 2 controllers of
7283 same kind.
7284
7285 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * include/grub/boottime.h: Add missing file.
7288
7289 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 Initialize USB ports in parallel to speed-up boot.
7292
7293 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 Fix USB devices not being detected when requested
7296 due to delayed attach.
7297
7298 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 Implement boot time analysis framework.
7301
7302 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 Remove get_endpoint_descriptor and change all functions needing
7305 descriptor to just receive it as argument rather than endpoint
7306 address.
7307
7308 2013-03-19 Aleš Nesrsta <starous@volny.cz>
7309
7310 Better estimate the maximum USB transfer size.
7311
7312 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 Resend a packet if we got the wrong buffer in status.
7315
7316 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7319 multiplication rather than division.
7320
7321 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7324 than divisions.
7325
7326 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7329 operations to have intended shifts and not divisions.
7330
7331 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7334 intended shifts rather than division.
7335
7336 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7339 computation for some years before epoch. Avode confusing division
7340 while on it.
7341
7342 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/video/i386/pc/vbe.c
7345 (grub_video_vbe_print_adapter_specific_info): Replace division by
7346 shifts.
7347
7348 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 Adjust types in gdb module to have intended unsigned shifts rather than
7351 signed divisions.
7352
7353 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7356 maximum size is 4G - 1 on hfs
7357
7358 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7361
7362 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7365 function.
7366
7367 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7368
7369 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7370 causing gcc error with gcc 4.7.1.
7371
7372 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7373
7374 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7375 dereference null pointer. While the code is technically correct, gcc
7376 may eliminate a null check if pointer is already dereferenced.
7377
7378 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7379
7380 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7381 OOM check.
7382 * grub-core/normal/term.c (read_terminal_list): Likewise.
7383
7384 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 Lift up core size limits on some platforms. Fix potential memory
7387 corruption with big core on small memory systems. Document remaining
7388 limits.
7389
7390 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7393 gotoxy to 0,0.
7394
7395 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 Remove all trampoline support. Add -Wtrampolines when
7398 present. Remove symbols used for trampolines to make
7399 link fail if trampolines are present.
7400
7401 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7404 append out of its parent.
7405
7406 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7409 parent.
7410
7411 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7414 all vars to a macro. All users updated.
7415
7416 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7419 i386-ieee1275.
7420
7421 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7424
7425 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7428
7429 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 Move to more hookless approach in IEEE1275 devices handling.
7432
7433 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * grub-core/kern/term.c (grub_term_normal_color),
7436 (grub_term_highlight_color): Add back lost defaults.
7437
7438 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 Make elfload not use hooks. Opt for flags and iterators instead.
7441
7442 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7445 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7446
7447 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7450
7451 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7454 hook pass-through parameter. All users updated and unnested.
7455
7456 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7459 out of its parent.
7460
7461 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/fs/hfs.c: Remove nested functions.
7464
7465 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7468 the context through.
7469 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7470
7471 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * util/grub-editenv.c (list_variables): Move print_var out of its
7474 parent.
7475
7476 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7479 function.
7480
7481 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * grub-core/gentrigtables.c: Make tables const.
7484
7485 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 Remove nested functions from videoinfo iterators.
7488
7489 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7492 for 64-bit platforms.
7493
7494 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7497 a FOR_CHILDREN macro.
7498
7499 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7502 platform from firmware path.
7503
7504 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 Enable linux16 on non-BIOS systems for i.a. memtest.
7507
7508 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7509 correctly.
7510 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7511
7512 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7515 Fix end of table condition.
7516
7517 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7520 out of its parent.
7521
7522 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/fs/jfs.c: Remove nested functions.
7525
7526 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * grub-core/fs/minix.c: Remove nested functions.
7529
7530 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * grub-core/fs/iso9660.c: Remove nested functions.
7533
7534 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7537 of parent function.
7538
7539 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * util/grub-fstest.c: Remove nested functions.
7542
7543 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/loader/machoXX.c: Remove nested functions.
7546
7547 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
7548
7549 Remove nested functions from disk and file read hooks.
7550
7551 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7552 (struct grub_disk): Add read_hook_data member.
7553 * include/grub/file.h (struct grub_file): Likewise.
7554 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7555 argument.
7556
7557 Update all callers.
7558
7559 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7560
7561 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7562 Fix off by one error in enumerating extended partitions.
7563
7564 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7565
7566 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7567 memory leak if device name is not found.
7568
7569 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7570
7571 * grub-core/normal/menu_entry.c (update_screen): remove
7572 unused variable `off' which caused scroll down arrow to be always shown.
7573
7574 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7575
7576 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7577 access to unallocated memory.
7578
7579 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7580
7581 * Makefile.util.def: Add partmap/msdos.c to common library.
7582 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7583 * grub-core/disk/ldm.c: Check for existence of
7584 GRUB_PC_PARTITION_TYPE_LDM.
7585
7586 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7589 sizes and display sector size.
7590
7591 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 Implement new command cmosdump.
7594
7595 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7596
7597 Support Openfirmware disks with non-512B sectors.
7598
7599 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7600 size of the disk.
7601 * (grub_ofdisk_get_block_size): New function.
7602 * (grub_ofdisk_prepare): Use the correct block size.
7603 * (grub_ofdisk_read): Likewise.
7604 * (grub_ofdisk_write): Likewise.
7605 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7606 New proto.
7607
7608 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7611
7612 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7615 on first error.
7616
7617 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7620 freeing it.
7621
7622 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 Implement USBDebug (full USB stack variant).
7625
7626 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7629 unless they have unexpected values.
7630
7631 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7634 grub_print_error.
7635
7636 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7639 zero-out of port structure.
7640
7641 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7644 of extended attributes.
7645
7646 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7647
7648 * util/grub-install.in: change misleading comment about
7649 device.map creation
7650
7651 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7654 when menu highlight color isn't set.
7655
7656 2013-01-27 C. Masloch <pushbx@38.de>
7657
7658 Improve FreeDOS direct loading support compatibility.
7659
7660 * include/grub/i386/relocator.h (grub_relocator16_state):
7661 New member ebp.
7662 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7663 variable.
7664 (grub_relocator16_boot): Handle %ebp.
7665 * grub-core/lib/i386/relocator16.S: Likewise.
7666 * grub-core/loader/i386/pc/freedos.c:
7667 Load BPB to pass kernel which partition to load from.
7668 Check that kernel file is not too large.
7669 Set register dl to BIOS unit number as well.
7670
7671 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
7672
7673 * util/grub-reboot.in (usage): Document the need for
7674 GRUB_DEFAULT=saved.
7675 * util/grub-set-default.in (usage): Likewise.
7676 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7677
7678 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7681 than defining WORDS_BIGENDIAN manually.
7682
7683 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7686 invariants.
7687
7688 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7689
7690 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7691 nested.
7692 (blit_comb: add_device_width): Likewise.
7693
7694 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7695
7696 Remove nested functions from USB iterators.
7697
7698 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7699 (grub_usb_controller_iterate_hook_t): Likewise.
7700 (grub_usb_iterate): Add hook_data argument.
7701 (grub_usb_controller_iterate): Likewise.
7702 (struct grub_usb_controller_dev.iterate): Likewise.
7703
7704 Update all implementations and callers.
7705
7706 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7709 margin when not needed.
7710
7711 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 Make color variables global instead of it being per-terminal.
7714
7715 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7718 asterisk.
7719
7720 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7721
7722 Fix powerpc and sparc64 build failures caused by un-nesting memory
7723 map iterators.
7724
7725 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7726
7727 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7728 parameter declarations.
7729
7730 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7733
7734 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 Improve spkmomdem reliability by adding a separator between bytes.
7737
7738 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7739
7740 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7741 an Acer registration utility with several sightings in the wild.
7742 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7743
7744 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7745
7746 Remove nested functions from filesystem directory iterators.
7747
7748 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7749 (struct grub_fs.dir): Add hook_data argument.
7750
7751 Update all implementations and callers.
7752
7753 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7754
7755 * docs/grub.texi (Multi-boot manual config): Fix typo for
7756 "recommended".
7757
7758 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7759
7760 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7761 until after its use in generate_image.
7762
7763 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7764
7765 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7766 initrd size to addr_min, since the initrd will be allocated after
7767 this address.
7768
7769 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7770
7771 * conf/Makefile.common: Fix autogen rules to pass definition
7772 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7773
7774 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7775
7776 * include/grub/elf.h: Update ARM definitions based on binutils.
7777
7778 2013-01-20 Aleš Nesrsta <starous@volny.cz>
7779
7780 Split long USB transfers into short ones.
7781
7782 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7783
7784 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7785 is interrupted by ESC.
7786
7787 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * util/grub-script-check.c (main): Uniform the error message.
7790
7791 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7792
7793 Remove nested functions from ELF iterators.
7794
7795 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7796
7797 Remove nested functions from device iterators.
7798
7799 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7800 (grub_arc_iterate_devs): Add hook_data argument.
7801 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7802 (struct grub_ata_dev.iterate): Add hook_data argument.
7803 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7804 (grub_device_iterate): Add hook_data argument.
7805 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7806 (struct grub_disk_dev.iterate): Add hook_data argument.
7807 (grub_disk_dev_iterate): Likewise.
7808 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7809 Likewise.
7810 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7811 Likewise.
7812 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7813 type.
7814 (struct grub_partition_map.iterate): Add hook_data argument.
7815 (grub_partition_iterate): Likewise.
7816 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7817 (struct grub_scsi_dev.iterate): Add hook_data argument.
7818
7819 Update all callers.
7820
7821 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7822
7823 Fix typos for "developer" and "development".
7824
7825 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 Add license header to spkmodem-recv.c.
7828
7829 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Rewrite spkmodem to use PIT for timing. Double the speed.
7832
7833 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 Add new command pcidump.
7836
7837 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 New terminal outputs using serial: morse and spkmodem.
7840
7841 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 Improve bidi handling in entry editor.
7844
7845 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7848 argument to prevent name collision.
7849
7850 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7851
7852 Remove nested functions from script reading and parsing.
7853
7854 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7855 getline_data argument, passed to getline.
7856 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7857 getline_data argument, passed to grub_parser_split_cmdline.
7858 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7859 lexerstate->getline_data to lexerstate->getline.
7860 (grub_script_lexer_init): Add getline_data argument, saved in
7861 lexerstate->getline_data.
7862 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7863 argument, passed to grub_script_parse.
7864 * grub-core/script/script.c (grub_script_parse): Add getline_data
7865 argument, passed to grub_script_lexer_init.
7866 * include/grub/parser.h (grub_parser_split_cmdline): Update
7867 prototype. Update all callers to pass appropriate getline data.
7868 (struct grub_parser.parse_line): Likewise.
7869 (grub_rescue_parse_line): Likewise.
7870 * include/grub/reader.h (grub_reader_getline_t): Add void *
7871 argument.
7872 * include/grub/script_sh.h (struct grub_lexer_param): Add
7873 getline_data member.
7874 (grub_script_parse): Update prototype. Update all callers to pass
7875 appropriate getline data.
7876 (grub_script_lexer_init): Likewise.
7877 (grub_normal_parse_line): Likewise.
7878
7879 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7880 data argument.
7881 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7882 static instead of nested. Rename to ...
7883 (grub_parser_execute_getline): ... this.
7884 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7885 data argument.
7886 * grub-core/normal/main.c (read_config_file: getline): Make static
7887 instead of nested. Rename to ...
7888 (read_config_file_getline): ... this.
7889 (grub_normal_read_line): Add unused data argument.
7890 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7891 getline): Make static instead of nested. Rename to ...
7892 (grub_script_execute_sourcecode_getline): ... this.
7893 * util/grub-script-check.c (main: get_config_line): Make static
7894 instead of nested.
7895
7896 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7897
7898 Remove nested functions from memory map iterators.
7899
7900 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7901 argument, passed to hook.
7902 * grub-core/kern/i386/coreboot/mmap.c
7903 (grub_linuxbios_table_iterate): Likewise.
7904 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7905 instead of nested.
7906 (grub_machine_mmap_iterate): Add hook_data argument.
7907 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7908 Add hook_data argument, passed to hook.
7909 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7910 Likewise.
7911 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7912 Likewise.
7913 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7914 Likewise.
7915 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7916 Likewise.
7917 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7918 Likewise.
7919 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7920 Likewise.
7921 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7922 (grub_machine_mmap_iterate): Likewise.
7923 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7924 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7925 prototype.
7926 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7927 Remove NESTED_FUNC_ATTR from here and from all users.
7928 (grub_mmap_iterate): Update prototype.
7929 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7930 pass appropriate hook data.
7931 (grub_machine_mmap_iterate): Likewise.
7932
7933 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7934 static instead of nested.
7935 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7936 Rename to ...
7937 (lsmmap_hook): ... this.
7938 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7939 Likewise.
7940 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7941 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7942 heap_init): Likewise.
7943 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7944 Rename to ...
7945 (mmap_iterate_hook): ... this.
7946 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7947 Likewise.
7948 * grub-core/lib/ieee1275/relocator.c
7949 (grub_relocator_firmware_get_max_events: count): Likewise.
7950 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7951 to ...
7952 (grub_relocator_firmware_fill_events_iter): ... this.
7953 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7954 hook): Likewise. Rename to ...
7955 (grub_relocator_alloc_chunk_align_iter): ... this.
7956 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7957 Rename to ...
7958 (generate_e820_mmap_iter): ... this.
7959 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7960 Rename to ...
7961 (count_hook): ... this.
7962 (grub_linux_boot: hook): Likewise. Rename to ...
7963 (grub_linux_boot_mmap_find): ... this.
7964 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7965 (grub_linux_boot_mmap_fill): ... this.
7966 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7967 hook): Likewise. Rename to ...
7968 (grub_fill_multiboot_mmap_iter): ... this.
7969 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7970 hook): Likewise. Rename to ...
7971 (count_hook): ... this.
7972 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7973 hook): Likewise. Rename to ...
7974 (grub_fill_multiboot_mmap_iter): ... this.
7975 * grub-core/loader/powerpc/ieee1275/linux.c
7976 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7977 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7978 Likewise. Rename to ...
7979 (alloc_phys_choose): ... this.
7980 (determine_phys_base: get_physbase): Likewise.
7981 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7982 find_hook): Likewise.
7983 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7984 (malloc_hook: count_hook): Likewise.
7985 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7986 Likewise. Rename to ...
7987 (lower_hook): ... this.
7988 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7989 (upper_hook): ... this.
7990 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7991 (post64_hook): ... this.
7992 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7993 Likewise. Rename to ...
7994 (lower_hook): ... this.
7995 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7996 (upper_hook): ... this.
7997 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7998 (grub_mmap_iterate: fill_hook): Likewise.
7999 (fill_mask): Pass addr and mask within a single struct.
8000 (grub_cmd_badram: hook): Make static instead of nested. Rename
8001 to ...
8002 (badram_iter): ... this.
8003 (grub_cmd_cutmem: hook): Likewise. Rename to ...
8004 (cutmem_iter): ... this.
8005
8006 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
8009 delimit path in strings using quotes.
8010 * util/getroot.c (grub_guess_root_devices): Likewise.
8011 (grub_make_system_path_relative_to_its_root): Likewise.
8012 * util/grub-probe.c (probe): Likewise.
8013 * util/ieee1275/ofpath.c (find_obppath): Likewise.
8014 (xrealpath): Likewise.
8015
8016 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 Fix compilation with older compilers.
8019
8020 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
8021 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
8022 declarations.
8023 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
8024 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
8025 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
8026 identifier with b.
8027 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
8028 * include/grub/crypto.h: Add type defines.
8029 * util/import_gcrypth.sed: Remove duplicate type defines.
8030
8031 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 New command list_trusted.
8034
8035 * grub-core/commands/verify.c (grub_cmd_list): New function.
8036
8037 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
8038
8039 * util/grub-mkimage.c (generate_image): Fix "size of public key"
8040 info message.
8041
8042 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
8043
8044 Remove nested functions from PCI iterators.
8045
8046 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
8047 passed to hook. Update all callers to pass appropriate hook data.
8048 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
8049 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
8050 Remove NESTED_FUNC_ATTR from here and from all users.
8051 (grub_pci_iterate): Update prototype.
8052 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
8053 instead of nested. Rename to ...
8054 (grub_cs5536_find_iter): ... this.
8055 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
8056 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
8057 Likewise.
8058 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
8059 Likewise.
8060 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
8061 Likewise.
8062 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
8063 Likewise.
8064 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
8065 * grub-core/video/radeon_fuloong2e.c
8066 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
8067 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
8068 find_card): Likewise.
8069 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
8070 Likewise.
8071
8072 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * grub-core/commands/verify.c: Mark messages for translating.
8075
8076 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
8079 fatal.
8080
8081 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
8084 fatal.
8085
8086 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * autogen.sh: Do not try to delete nonexistant files.
8089 * util/import_gcrypth.sed: Add some missing header removals.
8090
8091 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
8092
8093 Clean up dangling references to grub-setup.
8094 Fixes Ubuntu bug #1082045.
8095
8096 * docs/grub.texi (Images): Refer generally to grub-install rather
8097 than directly to grub-setup.
8098 (Installing GRUB using grub-install): Remove direct reference to
8099 grub-setup.
8100 (Device map) Likewise.
8101 (Invoking grub-install): Likewise.
8102 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8103 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8104 * util/grub-install.in (usage): Likewise.
8105
8106 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
8107 Apply to grub-bios-setup and grub-sparc64-setup rather than to
8108 grub-setup.
8109 * configure.ac: Remove grub_setup output variable.
8110
8111 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
8112 to grub-bios-setup.
8113 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
8114 grub-setup to grub-sparc64-setup.
8115
8116 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 Import gcrypt public-key cryptography and implement signature checking.
8119
8120 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * grub-core/fs/ntfs.c: Ue more appropriate types.
8123 * grub-core/fs/ntfscomp.c: Likewise.
8124 * include/grub/ntfs.h: Likewise.
8125
8126 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 Support Apple FAT binaries on non-Apple platforms.
8129
8130 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
8131 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
8132 Likewise.
8133 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
8134 Apple FAT binaries.
8135
8136 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8139 sector devices.
8140
8141 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8142
8143 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8144 explicitly zeroing elements.
8145 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8146 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8147 of elements in a structure already allocated using grub_zalloc.
8148 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8149
8150 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8151
8152 * docs/grub.texi (grub_cpu): New subsection.
8153 (grub_platform): Likewise.
8154
8155 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8158
8159 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8162 divisions.
8163
8164 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8167 * grub-core/fs/ntfscomp.c: Likewise.
8168 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8169 (grub_ntfs_comp): Likewise.
8170
8171 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8174 Rename to ...
8175 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8176 of groups_per_block. All users updated.
8177
8178 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8181 grub_error properly.
8182 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8183 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8184
8185 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8188 always in /boot/zfs.
8189 Reported by: Yuta Satoh.
8190
8191 2013-01-03 Yuta Satoh <nigoro>
8192
8193 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8194 ${grub_probe}
8195
8196 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * configure.ac: Extend -Wno-trampolines to host.
8199
8200 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8203 entry->len = 0.
8204
8205 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8206
8207 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8208 (Invoking grub-script-check): Likewise.
8209
8210 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8211
8212 * docs/grub.texi (Invoking grub-mount): New section.
8213 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8214
8215 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8216
8217 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8218 test failures, so that a failing unit test correctly causes 'make
8219 check' to fail.
8220
8221 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8222
8223 Fix failing printf test.
8224
8225 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8226 '$' in the correct order when collecting type information.
8227
8228 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8229
8230 * docs/grub.texi (configfile): Explain environment variable
8231 handling.
8232 (source): New section.
8233 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8234
8235 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
8236
8237 Remove several trivially-unnecessary uses of nested functions.
8238
8239 * grub-core/commands/i386/pc/sendkey.c
8240 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8241 instead of nested.
8242 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8243 Rename to ...
8244 (legacy_file_getline): ... this.
8245 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8246 Likewise.
8247 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8248 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8249 to ...
8250 (probe_dummy_iter): ... this.
8251 * grub-core/kern/i386/coreboot/mmap.c
8252 (grub_linuxbios_table_iterate: check_signature): Likewise.
8253 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8254 check_varstate): Likewise. Mark inline.
8255 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8256 an additional parameter.
8257 (find_long: fnd_long): Likewise. Pass two additional parameters.
8258 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8259 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8260 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8261 Likewise. Rename to ...
8262 (grub_cmos_find_port_iter): ... this.
8263 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8264 Rename to ...
8265 (find_rtc_iter): ... this.
8266
8267 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8268 function directly into the function body, since it is only called
8269 once.
8270
8271 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
8272
8273 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8274 __attribute__ ((unused)).
8275 * grub-core/video/bochs.c (find_card): Likewise.
8276 * grub-core/video/cirrus.c (find_card): Likewise.
8277 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8278 * grub-core/video/sis315pro.c (find_card): Likewise.
8279 * grub-core/video/sm712.c (find_card): Likewise.
8280
8281 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8282
8283 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8284 Fixes Savannah bug #37821.
8285
8286 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8287
8288 Apply program name transformations at build-time rather than at
8289 run-time. Fixes Debian bug #696465.
8290
8291 * acinclude.m4 (grub_TRANSFORM): New macro.
8292 * configure.ac: Create output variables with transformed names for
8293 most programs.
8294 * util/bash-completion.d/grub-completion.bash.in: Use
8295 pre-transformed variables for program names.
8296 * util/grub-install.in: Likewise.
8297 * util/grub-kbdcomp.in: Likewise.
8298 * util/grub-mkconfig.in: Likewise.
8299 * util/grub-mkconfig_lib.in: Likewise.
8300 * util/grub-mknetdir.in: Likewise.
8301 * util/grub-mkrescue.in: Likewise.
8302 * util/grub-mkstandalone.in: Likewise.
8303 * util/grub-reboot.in: Likewise.
8304 * util/grub-set-default.in: Likewise.
8305 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8306 * tests/util/grub-shell-tester.in: Remove unused assignment.
8307 * tests/util/grub-shell.in: Likewise.
8308 * util/grub.d/00_header.in: Likewise.
8309
8310 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8311
8312 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8313
8314 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8315 HAVE_RAW_DECL_GETS.
8316 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8317
8318 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8321 Reported by: Eriks Latosheks <foresterlv>.
8322
8323 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * docs/grub.texi (Network): Update instructions on generating netboot
8326 image.
8327
8328 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8331 around device name if necessarry.
8332
8333 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8334
8335 * util/grub-install.in: Follow the symbolic link parameter added
8336 to the file command.
8337
8338 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8339
8340 * util/grub-install.in: Remove stale TODO.
8341
8342 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8343
8344 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8345 dynamic allocation for the bootpath buffer.
8346
8347 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8348
8349 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8350 window too small.
8351
8352 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8355 argument rather than font name. All users updated.
8356 (grub_gfxterm_set_window): Likewise.
8357
8358 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8359
8360 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8361 from working.
8362
8363 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 * util/getroot.c (convert_system_partition_to_system_disk): Support
8366 nbd disks.
8367
8368 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8371 infinite loop on corrupted FS.
8372
8373 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 Fix big-endian mtime.
8376
8377 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8378 together sec and usec.
8379 (grub_ufs_dir): Use correct byteswapping for UFS time.
8380
8381 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 Support big-endian UFS1.
8384
8385 * Makefile.util.def (libgrubmods): Add ufs_be.c
8386 * grub-core/Makefile.core.def (ufs1_be): New module.
8387 * grub-core/fs/ufs_be.c: New file.
8388 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8389 the file.
8390
8391 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8392
8393 * include/grub/types.h: Fix functionality unaffecting typo in
8394 GRUB_TARGET_WORDSIZE conditional macro.
8395
8396 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8397
8398 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8399
8400 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8401
8402 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8403 that /netbsd appears first (when it exists).
8404
8405 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
8406
8407 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8408 Fixes Savannah bug #37558.
8409
8410 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
8411
8412 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8413 description of extract_entries_configfile.
8414
8415 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
8416
8417 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8418 preferred_address.
8419 (grub_cmd_linux): Likewise.
8420 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8421 preferred_lifetime. Update all users.
8422
8423 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8424
8425 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8426 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8427
8428 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8429
8430 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8431 errors from grub-probe to /dev/null, not stdout.
8432
8433 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8436 sector 1.
8437
8438 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
8439
8440 * util/grub-install.in: Make the error message if $source_dir
8441 doesn't exist more useful.
8442
8443 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
8444
8445 Fix grub-emu build on FreeBSD.
8446
8447 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8448 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8449 headers on Linux.
8450 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8451 implementation is currently Linux-specific.
8452 * util/getroot.c (exec_pipe): Define only on Linux or when either
8453 libzfs or libnvpair is unavailable.
8454 (find_root_devices_from_poolname): Remove unused path variable.
8455
8456 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8457
8458 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8459 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8460 should fit before end == 63.
8461
8462 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8463
8464 * util/grub-setup.c (write_rootdev): Remove unused core_img
8465 parameter. Update all callers.
8466 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8467 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8468 GRUB_SETUP_BIOS.
8469
8470 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8473 (grub_add_tab): New function.
8474 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8475 * util/grub.d/10_illumos.in: Likewise.
8476 * util/grub.d/10_kfreebsd.in: Likewise.
8477 * util/grub.d/10_linux.in: Likewise.
8478 * util/grub.d/10_netbsd.in: Likewise.
8479 * util/grub.d/10_windows.in: Likewise.
8480 * util/grub.d/10_xnu.in: Likewise.
8481 * util/grub.d/20_linux_xen.in: Likewise.
8482 * util/grub.d/30_os-prober.in: Likewise.
8483
8484 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8487 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8488 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8489 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8490 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8491 ieee1275-nocursor.
8492 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8493 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8494
8495 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8498 le-conversion.
8499 Reported by: BURETTE, Bernard.
8500
8501 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
8502
8503 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8504 from comment.
8505
8506 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
8507
8508 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8509 IEEE1275 machines. Fixes powerpc-emu compilation.
8510 * include/grub/terminfo.h: Likewise.
8511
8512 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8515 a const pointer.
8516 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8517 const pointer.
8518 (efiemu_set_variable): Make vendor_guid a const pointer.
8519
8520 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 Don't require grub-mkconfig_lib to generate manpages for programs.
8523
8524 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8525 dependencies, don't add grub-mkconfig_lib.
8526 (program): Pass empty adddeps.
8527 (script): Pass grub-mkconfig_lib as adddeps.
8528
8529 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8532 * util/getroot.c (grub_find_device): Likewise.
8533 (get_mdadm_uuid): Likewise.
8534 (grub_util_is_imsm): Likewise.
8535 (grub_util_pull_device): Likewise.
8536 * util/grub-probe.c (probe): Likewise.
8537
8538 2012-09-10 Benoit Gschwind <gschwind>
8539
8540 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8541 (devs): Add devpath_8.
8542
8543 2012-09-08 Peter Jones <pjones@redhat.com>
8544
8545 * grub-core/Makefile.core.def (efifwsetup): New module.
8546 * grub-core/commands/efi/efifwsetup.c: New file.
8547 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8548 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8549 New define.
8550 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8551
8552 2012-09-05 Jiri Slaby <jslaby@suse.cz>
8553
8554 * configure.ac: Add SuSe path.
8555
8556 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8557
8558 * NEWS: Fix typo.
8559
8560 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8561
8562 * util/import_gcry.py: Sort cipher_files, to make build system
8563 generation more deterministic.
8564
8565 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8568 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8569 (grub_set_datetime): Likewise.
8570
8571 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8574 warnings.
8575
8576 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8579
8580 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8583
8584 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8585
8586 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8587 required for checkouts from bzr, but it may be useful for users or
8588 distributors wishing to update translations against a tarball
8589 distribution, and it can be helpful for the tarball to be a superset
8590 of what's in bzr.
8591
8592 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8593
8594 * Makefile.am (EXTRA_DIST): Add
8595 grub-core/tests/boot/linux.init-mips.S,
8596 grub-core/tests/boot/linux.init-ppc.S, and
8597 grub-core/tests/boot/linux-ppc.cfg.
8598
8599 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8600
8601 * grub-core/mmap/mips/loongson: Remove empty directory.
8602
8603 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8604
8605 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8606 gone.
8607
8608 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8609
8610 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8611 grub-sparc64-setup.
8612
8613 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8614
8615 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8616
8617 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8618
8619 * po/POTFILES.in: Regenerated.
8620
8621 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8622
8623 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8624 (NetBSD): New subsection.
8625
8626 2012-07-22 Ales Nesrsta <starous@volny.cz>
8627
8628 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8629 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8630
8631 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8634 * util/grub.d/10_hurd.in: Add missing quoting.
8635 * util/grub.d/10_illumos.in: Likewise.
8636 * util/grub.d/10_kfreebsd.in: Likewise.
8637 * util/grub.d/10_linux.in: Likewise.
8638 * util/grub.d/20_linux_xen.in: Likewise.
8639
8640 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 New command `lsefi'.
8643
8644 * grub-core/Makefile.core.def (lsefi): New module.
8645 * grub-core/commands/efi/lsefi.c: New file.
8646 * include/grub/efi/api.h: Add more GUIDs.
8647
8648 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8651 (grub_bsd_elf32_hook): Likewise.
8652 (grub_bsd_elf64_size_hook): Likewise.
8653 (grub_bsd_elf64_hook): Likewise.
8654 (grub_bsd_load_elf): Likewise.
8655
8656 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8659 if hash function is unavailable.
8660 (dec_stream_header): Likewise.
8661
8662 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8665 filter state.
8666
8667 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 Fix coreboot compilation.
8670
8671 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8672 (grub_vga_text_init_real): ... this.
8673 (grub_vga_text_fini): Rename to ...
8674 (grub_vga_text_fini_real): ... this.
8675
8676 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8679
8680 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 * grub-core/lib/legacy_parse.c: Support clear and testload.
8683
8684 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8687
8688 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8691
8692 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * grub-core/net/tftp.c (ack): Fix endianness problem.
8695 (tftp_receive): Likewise.
8696 Reported by: Michael Davidsaver.
8697
8698 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8701
8702 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8705 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8706 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8707
8708 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8711 efi_mmap_size.
8712 Reported by: Stuart Hayes.
8713
8714 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8717
8718 * grub-core/Makefile.core.def (mda_text): New module.
8719 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8720 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8721 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8722 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8723 here.
8724 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8725 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8726 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8727 here.
8728 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8729 to ..
8730 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8731 ... here
8732 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8733 here.
8734 * grub-core/term/i386/vga_common.c: Removed.
8735 * include/grub/i386/vga_common.h: Likewise.
8736 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8737 (grub_vga_cr_bw_read): Likewise.
8738 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8739 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8740 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8741 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8742 grub_vga_cr_read/grub_vga_cr_write.
8743 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8744
8745 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * configure.ac: Bump version to 2.00.
8748 * grub-core/normal/main.c (features): Add feature_200_final.
8749
8750 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8751 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8752
8753 * NEWS: Fix unclarity and language mistakes.
8754
8755 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8758 additional size to 3 pages.
8759 Reported by: Stuart Hayes.
8760
8761 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * NEWS: Add 2.00 entry.
8764
8765 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8768 put explicit "/" for empty path.
8769 (wildcard_expand): Improve dprintf.
8770
8771 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8774 it's equal to currnode. This can happen with "" symlink.
8775
8776 2012-06-27 Yves Blusseau <blusseau@zetam.org>
8777
8778 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8779 echo shell command by printf command.
8780
8781 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8784 the value returned by firmware is the maximal position, not diumension.
8785 (grub_terminfo_output_state): Use a more sane fallback.
8786
8787 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8790
8791 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8794 frequency to 150 MHz.
8795
8796 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 Apple fixes.
8799
8800 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8801 __APPLE_
8802 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8803 definition.
8804 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8805
8806 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 Handle slash in HFS label.
8809
8810 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8811 (grub_hfs_dir): Tanslate slash.
8812 (grub_hfs_label): Don't translate slash.
8813
8814 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8817 network protocol listing since it introduces problematic dependency on
8818 net module.
8819
8820 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8823
8824 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 Init video early on yeeloong to avoid being rebooted by watchdog.
8827
8828 * grub-core/Makefile.am (gensm712): New target.
8829 (sm712_start.S): Likewise.
8830 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8831 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8832 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8833 description.
8834 * include/grub/vga.h: Move registry definitions to...
8835 * include/grub/vgaregs.h: ... here.
8836
8837 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8840 signedness.
8841
8842 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8845 platforms with firmware disk drivers in the core.
8846
8847 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8850 informative verbose message.
8851 (read_lv): Handle 64-bit segment size.
8852
8853 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8856
8857 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8860 character but still remove trainling spaces.
8861 (grub_fat_label): Ignore archive flag.
8862
8863 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8866 cast between linux_kernel_header and linux_kernel_params.
8867
8868 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8871 type for size.
8872 (grub_raid6_recover_func_t): Likewise.
8873 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8874 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8875
8876 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8879
8880 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8881
8882 Fix overflow.
8883
8884 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8885 [__NetBSD__]: Add explicit cast before bitshift.
8886
8887 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * configure.ac: Bump to 2.00~rc1.
8890
8891 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8894 half of $a0.
8895
8896 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8897 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8898
8899 * docs/grub.texi: Fix search syntax.
8900 (Multi-boot manual config): Put msdos rather than GPT example.
8901 Grammar corrections.
8902
8903 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8906
8907 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8910
8911 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8914 message on double free. Put the value of magic in case of mismatch.
8915
8916 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 Speed-up video on yeeloong.
8919
8920 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8921 add cached_ptr.
8922 (grub_video_sm712_video_fini): Unmap cached_ptr.
8923 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8924 (grub_video_sm712_set_active_render_target): Removed.
8925 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8926 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8927 sync caches.
8928
8929 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Avoid flushing the same line multiple times on loongson.
8932
8933 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8934 Step in 32 bytes and not 1 byte.
8935 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8936 Likewise.
8937
8938 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8941 subvolumes.
8942
8943 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 Implement flow control for http.
8946
8947 * grub-core/net/http.c (parse_line): Handle response 206.
8948 (http_receive): Stall if too many packets are in the queue.
8949 (http_establish): Fix range header.
8950 (http_seek): Fix double free.
8951 (http_close): Likewise.
8952 (http_packets_pulled): New function.
8953 (grub_http_protocol): Set http_seek
8954 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8955 (ack_real): Set window depending on i_stall.
8956 (grub_net_send_tcp_packet): Likewise.
8957 (grub_net_tcp_stall): New function.
8958 (grub_net_tcp_unstall): Likewise.
8959 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8960 (grub_net_tcp_unstall): Likewise.
8961
8962 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8965
8966 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8969
8970 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * tests/util/grub-shell.in: Fix a typo.
8973
8974 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 Implement flow control for tftp.
8977
8978 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8979 packets but stop only if stop condition is satisfied.
8980 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8981 `stall' instead of `eof' as stop condition.
8982 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8983 (http_err): Likewise.
8984 * grub-core/net/tftp.c (ack): Replace the first argument with data
8985 instead of socket.
8986 (tftp_receive): Stall if too many packets are in wait queue.
8987 (tftp_packets_pulled): New function.
8988 (grub_tftp_protocol): Set packets_pulled.
8989 * include/grub/net.h (grub_net_packets): New field count.
8990 (grub_net_put_packet): Increment count.
8991 (grub_net_remove_packet): Likewise.
8992 (grub_net_app_protocol): New field `packets_pulled'.
8993 (grub_net): New field `stall'.
8994
8995 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8998 sync part to handle them.
8999
9000 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
9003 * grub-core/net/drivers/ieee1275/ofnet.c
9004 (grub_ieee1275_net_config_real): Likewise.
9005
9006 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
9009 the direct route for server/gateway.
9010
9011 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
9014 IP address to server name since we may not hame the DNS.
9015
9016 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
9019 freeing random buffer on failure.
9020 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
9021
9022 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
9025
9026 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
9029 reserved bytes.
9030 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
9031 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
9032 Handle malloc error correctly.
9033
9034 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9037 blocks.
9038
9039 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
9042 increment.
9043
9044 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
9047 none is explicitly specified.
9048
9049 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
9052 while reallocating.
9053
9054 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 Respect netmask from bootp/dhcp.
9057
9058 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
9059 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
9060 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
9061 into ...
9062 (grub_net_add_ipv4_local): ... this.
9063 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
9064 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
9065 (grub_net_add_ipv4_local): New proto.
9066
9067 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
9070 determining EFI memory map size.
9071
9072 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
9075
9076 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
9079 when looking for partition separator.
9080
9081 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9084 Escape commas.
9085
9086 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 Restructure FAT driver to avoid hook in label reading as it hits a
9089 GCC bug.
9090
9091 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
9092 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
9093 (grub_fat_iterate_dir): Split into ...
9094 (grub_fat_iterate_init): ... this, ...
9095 (grub_fat_iterate_fini): ... this, ...
9096 (grub_fat_iterate_dir_next): ... and this. All users updated.
9097
9098 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9101 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
9102 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9103 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
9104 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
9105 New fields last_key and last_key_time.
9106 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
9107 extended key-esc into extended key-extended key.
9108
9109 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 Avoid unnecessary memcpy of whole video buffer.
9112
9113 * grub-core/video/fb/video_fb.c (dirty): New struct.
9114 (framebuffer): Add members current_dirty and previous_dirty.
9115 (dirty): New function.
9116 (grub_video_fb_fill_rect): Update dirty.
9117 (common_blitter): Likewise.
9118 (grub_video_fb_scroll): Likewise.
9119 (doublebuf_blit_update_screen): Copy only dirty part.
9120 (doublebuf_pageflipping_update_screen): Likewise.
9121 (grub_video_fb_doublebuf_blit_init): Init dirty.
9122 (doublebuf_pageflipping_init): Likewise.
9123 (grub_video_fb_setup): Likewise.
9124
9125 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
9128 poll rate.
9129
9130 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 Fix wildcard regexp dot and other special characters handling.
9133 Reported by: Robert Mabee.
9134
9135 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9136 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9137 (split_path): Trigger expansion on '?'.
9138 (unescape): New function.
9139 (wildcard_expand): Unescape parts copied without globbing.
9140 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9141 (grub_script_arglist_to_argv): Don't unescape expansions.
9142
9143 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * include/grub/net.h (grub_net_card): New member txbufsize.
9146 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9147 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9148 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9149 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9150 txbufsize.
9151 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9152 compatible property to check for macs. Set
9153 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9154 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9155 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9156 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9157 (send_card_buffer): Use txbuf.
9158 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9159 nested function out of the parent while on it.
9160
9161 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9164 presence check.
9165 (grub_ieee1275_net_config_real): Fix config pointer.
9166
9167 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9170 filename parsing to non-block devices.
9171
9172 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9175
9176 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9179 All users updated.
9180
9181 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9184 UUID search command even if hints probing failed.
9185
9186 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * po/POTFILES.in: Regenerated.
9189
9190 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 Speed-up video on fuloong.
9193
9194 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9195 New function.
9196 (grub_pci_device_unmap_range): Handle non-cached address.
9197 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9198 add direct_ptr.
9199 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9200 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9201 (grub_video_sis315pro_set_active_render_target): Removed.
9202 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9203 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9204 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9205 sync caches.
9206 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9207 New proto.
9208
9209 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * docs/grub.texi (Multi-boot manual config): New section.
9212
9213 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 Avoid slow read-back from VRAM.
9216
9217 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9218 Move from here ...
9219 * grub-core/video/fb/video_fb.c
9220 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9221 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9222 (front_target): Remove front_target. Add pages.
9223 (grub_video_fb_init): Skip setting front_pages.
9224 (grub_video_fb_fini): Likewise.
9225 (doublebuf_blit_update_screen): Use pages.
9226 (grub_video_fb_doublebuf_blit_init): Likewise.
9227 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9228 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9229 (grub_video_fb_setup): Prefer doublebuffing.
9230
9231 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9234 gzio.
9235
9236 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 Add loongson tests.
9239
9240 * tests/util/grub-shell.in: Handle loongson.
9241 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9242 drivers.
9243 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9244 Reboot instead of shutdown if REBOOT is defined.
9245
9246 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9249 sized ports since unlike on real hardware qemu supports only 32-bit
9250 regs.
9251
9252 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9255 * util/grub-mkrescue.in: Handle loongson.
9256
9257 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9260 Set is_part appropriately.
9261 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9262 names. Canonicalize partition without full disk.
9263
9264 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 Revert usb-quiesce since it's wrong.
9267
9268 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9269 (grub_ofdisk_init): Don't do quiesce.
9270
9271 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9274 PowerMac workaround to Xserves as well.
9275 Information supplied by: Benjamin Herrenschmidt.
9276
9277 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 Don't assume that beginning address is also the entry point on ppc.
9280
9281 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9282 (grub_linux_boot): Use linux_entry.
9283 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9284 (grub_linux_load64): Likewise.
9285
9286 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9289
9290 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9293 needlessly lose the console.
9294
9295 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9298 space.
9299
9300 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9303 than current grub_get_rtc() not implemented when booted with
9304 coreboot without TSC.
9305
9306 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9307 Add machine/time.h to kernel headers on loongson.
9308 * grub-core/Makefile.core.def (kernel): Remove
9309 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9310 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9311 (grub_get_rtc): Likewise.
9312 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9313 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9314 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9315 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9316 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9317 rather than installing known non-working time source.
9318 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9319 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9320 * include/grub/time.h: Don't include machine/time.h.
9321 * include/grub/efi/time.h: Removed.
9322 * include/grub/i386/efi/time.h: Likewise.
9323 * include/grub/i386/ieee1275/time.h: Likewise.
9324 * include/grub/powerpc/ieee1275/time.h: Likewise.
9325 * include/grub/sparc64/ieee1275/time.h: Likewise.
9326 * include/grub/x86_64/efi/time.h: Likewise.
9327
9328 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 Remove dot on i and j when combining with above diacritics.
9331
9332 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9333 value.
9334 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9335 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9336 with dotless variants when any combining above is present.
9337
9338 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9341 text and not binary.
9342
9343 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 Stop polling as soon as we have the packet we were waiting for.
9346
9347 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9348 All users updated.
9349 * grub-core/net/arp.c (have_pending): New var.
9350 (pending_req): Likewise.
9351 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9352 stop indicator.
9353 (grub_net_arp_receive): Set have_pending.
9354 * grub-core/net/dns.c (recv_data): New field stop.
9355 (recv_hook): Set stop.
9356 (grub_net_dns_lookup): Init stop and use as stop condition.
9357 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9358 condition.
9359 * grub-core/net/net.c (grub_net_poll_cards): New argument
9360 stop_condition. Stop when it goes true.
9361 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9362 indicator.
9363 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9364
9365 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 Keep TX and RX buffers on EFI rather than always allocate new ones.
9368
9369 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9370 card. All users updated.
9371 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9372 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9373 (get_card_packet): Likewise.
9374 (grub_efinet_findcards): Init new fields.
9375
9376 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9379 compilation error on sparc64.
9380
9381 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 Use ITC on IA64 rather than broken routine based on daytime.
9384
9385 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9386 ia64.
9387 (grub_get_rtc) [__ia64__]: Likewise.
9388 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9389 (get_itc): New function.
9390 (grub_rtc_get_time_ms): Likewise.
9391 (grub_machine_init): Calibrate ITC.
9392 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9393 Keep only on non-ia64. Don't export since it's broken and used only
9394 if TSC is unavailable.
9395
9396 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9399 even if it's used.
9400 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9401 Skip if parent is unused.
9402
9403 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9406
9407 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 Fix wildcard escaping.
9410
9411 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9412 * grub-core/script/execute.c (wildcard_escape): .. to here.
9413 Don't escape dot.
9414 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9415 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9416 Don't escape dot.
9417 * grub-core/script/execute.c (gettext_append): Always escape.
9418 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9419 * grub-core/script/yylex.l: Don't cut away the escaping.
9420 * tests/grub_script_echo1.in: Add tests with wildcard.
9421
9422 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9425 (ftdi_hw_configure): Likewise.
9426 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9427 define.
9428 (real_config): Handle 1.5 stop bits.
9429 (pl2303_hw_configure): Likewise.
9430
9431 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * Makefile.am: Add ppc linux bootcheck.
9434 * grub-core/tests/boot/linux-ppc.cfg: New file.
9435 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9436
9437 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * tests/grub_script_expansion.in: Skip network protocols.
9440
9441 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9442
9443 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9444
9445 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9448 --rom-directory.
9449 Add -graft-points.
9450
9451 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 ESCC serial driver for conducting sautomated tests in qemu.
9454 Not tested on real hardware.
9455
9456 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9457 * grub-core/term/ieee1275/escc.c: New file.
9458 * grub-core/Makefile.core.def (escc): New module.
9459
9460 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9463 invalid on error.
9464 (serial_hw_fetch): Don't read invalid handle.
9465 (serial_hw_put): Don't write into invalid handle.
9466
9467 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 Add a 1.5 stop bits value.
9470
9471 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9472 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9473 GRUB_SERIAL_STOP_BITS_1_5.
9474
9475 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9478 value rather than let it uninited.
9479
9480 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/commands/wildcard.c (+check_file): New function.
9483 (wildcard_expand): Don't expand to non-existing files, expand with
9484 suffix and not attempt to expand if not needed.
9485
9486 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9489 out of partitions containing other partitions.
9490
9491 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9494 on some qemu versions with GRUB.
9495
9496 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9497 define.
9498 (grub_openbsd_bootarg_pcibios): New struct.
9499 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9500 Add PCIINFO.
9501
9502 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * tests/util/grub-shell.in: Trim firmware output on EFI.
9505
9506 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9509 and coreboot since it's already in kernel.
9510
9511 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9514 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9515 to here. New return value start. All users updated.
9516 Recursively scan linear mappings.
9517 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9518 proto.
9519 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9520 Use grub_util_get_dm_node_linear_info.
9521 * util/getroot.c (convert_system_partition_to_system_disk): Use
9522 grub_util_info rather than grub_dprintf.
9523 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9524
9525 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9528
9529 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9530 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9531
9532 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * include/grub/types.h (grub_set_unaligned64): New function.
9535 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9536 (setup): Likewise.
9537
9538 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9541 (grub_ofdisk_fini): Quiesce USB devices.
9542
9543 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9546 caches.
9547
9548 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9551
9552 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * grub-core/disk/pata.c (grub_pata_pio_read)
9555 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9556 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9557
9558 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 Extend automated tests to qemu-mips.
9561
9562 * Makefile.am: reorganise tests and enable qemu-mips.
9563 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9564 * grub-core/tests/boot/linux.init-mips.S: New file.
9565 * tests/partmap_test.in: Handle ata0 disks.
9566 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9567 non-pc i386.
9568
9569 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9572 ia64.
9573 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9574 quotes while on it.
9575
9576 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9579 (grub_halt): Likewise.
9580 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9581
9582 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * grub-core/term/serial.c (grub_serial_register)
9585 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9586 the behaviour in line with x86 platforms.
9587
9588 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9591 (grub_ata_strncpy): Likewise.
9592 (grub_ata_identify): Add missing byteswaps.
9593
9594 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9597 byte-swap.
9598 (screen_read_char): Likewise.
9599 (grub_vga_text_cls): Likewise.
9600
9601 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9604 filenames.
9605 (make_file_path): Likewise.
9606
9607 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9610 machines.
9611 Tested by: Paulo Flabiano Smorigo.
9612 Crucial information about API supplied by: Coleen <Last name unknown>.
9613 Reviewed by: Coleen <Last name unknown>.
9614
9615 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * util/grub-mkimage.c: Disable -Wcast-align.
9618
9619 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9622 as they are fatal.
9623
9624 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9627
9628 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * util/grub-probe.c (escape_of_path): Fix double free.
9631
9632 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/commands/videoinfo.c (hook): Show pitch.
9635
9636 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9639
9640 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9643 (probe): Add ieee1275 to OFW devices.
9644
9645 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9648
9649 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 Handle IBM OFW path.
9652
9653 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9654 available.
9655 (of_path_of_scsi): Handle vdevice.
9656
9657 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9660 Allocate in multiples of 16 to avoid adding a few bytes free region the
9661 windows bugs upon.
9662
9663 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9666 Allocate in multiples of 16 to avoid adding a few bytes free region the
9667 windows bugs upon.
9668 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9669
9670 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9673 resolutions.
9674 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9675 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9676
9677 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9678
9679 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9680
9681 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9684 resulted in \\ at the end of the line.
9685
9686 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9687
9688 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9689 (grub_parser_cmdline_state): Likewise.
9690 (grub_parser_split_cmdline): Likewise.
9691
9692 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9695 /dev/root and /dev/dm-*.
9696
9697 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9700 fix partially stale display.
9701
9702 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9705 substraction.
9706
9707 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9710 Fix MBR remapping workaround.
9711 (grub_util_biosdisk_read) [__linux__]: Likewise.
9712
9713 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9716
9717 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * configure.ac: Bump to beta6.
9720
9721 2012-05-31 Christer Weinigel <christer@weinigel.se>
9722
9723 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9724
9725 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9728 (grub_cmd_linux): Likewise.
9729
9730 2012-05-31 Christer Weinigel <christer@weinigel.se>
9731
9732 Fix EHCI low-speed.
9733
9734 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9735 (GRUB_EHCI_MULT_TWO): Likewise.
9736 (GRUB_EHCI_MULT_THREE): Likewise.
9737 (GRUB_EHCI_CMASK_MASK): New enum value.
9738 (GRUB_EHCI_SMASK_MASK): Likewise.
9739 (GRUB_EHCI_CMASK_OFF): Likewise.
9740 (GRUB_EHCI_SMASK_OFF): Likewise.
9741 (grub_ehci_pci_iter): Enable periodic schedule.
9742 (grub_ehci_parse_notrun): Likewise.
9743 (grub_ehci_restore_hw): Likewise.
9744 (grub_ehci_setup_qh): Set flags for low speed transfers.
9745 (grub_ehci_find_qh): Use periodic list for low speed.
9746 (grub_ehci_setup_transfer): Check periodic queue as well.
9747 (grub_ehci_check_transfer): Likewise.
9748 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9749
9750 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9751
9752 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9753 parameter is used.
9754
9755 2012-05-31 Peter Jones <pjones@redhat.com>
9756
9757 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9758 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9759 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9760
9761 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9764 uninited variable. Allocate at least setup_sects.
9765
9766 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 Fix handling of EFI with big memory maps.
9769
9770 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9771 (real_mode_mem): Likewise.
9772 (real_mode_target): Likewise.
9773 (real_mode_pages): Likewise.
9774 (prot_mode_pages): Likewise.
9775 (linux_params): New var.
9776 (linux_cmdline): Likewise.
9777 (free_pages): Don't set real mode variables.
9778 (allocate_pages): Don't allocate real mode memory.
9779 (grub_e820_add_region): Remove the limit.
9780 (grub_linux_boot): Allocate and copy real mode memory.
9781 (grub_linux_unload): Free linux_cmdline.
9782 (grub_cmd_linux): Use temporary storage for parameters.
9783 (grub_cmd_initrd): Likewise.
9784 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9785 (linux_kernel_params): Make it 1K big.
9786
9787 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * Makefile.util.def: Remove -Wno-format.
9790 * grub-core/Makefile.core.def: Likewise.
9791
9792 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * tests/cmp_unit_test.c: Add missing failure message.
9795 * tests/example_unit_test.c: Likewise.
9796 * tests/printf_unit_test.c: Likewise.
9797
9798 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9801 relaxation of protective MBR requirements.
9802
9803 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * configure.ac: Add condition for COND_HOST_XNU.
9806 * Makefile.util.def (10_xnu): New script.
9807 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9808
9809 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9812 objconv bug.
9813
9814 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9817 Binary on other platforms stays identical.
9818
9819 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9822 Apple.
9823
9824 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9827
9828 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9831 rather than defining size_t ourselves to avoid conflict.
9832
9833 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9836 initialisation to avoid __bzero reference.
9837
9838 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9841 version.
9842 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9843 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9844 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9845 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9846 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9847
9848 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9851 * grub-core/kern/misc.c: Likewise.
9852 * grub-core/loader/i386/xnu.c: Likewise.
9853 * include/grub/i386/tsc.h: Likewise.
9854 * include/grub/symbol.h: Likewise.
9855
9856 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9859 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9860 on older compiler.
9861
9862 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9865 Implement Apple flavour.
9866 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9867
9868 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9871 (memmove) [__APPLE__]: Likewise.
9872 (memcpy) [__APPLE__]: Likewise.
9873 (memset) [__APPLE__]: Likewise.
9874 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9875 (memmove) [__APPLE__]: Likewise.
9876 (memcpy) [__APPLE__]: Likewise.
9877 (memset) [__APPLE__]: Likewise.
9878
9879 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9882 dependency discard.
9883
9884 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * grub-core/normal/main.c (read_config_file): Provide config_file and
9887 config_directory.
9888 * util/grub.d/41_custom.in: Use config_directoy when available.
9889
9890 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9893 (grub_bfs_dir): Likewise.
9894
9895 2012-05-27 Peter Jones <pjones@redhat.com>
9896
9897 The old code gives arguments to a printf function which can't work
9898 correctly, and the compiler complains.
9899
9900 * grub-core/tests/example_functional_test.c (example_test): Add
9901 missing text.
9902 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9903 * include/grub/test.h (grub_test_assert_helper): New declaration.
9904 (grub_test_assert): Use grub_test_assert_helper.
9905
9906 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9909 (exfctest): ... this to avoid overlong filenames.
9910 All users updated.
9911
9912 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 Handle "." and ".." on squashfs.
9915
9916 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9917 Make inode numbers into stack.
9918 (grub_squash_read_symlink): Use stack.
9919 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9920 (make_root_node): Fill stack.
9921 (grub_squash_open): Use stack.
9922
9923 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9926 freeing.
9927
9928 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9931 stderr on test calls.
9932
9933 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9936
9937 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9940
9941 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9944 "..".
9945
9946 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9949 (grub_hfsplus_iterate_dir): Add "." and "..".
9950
9951 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9954 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9955
9956 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9959 (find_path): Handle "." and "..".
9960
9961 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9964 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9965 (grub_affs_iterate_dir): Handle hardlinks.
9966
9967 2012-05-26 Matthew Garrett <mjg@redhat.com>
9968
9969 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9970 (grub_efi_console_fini): Likewise.
9971 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9972 (grub_video_gop_fill_mode_info): Rename to ...
9973 (grub_video_gop_fill_real_mode_info): ... this.
9974 (grub_video_gop_fill_mode_info): New function.
9975 (grub_video_gop_setup): Setup double framebuffer.
9976 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9977 Free offscreen.
9978 (grub_video_gop_swap_buffers): Copy framebuffer.
9979 (grub_video_gop_fini): Free offscreen buffer.
9980 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9981 New enum.
9982 (grub_efi_gop_blt_pixel): New struct.
9983
9984 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * gentpl.py: Remove error disabling for objconv.
9987
9988 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * configure.ac: Remove -Wunitialized as it's not available on older
9991 compilers.
9992
9993 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 Fix extent overflow comparator.
9996
9997 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9998 (grub_hfsplus_read_block): Set type.
9999 (grub_hfsplus_cmp_extkey): Compare type.
10000
10001 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
10004
10005 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
10008 than 0.
10009
10010 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
10013 (dejavu_bold_14.pf2): New target.
10014
10015 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * configure.ac: Fix djvu font detection.
10018
10019 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
10022 ext* instead of ext2.
10023
10024 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
10027 name with \0.
10028
10029 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
10030
10031 * docs/grub-dev.texi: Remove dot from .png.
10032
10033 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
10036 protective entry in any slot.
10037 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
10038 if protective entry is found in any slot.
10039
10040 Protective entry in non-first slot make no sense but is a widespread
10041 brain damage.
10042
10043 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
10046
10047 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
10050 with old reiserfs.
10051 (grub_reiserfs_open): Don't free root.
10052
10053 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
10056 after freeing for safety.
10057
10058 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
10061 Reported by: Jordan Uggla.
10062
10063 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
10064
10065 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
10066 actual implementation. Specifically, clarify that the grub menu will
10067 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
10068 passed.
10069
10070 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
10071
10072 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
10073 of r0.
10074
10075 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 Remove unjustified hard dependency of normal.mod on gfxterm.
10078
10079 * include/grub/term.h (grub_term_output): New member fullscreen.
10080 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
10081 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
10082 (grub_gfxterm): Set .fullscreen.
10083 * grub-core/normal/menu.c (menu_init): Use fullscreen.
10084 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
10085
10086 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
10089 mentioning possible problems with non-ASCII (non-compliant) ISOs.
10090 Mention case-insensitive AFFS, SFS and JFS.
10091
10092 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
10095
10096 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10099 a bad FS.
10100
10101 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
10104 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
10105
10106 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
10109 (grub_jfs_mount): Fill caseins.
10110 (grub_jfs_find_file): Respect caseins.
10111
10112 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
10115 through UTF-16.
10116
10117 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
10120 New argument origpath. All users updated.
10121
10122 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
10125 (read_attr): Ensure that we read start of possibly compressed block.
10126
10127 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
10130 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
10131 All users updated.
10132
10133 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10136 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10137 (dejavu.pf2): Replace with ...
10138 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10139 this.
10140
10141 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * util/grub.d/20_linux_xen.in: Add missing line.
10144
10145 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10148 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10149 (grub_utf16_to_utf8): Likewise.
10150
10151 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10154 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10155 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10156 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10157 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10158 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10159
10160 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10163 a bad FS.
10164
10165 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10168 (grub_udf_read_symlink): Handle read_string failure.
10169
10170 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10173 comment.
10174
10175 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 Fix handling of UDF symlinks.
10178
10179 * grub-core/fs/udf.c (read_string): New argument outbuf.
10180 All users updated.
10181 (grub_ufs_read_symlink): Rename to ...
10182 (grub_udf_read_symlink): ... this. All users updated.
10183 Handle symlinks with more than one component.
10184
10185 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10188 symlinks. Replace leading colon with a slash.
10189
10190 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10193 filename.
10194
10195 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10198 match in inner node.
10199
10200 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10203 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10204 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10205 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10206 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10207 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10208 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10209 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10210 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10211
10212 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 Use grub-probe and not cmp to check that disk is empty.
10215
10216 * util/grub-install.in: Use grub-probe for zero-check.
10217 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10218 (probe): Handle PRINT_ZERO_CHECK.
10219 (argp_parser): Handle -t zero_check.
10220
10221 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 Flush block cache on adding disk to device map.
10224
10225 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10226 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10227 adding.
10228 (read_device_map): Likewise.
10229 (open_device): Flush on opening.
10230
10231 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10234 (handle_symlink): Fix off-by-one error.
10235 Canonicalize the target.
10236 (grub_cpio_dir): Canonicalize the name.
10237 Fix memory leak.
10238 Set directory.
10239 (grub_cpio_open): Canonicalize the name.
10240
10241 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10244 handling.
10245
10246 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10249 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10250
10251 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10254 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
10255 All users updated.
10256
10257 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10260 counterpart.
10261
10262 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10263
10264 Fix UFS1 big file support.
10265
10266 * grub-core/fs/ufs.c (INODE): Removed.
10267 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10268 64-bit.
10269 (INODE_MODE): Simplify.
10270 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10271 (grub_ufs_lookup_symlink): Don't use INODE.
10272
10273 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10276
10277 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10278 (grub_minix_data): Replace log_block_size with block_size.
10279 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10280 (grub_minix_mount): Fill block_size.
10281
10282 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * configure.ac: Bump to beta5.
10285
10286 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 Fix wrapped HFS+ handling.
10289
10290 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10291 blocks_start. All users updated.
10292 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10293 wrapping offset.
10294 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10295
10296 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 Fix long symlinks on reiserfs.
10299
10300 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10301 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10302 (grub_reiserfs_iterate_dir): Save size for non-directories.
10303 (grub_reiserfs_open): Don't reread stat block as we already know the
10304 size.
10305 (grub_reiserfs_read): Split into...
10306 (grub_reiserfs_read_real): ... and ...
10307 (grub_reiserfs_read): ...this.
10308
10309 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 Fix non-indexed JFS.
10312
10313 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10314 (grub_jfs_data): New field namecomponentlen.
10315 (grub_jfs_mount): Fill namecomponentlen.
10316 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10317
10318 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10321 * tests/grub_script_echo1.in: Add tests.
10322
10323 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * util/grub-install.in: Ignore empty devicetree directory.
10326
10327 2012-05-08 Bean <bean123ch@gmail.com>
10328
10329 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10330 All users updated.
10331 (free_rsm): Free header as well.
10332 (free_old_fragments): Fix memory leak.
10333 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10334 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10335 (destroy_pq): Likewise.
10336 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10337
10338 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10341 resulting hash as a precaution.
10342
10343 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10346 '_' in variable names.
10347 * grub-core/net/net.c (grub_net_network_level_interface_register):
10348 Likewise.
10349
10350 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 Fix AFFS with non-512B blocks.
10353
10354 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10355 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10356 (grub_affs_data): Replace blocksize with log_blocksize.
10357 (grub_affs_read_block): Fix non-512B blocks.
10358 (grub_affs_read_symlink): Likewise.
10359 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10360 (grub_affs_read): Fix non-512B blocks.
10361 (grub_affs_label): Likewise.
10362 (grub_affs_mtime): Likewise.
10363 (grub_affs_mount): Fix block detection routine.
10364
10365 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 Add filesystem mtime to AFFS.
10368
10369 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10370 (aftime2ctime): New function.
10371 (grub_affs_dir): Use aftime2ctime.
10372 (grub_affs_label): Fix return value.
10373 (grub_affs_mtime): New function.
10374 (grub_affs_fs): Add mtime.
10375
10376 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10379 UTF-8.
10380
10381 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10384 UTF-8.
10385
10386 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10389
10390 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10393 flags.
10394 (FLAGS_CASE_SENSITIVE): New enum value.
10395 (cache_entry): New struct.
10396 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10397 cache_size and cache.
10398 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10399 Add log_blocksize and fshelp_flags.
10400 (grub_sfs_read_extent): Handle non-512 blocks.
10401 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10402 (grub_sfs_read_file): Handle non-512 blocks.
10403 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10404 fshelp_flags.
10405 (grub_sfs_read_symlink): Handle non-512 blocks.
10406 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10407 (grub_sfs_dir): Free cache.
10408 (grub_sfs_close): Likewise.
10409
10410 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10413 filesystems.
10414
10415 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10418
10419 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10422
10423 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10426 (grub_sfs_read_extent): Likewise.
10427 (grub_sfs_read_block): Likewise.
10428 (grub_sfs_mount): Likewise.
10429 (grub_sfs_iterate_dir): Likewise.
10430 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10431 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10432
10433 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 Fix errors on compressed NTFS with 512B clusters.
10436
10437 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10438 types.
10439 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10440 not 0.
10441 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10442 Relax check for inline extents.
10443 (ntfscomp): Return correct -1 on error and not 0.
10444
10445 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * util/grub-install.in: Fix handling of prefix containing spaces.
10448
10449 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10452 (grub_squash_read_data): Fix offset byte-swapping.
10453
10454 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10457 per common usage and preffered in several parts of code.
10458 (grub_memcmp): Likewise.
10459 (grub_strncmp): Likewise.
10460 * include/grub/misc.h (grub_strcasecmp): Likewise.
10461 (grub_strncasecmp): Likewise.
10462 * Makefile.util.def (cmp_test): New test.
10463 (grub_script_strcmp): Likewise.
10464 * tests/cmp_unit_test.c: New file.
10465 * tests/grub_script_strcmp.in: Likewise.
10466 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10467
10468 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * include/grub/pci.h: Move enums into no-asm part.
10471
10472 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10473
10474 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10475
10476 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10477
10478 * util/getroot.c (find_hurd_root_device): Try to make error message
10479 and comments to translators clearer.
10480
10481 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10482
10483 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10484
10485 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10488 btrfs.
10489
10490 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 * docs/grub.cfg: Update.
10493
10494 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * docs/grub.texi (PXE): Remove not present variables.
10497
10498 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 * grub-core/net/net.c (defserver_set_env): New function.
10501 (defserver_get_env): Likewise.
10502 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10503
10504 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10507 entries.
10508
10509 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10512 * grub-core/kern/emu/hostdisk.c: Likewise.
10513
10514 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10515
10516 Handle hurd userspace partitions.
10517
10518 * util/getroot.c (find_hurd_root_device): New function.
10519 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10520
10521 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10524 names.
10525 Reported by: Bastian Blank.
10526
10527 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10530 crossing page boundary.
10531
10532 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 Fix B-tree search in BFS, especially in presence of non-ASCII
10535 characters.
10536
10537 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10538 (find_in_b_tree): Use standard bsearch + btree algorithm.
10539
10540 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10543 and so on.
10544
10545 2012-05-03 Matthew Garrett <mjg@redhat.com>
10546 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 Suspend broadcom cards in order to stop their DMA.
10549
10550 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10551 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10552 (pci): Don't build on x86 EFI.
10553 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10554 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10555 New function.
10556 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10557 stop_broadcom if running on EFI.
10558 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10559 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10560 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10561 (grub_pci_find_capability): New proto.
10562
10563 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * docs/grub.texi: Remove dot from the extension as it apparently
10566 doesn't work with some makeinfo versions.
10567
10568 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10571 with GRUB expectance.
10572
10573 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10576
10577 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10580 zero after directory block since last entry may be not 0-terminated if
10581 it ends on block boundary. Use continue instead of if spanning whole
10582 loop.
10583
10584 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 Support 4K sectors UDF inline files.
10587
10588 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10589 (grub_udf_extended_file_entry): Likewise.
10590 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10591 All users updated.
10592 (get_fshelp_size): New function.
10593 (grub_udf_read_icb): Read whole block.
10594 (grub_udf_iterate_dir): Likewise.
10595 (grub_udf_dir): Likewise.
10596 (grub_udf_open): Likewise.
10597
10598 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10601
10602 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10603
10604 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10605 inline symlinks in addition to workaround.
10606
10607 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10610
10611 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10614
10615 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10618
10619 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 Fix reiserfs big seek times.
10622
10623 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10624 exact. All users updated.
10625 (grub_reiserfs_read): Use nearest btree search for seeking.
10626 Fix return value on error.
10627
10628 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10631 entries.
10632 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10633 * docs/grub.texi: Update menuentry description.
10634
10635 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10638 crash when embedding onto filesystem.
10639
10640 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10643 name.
10644
10645 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10648
10649 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10652 commit.
10653
10654 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10655 2012-05-01 Bean <bean123ch@gmail.com>
10656
10657 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10658
10659 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10662 Special behaviour for len = 0 to read whole file isn't used anywhere and
10663 can cause buffer ovewrflows in several places.
10664
10665 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10668
10669 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 Handle RAIDZ on non-512B sectors.
10672
10673 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10674 max_children_ashift.
10675 (fill_vdev_info_real): Fill max_children_ashift.
10676 (read_device): Use max_children_ashift.
10677
10678 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10681
10682 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10685 disk names.
10686 * docs/grub.texi: Update device.map parts.
10687
10688 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 Don't scan into non-diskfilter devices having diskfilter names.
10691
10692 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10693 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10694 handling.
10695 (scan_disk_hook): New function.
10696
10697 2012-04-29 Bean <bean123ch@gmail.com>
10698
10699 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10700 allocation.
10701
10702 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10703
10704 * configure.ac: Detect starfield theme font path
10705 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10706
10707 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10710 geometry on serial consoles.
10711
10712 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10715 because of network consoles.
10716
10717 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10720 handling.
10721
10722 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10725 falls on Q syndrom.
10726
10727 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10730 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10731
10732 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10735 Allocate at lest 8192 for temporary buffer as required for lzo.
10736
10737 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10740 to cluster_bits, since it's already added in.
10741 (grub_fat_read_data): Likewise.
10742
10743 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10746 as long as cluster size is multiple of 512 bytes.
10747
10748 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * util/grub-mkrescue.in: Fix locale directory.
10751
10752 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/kern/emu/hostdisk.c (map): Make static.
10755
10756 2012-04-23 Bean <bean123ch@gmail.com>
10757
10758 * util/grub-fstest.c (fstest): Add missing break.
10759
10760 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10761
10762 Fix hurd build.
10763
10764 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10765 not define nr variable.
10766 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10767 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10768 grub_find_device): Do not define.
10769
10770 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 Fix kfreebsd compile and behaviour.
10773
10774 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10775 format-security.
10776 * util/getroot.c: Fix wait.h include.
10777 (grub_guess_root_devices): Error if grub_find_device fails.
10778 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10779 (grub_util_get_dev_abstraction): Likewise.
10780 (grub_util_pull_device): Likewise.
10781 (grub_util_get_grub_dev): Likewise.
10782 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10783
10784 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 Fix and unify wholedisk detection.
10787
10788 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10789 is_part. All users updated.
10790 (device_is_wholedisk): Removed.
10791 (grub_util_biosdisk_get_grub_dev): Use is_part.
10792
10793 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10796 mode.
10797
10798 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * configure.ac: Bump to beta4.
10801
10802 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10805 --fs-uuid --set UUID syntax.
10806
10807 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10810 disunification.
10811
10812 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10815
10816 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
10817
10818 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10819
10820 2012-04-18 Mike Gilbert <floppym@gentoo.org>
10821
10822 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10823
10824 2012-04-18 Bean <bean123ch@gmail.com>
10825
10826 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10827 place.
10828
10829 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10832 users updated.
10833 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10834 corresponding to GRUB partitions.
10835 (grub_util_biosdisk_write): Likewise.
10836
10837 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 Scan mdraid before LVM.
10840
10841 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10842 (grub_diskfilter_register_front): ... this.
10843 (grub_diskfilter_register_back): New function.
10844 All users of grub_diskfilter_register updated.
10845
10846 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * util/grub-install.in: Fix an automatic target detection bug.
10849
10850 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * util/grub-install.in: New option --efi-directory.
10853
10854 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10857 boot services if we have no other choice.
10858
10859 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10862 document it.
10863 * tests/util/grub-shell.in: Update to --directory.
10864
10865 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10868
10869 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10872 (grub_minix_read_file): Likewise.
10873 (grub_minix_read_inode): Likewise.
10874 (grub_minix_find_file): Likewise.
10875 (grub_minix_dir): Likewise.
10876
10877 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * util/grub-setup.c (setup): Fix partition handling and blocklist
10880 check.
10881
10882 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10885 redundant buggy overlap check.
10886
10887 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10890 and grub-mknetdir.
10891
10892 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10895 kh.loadflags on pre-2.00 kernels.
10896
10897 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 Terminate UNDI and PXE before launching the payload to avoid problems
10900 with DMA.
10901
10902 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10903 (grub_loader_flags): ... this. All users updated.
10904 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10905 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10906 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10907 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10908 function.
10909 (grub_pxe_restore): Likewise.
10910 (fini_hnd): New var.
10911 (GRUB_MOD_INIT): Register shutdown hook.
10912 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10913 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10914 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10915 (grub_loader_set): Rename second argument to flags.
10916
10917 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10920 written bytes.
10921 (grub_get_num_of_utf8_bytes): New function.
10922 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10923 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10924 executing it.
10925 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10926 (grub_ucs4_to_utf8): Change return type.
10927
10928 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10931 warning.
10932 * grub-core/fs/bfs.c (hop_level): Likewise.
10933 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
10934
10935 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * grub-core/lib/adler32.c: Recode due to license unclearness.
10938
10939 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10942 (test_header): Likewise.
10943
10944 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 Fix --help formatting.
10947
10948 * util/grub-mkconfig_lib.in (print_option_help): New function.
10949 (grub_fmt): Likewise.
10950 * util/grub-install.in: Use print_option_help and grub_fmt.
10951 * util/grub-kbdcomp.in: Likewise.
10952 * util/grub-mkconfig.in: Likewise.
10953 * util/grub-mknetdir.in: Likewise.
10954 * util/grub-mkrescue.in: Likewise.
10955 * util/grub-mkstandalone.in: Likewise.
10956 * util/grub-reboot.in: Likewise.
10957 * util/grub-set-default.in: Likewise.
10958 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10959
10960 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 * linguas.sh: Remove autogenerated *.po.
10963
10964 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 * po/README: Move language fetcing to ...
10967 * linguas.sh: ... here.
10968 * po/README: Point to linguas.sh.
10969
10970 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 * po/README: Exclude ko.po due to disclaimer problems.
10973
10974 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10977 len = 0.
10978 (grub_gettext_translate_real): Handle 0th string.
10979 (grub_gettext_translate): Ensure that "" isn't translated.
10980
10981 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10984 TRANSLATORS comment.
10985 (grub_diskfilter_print_partmap): Propagate changing of error into
10986 warning.
10987
10988 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10991 to uint64_t to prevent overflow.
10992 (grub_diskfilter_lv): Increase start_extent and extent_count
10993 to uint64_t to prevent overflow.
10994
10995 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * configure.ac: Increase version.
10998
10999 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
11002
11003 * po/Rules-translit: New file.
11004 * po/arabic.sed: Likewise.
11005 * po/cyrillic.sed: Likewise.
11006 * po/greek.sed: Likewise.
11007 * po/hebrew.sed: Likewise.
11008 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
11009 * po/Makefile.in.in: Add extra_dist4.
11010
11011 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 Handle big-endian minixfs (fixes minixfs tests on bigendian).
11014
11015 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
11016 modify names. Introduce MODE_BIGENDIAN.
11017 * grub-core/fs/minix_be.c: New file.
11018 * grub-core/fs/minix2_be.c: Likewise
11019 * grub-core/fs/minix3_be.c: Likewise.
11020 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
11021 minix3_be.
11022 * grub-core/Makefile.core.def (minix_be): New module.
11023 (minix2_be): Likewise.
11024 (minix3_be): Likewise.
11025
11026 2012-04-01 Felix <email@hamburg.de>
11027
11028 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
11029 (devs): Add MBP 2011.
11030
11031 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
11034
11035 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * grub-core/normal/cmdline.c (print_completion): New field
11038 prompt_len.
11039 (grub_cmdline_get): Handle width properly.
11040
11041 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * grub-core/commands/lsacpi.c (options): Add missing terminator.
11044
11045 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
11048 after 29th of February.
11049
11050 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 Fix exfat endianness handling.
11053
11054 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
11055 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
11056 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
11057 Byte-swap utf16 when necessary.
11058 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
11059
11060 2012-03-31 Anton Blanchard <anton@samba.org>
11061 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 Fix btrfs endianness handling.
11064
11065 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
11066 (lower_bound): Make root uint64_t. Use root in le.
11067 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
11068 (find_path): Fix template key init.
11069 (grub_btrfs_dir): Fix mtime byteswap.
11070 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
11071
11072 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
11075 recursion_depth. Break infinite resursions. All users updated.
11076
11077 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
11080 after free.
11081 Reported by: Peter Jones.
11082
11083 2012-03-31 Anton Blanchard <anton@samba.org>
11084
11085 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
11086 8 bit values.
11087
11088 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * util/grub-install.in: Fix nvram call for PreP.
11091
11092 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
11095 the error when some elements are missing into a warning.
11096
11097 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
11100
11101 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
11102
11103 * docs/grub.texi (Invoking grub-probe): New section.
11104 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
11105
11106 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 Fix tab and wide character handling in editor and menu.
11109
11110 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
11111 agglomerate control characters with combining marks.
11112 (bidi_line_wrap): Allow break on tab.
11113 (grub_unicode_get_comb_start): New function.
11114 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
11115 and tab correctly.
11116 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
11117 with a space.
11118 * grub-core/normal/term.c (print_ucs4_terminal): New argument
11119 fixed_tab_size. All users updated.
11120 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
11121 (grub_term_getcharwidth): Handle \t.
11122 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
11123 and copy.
11124
11125 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 Handle big-endian mdraid.
11128
11129 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
11130 * grub-core/Makefile.core.def (mdraid09_be): New module.
11131 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
11132 rather than grub_le_to_cpu* and grub_cpu_to_le*.
11133 * grub-core/disk/mdraid_linux_be.c: New file.
11134
11135 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11138
11139 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11140
11141 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11142 missing quotes which caused confusion among translators.
11143
11144 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 * util/grub-mkconfig_lib.in: Fix typo.
11147
11148 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11151 spaces.
11152 * tests/grub_script_leading_whitespace.in: New file.
11153 * Makefile.util.def (grub_script_leading_whitespace): New test.
11154
11155 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11158 to work.
11159
11160 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11163 starts with control character.
11164
11165 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11168 overflow.
11169 (grub_gdb_outbuf): Likewise.
11170
11171 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11174 zero terminator. Fixes a crash.
11175
11176 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11179 beyond 4 GiB.
11180 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11181 images independently of preffered adderss field.
11182
11183 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11186 * grub-core/commands/regexp.c: Likewise.
11187 * grub-core/loader/i386/linux.c: Likewise.
11188 * grub-core/partmap/msdos.c: Likewise.
11189 * grub-core/script/execute.c: Likewise.
11190 * grub-core/term/gfxterm.c: Likewise.
11191
11192 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 Add variable parsing in $"..." and fix several mismatches with bash.
11195
11196 * Makefile.util.def (grub_script_gettext): New test.
11197 * grub-core/script/execute.c (parse_string): New function.
11198 (gettext_append): Likewise.
11199 (grub_script_arglist_to_argv): Use gettext_append.
11200 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11201 * tests/grub_script_gettext.in: New file.
11202
11203 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 Fix handling of leading spaces in scripts.
11206
11207 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11208 spaces.
11209 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11210 other than skipping \r. All users updated.
11211 * tests/grub_script_echo1.in: Add space-related tests.
11212 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11213
11214 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11217
11218 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * configure.ac: Bump up the version to beta2.
11221
11222 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 Fix gettext reload bugs (e.g. inability to disable gettext
11225 once enabled).
11226
11227 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11228 main_context and secondary_context. All functions updated.
11229 (grub_gettext_translate): Rename to ...
11230 (grub_gettext_translate_real): ... this. Return NULL on failed
11231 translate.
11232 (grub_gettext_translate): Handle secondary context.
11233 (grub_gettext_delete_list): Close file and zero-out the context.
11234 (grub_mofile_open): Don't call grub_gettext_delete_list.
11235 Don't close file.
11236 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11237 if locale="" to avoid pointless error message.
11238 (grub_gettext_env_write_lang): Update lang even if load fails.
11239 Handle secondary context.
11240 (grub_gettext_reread_prefix): New function.
11241 (read_main): Likewise.
11242 (read_secondary): Likewise.
11243 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11244 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11245 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11246 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11247
11248 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * configure.ac: Decrease warning level to avoid spurious warnings and
11251 to be able to compile with GCC 4.2.
11252 * Makefile.util.def: Remove -Wno-error=logical-op.
11253
11254 2012-03-10 William Bittner <william.bittner@gmail.com>
11255
11256 * util/import_unicode.py: Add missing brackets around string for
11257 python 3 support.
11258
11259 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11260
11261 Fix efi chainloader on network root.
11262
11263 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11264 network devices.
11265 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11266 New function.
11267
11268 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11271 unused show_text member.
11272 * docs/grub.texi: Document "text" property.
11273
11274 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11277 in dprintf.
11278
11279 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 Fix IMSM handling on Fedora.
11282
11283 * util/getroot.c (grub_util_is_imsm): New function.
11284 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11285
11286 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * Makefile.am: Strip gold section.
11289 * conf/Makefile.common: Likewise.
11290 * gentpl.py: Likewise.
11291 * grub-core/Makefile.core.def: Likewise.
11292 * grub-core/genmod.sh.in: Likewise.
11293
11294 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11297 * util/grub.d/20_linux_xen.in: Likewise.
11298 Based on Debian patch.
11299
11300 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * util/grub.d/10_linux.in: Fix syntax error resulting in
11303 Richard Laager's patch.
11304 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11305
11306 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11309 dependencies.
11310
11311 2012-03-10 Richard Laager <rlaager@wiktel.com>
11312
11313 * util/grub.d/10_linux.in: Fix ZFS root passing.
11314
11315 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11318 * grub-core/commands/xnu_uuid.c: Likewise.
11319 * grub-core/loader/efi/appleloader.c: Likewise.
11320 * grub-core/script/execute.c: Likewise.
11321 * grub-core/script/main.c: Likewise.
11322 * util/grub-mkfont.c: Likewise.
11323
11324 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * util/grub-mkfont.c (options): Use more appropriate "select" that
11327 "set" for face index.
11328
11329 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 * util/grub-editenv.c (options): Gettextize command summaries.
11332
11333 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11336 "out of memory" error messagge.
11337
11338 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11341 of diskfilter for diskfilter on diskfilter support.
11342
11343 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11346
11347 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11350 themes/starfield.
11351
11352 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11355
11356 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11359
11360 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11361
11362 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11363 of error message.
11364
11365 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11368
11369 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11372 message.
11373 * util/grub-install.in: Fix and gettextize error message.
11374
11375 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11378 Gettextize.
11379 * util/grub-mount.c (options): Likewise.
11380
11381 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11384 gettextize.
11385 * grub-core/commands/search_wrap.c (options): Likewise.
11386
11387 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11390
11391 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11394 size calculation.
11395 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11396 none is known.
11397
11398 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11401 "temporary" since it's used in identifier and is limited in space.
11402
11403 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11404
11405 * po/POTFILES.in: Regenerate. Include *.h since they contain
11406 translatable strings as well.
11407
11408 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11411 byte-swap on big-endian.
11412 Reported by: Lennart Sorensen
11413
11414 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11417 (allocate_pages): Improve dprintf.
11418 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11419 code32_start. Fill code32_start and kernel_alignment in params.
11420 (grub_cmd_initrd): Use prot_init_space.
11421
11422 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11425
11426 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * util/grub-install.in: Add missing dot at the end of sentence.
11429
11430 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11433 * grub-core/commands/videotest.c: Likewise.
11434 * grub-core/loader/i386/linux.c: Likewise.
11435
11436 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11439 sentence.
11440 Reported by: Milo Casagrande.
11441
11442 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11445 * grub-core/commands/gptsync.c: Likewise.
11446 * grub-core/commands/hashsum.c: Likewise.
11447 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11448 * grub-core/commands/legacycfg.c: Likewise.
11449 * grub-core/io/gzio.c: Likewise.
11450 * grub-core/net/net.c: Likewise.
11451 * grub-core/term/gfxterm.c: Likewise.
11452 * grub-core/term/terminfo.c: Likewise.
11453 * grub-core/tests/test_blockarg.c: Likewise.
11454 * grub-core/video/video.c: Likewise.
11455 * util/grub-install.in: Likewise.
11456 * util/grub-mkfont.c: Likewise.
11457
11458 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11461
11462 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * grub-core/commands/search_wrap.c (options): Fix a typo.
11465 Reported by: David Prévot.
11466
11467 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11470 description.
11471
11472 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * util/grub-script-check.c (main): Fix a syntax error message which was
11475 unclear.
11476
11477 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11480
11481 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11484 messages.
11485
11486 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11489 without argument.
11490 * util/grub-mount.c (options): Likewise.
11491
11492 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11495
11496 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * grub-core/net/http.c: Add TRANSLATORS comments.
11499 * grub-core/normal/cmdline.c: Likewise.
11500 * grub-core/normal/misc.c: Likewise.
11501 * grub-core/partmap/msdos.c: Likewise.
11502 * grub-core/parttool/msdospart.c: Likewise.
11503 * grub-core/script/execute.c: Likewise.
11504 * grub-core/script/main.c: Likewise.
11505 * grub-core/term/terminfo.c: Likewise.
11506 * grub-core/video/bitmap.c: Likewise.
11507 * util/grub-install.in: Likewise.
11508 * util/grub-mkimage.c: Likewise.
11509 * util/grub-mklayout.c: Likewise.
11510 * util/grub-setup.c: Likewise.
11511
11512 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11515 with similar messages in grub-fstest.
11516
11517 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 * util/grub-install.in: Unify "option requires an argument" message
11520 with similar messages in other files.
11521 * util/grub-mkconfig.in: Likewise.
11522
11523 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * util/grub-set-default.in: Replace printf with gettext_printf (the
11526 string in in question is already translated from grub-reboot)
11527
11528 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * configure.ac: Bump up the version to beta1.
11531
11532 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11535 case when min_align = 0.
11536
11537 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11540 and fix a case when line_start overflows.
11541
11542 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * util/grub-reboot.in (usage): Mention id posibility.
11545 * util/grub-set-default.in (usage): Likewise.
11546
11547 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11550 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11551 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11552 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11553 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11554 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11555 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11556
11557 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 * grub-core/commands/menuentry.c (options): Remove
11560 GRUB_ARG_OPTION_REPEATABLE.
11561 Reported by: Andreas Vogel
11562
11563 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11564
11565 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11566
11567 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11568
11569 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11570 error.
11571
11572 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 Use sort -V by the idea of Georgi Georgiev.
11575
11576 * util/grub-mkconfig_lib.in (version_sort): New function.
11577 (version_test_numeric): Use version_sort.
11578
11579 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 Use submenus in grub-mkconfig.
11582
11583 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11584 * util/grub-mkconfig_lib.in (grub_quote): New function.
11585 (gettext_printf): Use gettext and not gettext_quoted to fix several
11586 messages.
11587 * util/grub.d/10_hurd.in: Use submenus.
11588 * util/grub.d/10_kfreebsd.in: Likewise.
11589 * util/grub.d/10_linux.in: Likewise.
11590 * util/grub.d/10_netbsd.in: Likewise.
11591 * util/grub.d/20_linux_xen.in: Likewise.
11592 * util/grub.d/30_os-prober.in: Likewise.
11593 * util/grub.d/10_illumos.in: Add missing quoting.
11594 * util/grub.d/10_windows.in: Likewise.
11595
11596 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 Fix menu title instability bug.
11599
11600 * grub-core/commands/menuentry.c (options): New option --id.
11601 (grub_normal_add_menu_entry): New argument id. All users updated.
11602 (grub_cmd_menuentry): Handle --id.
11603 (grub_menu_init): Accept unknown arguments.
11604 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11605 feature_menuentry_options.
11606 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11607 saved_entry.
11608 (get_entry_number): Match with id as well.
11609 * include/grub/menu.h (grub_menu_entry): New member id.
11610 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11611 * util/grub.d/00_header.in: Define menuentry_id_option.
11612 * util/grub.d/10_hurd.in: Define id.
11613 * util/grub.d/10_illumos.in: Likewise.
11614 * util/grub.d/10_kfreebsd.in: Likewise.
11615 * util/grub.d/10_linux.in: Likewise.
11616 * util/grub.d/10_netbsd.in: Likewise.
11617 * util/grub.d/10_windows.in: Likewise.
11618 * util/grub.d/20_linux_xen.in: Likewise.
11619 * util/grub.d/30_os-prober.in: Likewise.
11620
11621 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11624 "scope" with "body".
11625
11626 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11629 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11630 prot_size and prot_file_size.
11631
11632 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11635 All users updated. If easily=1 require raid-5/-6 to be full.
11636 (is_node_readable): Likewise.
11637 (scan_devices): Scan incomplete but readable LVs at the end.
11638 (grub_diskfilter_memberlist): Pull missing devices.
11639 (insert_array): Skip scanning until device is complete or scan is
11640 done otherwise.
11641 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11642 check.
11643 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11644 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11645
11646 2012-03-03 Matthew Garrett <mjg@redhat.com>
11647 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 Avoid EFI boot services when loading Linux.
11650
11651 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11652 avoid_efi_bootservices. All users updated.
11653 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11654 argument avoid_efi_bootservices. All users updated.
11655 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11656 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11657 align, min_align, relocatable, prefered_address. All users updated.
11658 Allocate avoiding boot services if kernel is relocatable.
11659 (grub_cmd_linux): Check if kernel is relocatable.
11660 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11661 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11662 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11663 avoid_efi_boot_services.
11664 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11665 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11666 (linux_kernel_params): Likewise.
11667
11668 2012-03-03 Matthew Garrett <mjg@redhat.com>
11669 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 Use EDID on EFI.
11672
11673 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11674 datasize_out.
11675 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11676 modes. Set gop_handle.
11677 (grub_video_gop_get_edid): New function.
11678 (grub_gop_get_preferred_mode): Likewise.
11679 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11680 (grub_video_efi_gop_adapter): Set .get_edid.
11681 * include/grub/efi/edid.h: New file.
11682 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11683
11684 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * util/grub-install.in: Load efivars unconditionally.
11687
11688 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * po/Rules-piglatin: Change suffix from .po-update-en to
11691 .po-update-en-piglatin.
11692
11693 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 Add a pig farm.
11696
11697 * po/piglatin.sed: New file.
11698 * po/en@piglatin.header: Likewise.
11699 * po/Rules-piglatin: Likewise.
11700 * po/README: Add en@piglatin to autogenerated languages.
11701
11702 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11705 "Command for ...".
11706 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11707 "Check" since we don't check anything.
11708 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11709 is 64-bit one.
11710 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11711 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11712 (grub_md_sha512_real): Likewise.
11713
11714 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * grub-core/commands/gptsync.c: Fix typographic quoting.
11717 * grub-core/commands/ieee1275/suspend.c: Likewise.
11718 * grub-core/commands/parttool.c: Likewise.
11719 * grub-core/commands/search_wrap.c: Likewise.
11720 * grub-core/commands/videoinfo.c: Likewise.
11721 * grub-core/gfxmenu/gui_label.c: Likewise.
11722 * grub-core/hello/hello.c: Likewise.
11723 * grub-core/kern/emu/main.c: Likewise.
11724 * grub-core/net/net.c: Likewise.
11725 * grub-core/normal/menu.c: Likewise.
11726 * grub-core/normal/menu_text.c: Likewise.
11727 * grub-core/normal/misc.c: Likewise.
11728 * util/grub-editenv.c: Likewise.
11729 * util/grub-install.in: Likewise.
11730 * util/grub-kbdcomp.in: Likewise.
11731 * util/grub-mkconfig.in: Likewise.
11732 * util/grub-mknetdir.in: Likewise.
11733 * util/grub-mkrescue.in: Likewise.
11734 * util/grub-mkstandalone.in: Likewise.
11735 * util/grub-reboot.in: Likewise.
11736 * util/grub-set-default.in: Likewise.
11737 * util/grub-setup.c: Likewise.
11738 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11739
11740 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11743 * grub-core/commands/keystatus.c: Likewise.
11744 * grub-core/commands/loadenv.c: Likewise.
11745 * grub-core/commands/probe.c: Likewise.
11746 * grub-core/commands/regexp.c: Likewise.
11747 * grub-core/commands/true.c: Likewise.
11748 * grub-core/commands/videoinfo.c: Likewise.
11749 * grub-core/disk/cryptodisk.c: Likewise.
11750 * grub-core/disk/ldm.c: Likewise.
11751 * grub-core/disk/loopback.c: Likewise.
11752 * grub-core/disk/luks.c: Likewise.
11753 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11754 * grub-core/kern/disk.c: Likewise.
11755 * grub-core/kern/emu/hostdisk.c: Likewise.
11756
11757 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11760 * util/grub-install.in: Add missing quote in the comment.
11761
11762 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11765 * grub-core/commands/lsmmap.c: Likewise.
11766 * grub-core/commands/minicmd.c: Likewise.
11767 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11768 * grub-core/commands/regexp.c: Likewise.
11769 * grub-core/gdb/gdb.c: Likewise.
11770 * grub-core/term/gfxterm.c: Likewise.
11771 * util/grub-mkconfig.in: Likewise.
11772 * util/grub-mkfont.c: Likewise.
11773 * util/grub-mklayout.c: Likewise.
11774 * util/grub-mknetdir.in: Likewise.
11775 * util/grub-mkrescue.in: Likewise.
11776 * util/grub.d/30_os-prober.in: Likewise.
11777
11778 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11781 with "Direct color" and "Packed" with "Packed pixel".
11782 (grub_cmd_videoinfo): Simplify legend.
11783
11784 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11787 absolutely unclear error message.
11788
11789 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * util/grub-mkstandalone.in: Remove confusing leftover print.
11792
11793 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11796 comments.
11797 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11798 (GRUB_MOD_INIT): Likewise.
11799 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11800 VGA mode.
11801 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11802 comments.
11803 * util/grub-install.in (usage): Likewise.
11804 Spell ID in whole letters.
11805 Add missing ending dot.
11806 Quote variables.
11807 * util/grub-reboot.in: Fix capitalisation.
11808 * util/grub-set-default.in: Likewise.
11809
11810 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11813 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11814 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11815 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11816 Disable -Werror for -Wdeprecated-declarations.
11817 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11818 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11819 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11820 (grub_util_get_grub_dev): Make luks handling dependent on
11821 HAVE_DEVICE_MAPPER and not __linux__.
11822 (get_win32_path): Fix format security.
11823 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11824 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11825 Don't try grub_find_zpool_from_dir.
11826 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11827 #ifdef-out paresdir.
11828
11829 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11830
11831 * util/grub-pe2elf.c (usage): Add missing noreturn.
11832 (write_section_data): Rename name to shname to avoid shadowing.
11833 (write_symbol_table): Rename name to symname to avoid shadowing.
11834 Fix write_reloc_section call.
11835
11836 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11839 to ensure that it's after the last byte of .text.
11840
11841 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * util/ieee1275/ofpath.c (my_isdigit): New function.
11844 (trailing_digits): Use my_isdigit.
11845 (strip_trailing_digits): Likewise.
11846
11847 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11850 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11851
11852 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * grub-core/kern/i386/pc/startup.S: Define __start.
11855
11856 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11859 strip already transforms he format.
11860
11861 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11864
11865 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * util/grub-install.in: Add missing gettext init.
11868 * util/grub-kbdcomp.in: Likewise.
11869 * util/grub-mkconfig.in: Likewise.
11870 * util/grub-mknetdir.in: Likewise.
11871 * util/grub-mkrescue.in: Likewise.
11872 * util/grub-mkstandalone.in: Likewise.
11873 * util/grub-reboot.in: Likewise.
11874 * util/grub-set-default.in: Likewise.
11875 * util/grub.d/00_header.in: Likewise.
11876 * util/grub.d/10_hurd.in: Likewise.
11877 * util/grub.d/10_windows.in: Likewise.
11878 * util/grub.d/30_os-prober.in: Likewise.
11879 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11880
11881 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 * po/Rules-swiss: Fix header comment.
11884
11885 2012-02-29 Andreas Vogel <anvoit>
11886
11887 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11888 resulted in leak of arguments.
11889
11890 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11893 reed_solomon_size const definition instead of computing it since
11894 Apple assembler doesn't support the later.
11895
11896 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * gentpl.py (kernel): Rewrite Apple part.
11899
11900 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11903
11904 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11907 ELF section gap.
11908 (load_image): Likewise.
11909
11910 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * configure.ac: Fix a typo in previous commit.
11913
11914 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 Don't add -Wl,-N on Apple platform.
11917
11918 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11919 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11920
11921 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/Makefile.core.def (lzma_decompress): Use
11924 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11925
11926 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/genmod.sh.in: Rewrite the Apple part.
11929
11930 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11931
11932 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11933 comparison.
11934
11935 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 * acinclude.m4 (grub_CHECK_PIC): New test.
11938 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11939
11940 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11943 to avoid the warning.
11944
11945 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11948 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11949 after. All users updated.
11950
11951 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 Use the common size routine in hostfs so we can read disks as well.
11954
11955 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11956 (grub_util_get_fd_size): ... this. Return size in bytes.
11957 All users updated.
11958 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11959 grub_util_get_fd_size.
11960
11961 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11964 Add blocksize retrieval.
11965
11966 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * configure.ac: Restore CFLAGS after efiemu check.
11969
11970 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11973 Apple bug.
11974
11975 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11978
11979 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11982 (grub_cmd_halt): Likewise.
11983
11984 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11987 for local arithmetics.
11988 Break %sp init into 2 instructions.
11989 Add 0 byte at the end.
11990
11991 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11994 before loops.
11995
11996 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11999 for context.
12000
12001 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * grub-core/disk/ldm.c (make_vg): Init part.name.
12004 (grub_ldm_detect): Silence spurious warning.
12005 (grub_util_is_ldm): Likewise.
12006
12007 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
12010 sane value to avoid a spurious warning.
12011
12012 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
12015 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
12016
12017 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
12020 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
12021
12022 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
12025 hardcoding the relevant info.
12026
12027 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
12030 missing const qualifiers.
12031 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
12032
12033 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 * util/getroot.c [__APPLE__]: Add missing includes.
12036 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
12037
12038 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * util/grub-mkimage.c (generate_image): Silence spurious warning.
12041
12042 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
12045 avoid conflicts.
12046
12047 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
12050
12051 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
12054 and grub_file_close call.
12055
12056 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 Add LZSS Mach-O support (needed for new xnu kernelcache).
12059
12060 * grub-core/Makefile.core.def (xnu): Add file lzss.c
12061 * grub-core/loader/lzss.c: New file.
12062 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
12063 on Mach-O open failure.
12064 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
12065 Don't free cmdsXX in uncompressedXX is set.
12066 (grub_macho_file): Init new fields.
12067 New argument is_64bit. All users updated.
12068 Handle compressed. Error out if no suitable architecture is found.
12069 Don't close file.
12070 (grub_macho_open): New argument is_64bit. All users updated.
12071 * grub-core/loader/macho32.c: Add defines for new fields.
12072 * grub-core/loader/macho64.c: Likewise.
12073 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
12074 (grub_macho_parse): Handle compressed.
12075 Defer actual processing if compressed.
12076 (grub_macho_cmds_iterate): Decompress if compressed. New argument
12077 "filename". All users updated.
12078 (grub_macho_size): New argument "filename". All users updated.
12079 (grub_macho_get_entry_point): Likewise.
12080 (grub_macho_load): Handle compressed.
12081 * include/grub/macho.h (grub_macho_lzss_header): New struct.
12082 (GRUB_MACHO_LZSS_OFFSET): New define.
12083 (grub_decompress_lzss): New proto.
12084 * include/grub/machoload.h (grub_macho_file): New fields to handle
12085 compressed.
12086 (grub_macho_contains_macho64): Remove proto.
12087 (grub_macho_contains_macho32): Likewise.
12088 * util/grub.d/30_os-prober.in: Use kernel cache if available.
12089
12090 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
12093
12094 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 Fix make dist.
12097
12098 * Makefile.am (starfield_theme_files): New var.
12099 (starfield_DATA): Use starfield_theme_files.
12100 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
12101 Add bootcheck-related files.
12102 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
12103 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
12104 and font_char_metrics.txt.
12105 * grub-core/Makefile.core.def (kernel): Update extra_dist.
12106 (setjmp): Add lib/ia64/longjmp.S.
12107 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
12108 * po/POTFILES.in: Regenerate.
12109 * po/Rules-swiss: use DISTFILES.common.extra2 and not
12110 DISTFILES.common.extra1.
12111 * util/devicemap.c: Removed.
12112 * grub-core/lib/i386/relocator_backward.S: Likewise.
12113 * util/import_gcry.py: Remove unused files. Add extra_dist for
12114 ChangeLog.
12115
12116 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * grub-core/gettext/gettext.c (grub_mofile_open): Call
12119 grub_gettext_delete_list before changing grub_gettext_max to avoid
12120 running out of array bounds.
12121
12122 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
12125 grub_vga_text_init/grub_vga_text_fini.
12126
12127 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
12130
12131 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * configure.ac: Bump to 2.00~beta0.
12134
12135 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12138 missing initialisation.
12139
12140 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12143
12144 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 Support v2 xnu boot arguments.
12147
12148 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12149 New argument fsbfreq_out.
12150 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12151 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12152 be used.
12153 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12154 darwin_version.
12155 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12156 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12157 (grub_xnu_boot_params): Rename to ...
12158 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12159 (grub_xnu_boot_params_v2): New struct.
12160
12161 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12164 zeroing of CRC field before computing CRC.
12165
12166 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12169 Change order of allocations to decrease fragmentation.
12170
12171 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12174
12175 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12176
12177 Use write-combining MTRR to speed up video with buggy BIOSes.
12178
12179 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12180 (cpuid): New define.
12181 (rdmsr): Likewise.
12182 (wrmsr): Likewise.
12183 (mtrr_base): Likewise.
12184 (mtrr_mask): Likewise.
12185 (grub_vbe_enable_mtrr_entry): New function.
12186 (grub_vbe_enable_mtrr): Likewise.
12187 (grub_vbe_disable_mtrr): Likewise.
12188 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12189 control off to BIOS.
12190 (grub_video_vbe_init): Fill mtrr.
12191 (grub_video_vbe_fini): Disable mtrr.
12192 (grub_video_vbe_get_info_and_fini): Likewise.
12193 (grub_video_vbe_setup): Enable mtrr.
12194
12195 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12196
12197 * include/grub/partition.h (grub_partition_map): Change prototype of
12198 embed to take a maximum value for nsectors.
12199 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12200 * include/grub/fs.h (grub_fs): Likewise.
12201 * grub-core/partmap/msdos.c (embed_signatures): New array.
12202 (pc_partition_map_embed): Check for and avoid sectors matching any
12203 of the signatures in embed_signatures, up to max_nsectors.
12204 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12205 returned sector map to max_nsectors.
12206 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12207 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12208 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12209 * util/grub-setup.c (setup): Allow for the embedding area being
12210 split into multiple blocklists. Tell dest_partmap->embed the
12211 maximum number of sectors we care about.
12212
12213 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12216 Specify blocklist_install and reserver_first_sector for all fs.
12217 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12218 blocklists.
12219
12220 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12221
12222 * util/grub-install.in: Clarify strings.
12223 Fix source dir check.
12224
12225 2012-02-27 Richard Laager <rlaager@wiktel.com>
12226
12227 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12228 "zfs" and "fuse.zfs" as synonyms.
12229
12230 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * configure.ac: Put platform and target_cpu substitutions back since
12233 they are used for directories.
12234
12235 2012-02-27 Richard Laager <rlaager@wiktel.com>
12236 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12239 * util/grub.d/20_linux_xen.in: Likewise.
12240
12241 2012-02-27 Richard Laager <rlaager@wiktel.com>
12242
12243 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12244 with full paths.
12245
12246 2012-02-27 Richard Laager <rlaager@wiktel.com>
12247
12248 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12249 unescape.
12250
12251 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 Don't use insecure popen in getroot.
12254
12255 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12256 (exec_pipe): ... here.
12257 (find_root_devices_from_poolname): Use exec_pipe.
12258
12259 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 Remove platform and target_cpu replacement.
12262
12263 * configure.ac: Remove platform and target_cpu substitutions.
12264 * tests/util/grub-shell.in: Use modinfo.
12265 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12266 explicitly.
12267
12268 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 Autodetect platform in grub-install but allow override.
12271
12272 * util/grub-install.in: Autodetect platform. Support --target and
12273 --directory. Read platform from modinfo.sh.
12274
12275 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12276
12277 Support btrfs multi-volume probe.
12278
12279 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12280 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12281 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12282 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12283 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12284 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12285 grub_find_root_devices_from_btrfs if on btrfs.
12286
12287 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 Remove any awareness of *.c util files about target.
12290
12291 * Makefile.util.def (grub-setup): Split to ...
12292 (grub-bios-setup): ... and this.
12293 (grub-sparc64-setup): ... and this.
12294 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12295 * docs/man/grub-setup.h2m: Split into ...
12296 * docs/man/grub-sparc64-setup.h2m: ... this.
12297 * docs/man/grub-bios-setup.h2m: ... and this.
12298 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12299 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12300 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12301 (grub_target_addr_t): Remove.
12302 (grub_target_size_t): Remove.
12303 (grub_target_ssize_t): Remove.
12304 * util/grub-install.in: Use new grub-*-setup.
12305 * util/grub-mkimagexx.c (Elf_Word): New define.
12306 (Elf_Half): Likewise.
12307 (Elf_Section): Likewise.
12308 (ELF_ST_TYPE): Likewise.
12309 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12310 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12311
12312 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12313
12314 Replace grub_target_addr with more appropriate types.
12315
12316 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12317 grub_target_addr with grub_addr.
12318 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12319 grub_target_addr with grub_port.
12320 (grub_cmd_write): Likewise.
12321 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12322 grub_target_addr with grub_addr.
12323 (grub_cmd_write): Likewise.
12324 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12325
12326 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12329 const qualifier for vendor_guid.
12330
12331 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12334 const qualifier.
12335 (efiemu_memequal): Likewise.
12336 (find_variable): Likewise.
12337
12338 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 Fix missing console prototype on qemu-mips.
12341
12342 * include/grub/mips/qemu_mips/console.h: New file.
12343
12344 2012-02-27 Matthew Garrett <mjg@redhat.com>
12345 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12348 * include/grub/efi/efi.h: Likewise.
12349 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12350 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12351 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12352 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12353 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12354 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12355
12356 2012-02-27 Matthew Garrett <mjg@redhat.com>
12357
12358 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12359
12360 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12363 error.
12364
12365 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * configure.ac: Remove inappropriate use of program_transform_name
12368 on grubdir and bootdir but allow explicit specification of those
12369 variables.
12370
12371 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * util/grub-mknetdir.in (grub_prefix): Removed.
12374 (subdir): Use @bootdirname@ and @grubdirname@.
12375
12376 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12379
12380 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * po/POTFILES.in: Regenerated.
12383
12384 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 Remove improper use of program_transform_name on pkglibrootdir.
12387
12388 * configure.ac (pkglibrootdir): Removed.
12389 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12390 * util/grub-mkimage.c: Likewise.
12391
12392 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12395 warning.
12396
12397 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 * util/grub-install.in: Use file identifier if no UUID is available
12400 or user explicitly prompted for it.
12401
12402 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
12403
12404 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12405 (freebsd_get_zfs): New function.
12406 (grub_freebsd_boot): Pass zfs UUID.
12407 (grub_cmd_freebsd): Set zfs UUID.
12408
12409 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12412 pkglibrootdir.
12413
12414 2012-02-27 Mike Gilbert <floppym@gentoo.org>
12415
12416 Add configure flag to control libzfs integration.
12417
12418 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12419
12420 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12423 device.
12424 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12425 small devices.
12426
12427 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12428
12429 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12430 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12431 be used on non-modules.
12432
12433 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12434 Rename to grub_boot_init.
12435 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12436 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12437 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12438 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12439 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12440 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12441 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12442 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12443 includes.
12444 (grub_machine_init): Remove empty inits.
12445 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12446 includes.
12447 (grub_machine_init): Remove empty inits.
12448 * grub-core/term/arc/console.c: Remove explicit proto.
12449 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12450 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12451 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12452 grub_at_keyboard_fini.
12453 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12454 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12455 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12456 grub_gfxterm_fini.
12457 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12458 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12459 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12460 grub_vgatext_fini.
12461 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12462 * grub-core/term/serial.c (GRUB_MOD_INIT)
12463 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12464 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12465 grub_serial_fini.
12466 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12467 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12468 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12469 grub_terminfo_fini.
12470 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12471 (GRUB_MOD_FINI): Likewise.
12472 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12473 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12474 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12475 grub_video_radeon_fuloong2e_fini.
12476 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12477 [LOONGSON]: Rename to grub_video_sis315pro_init.
12478 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12479 grub_video_sis315pro_fini.
12480 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12481 [LOONGSON]: Rename to grub_video_sm712_init.
12482 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12483 grub_video_sm712_fini.
12484 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12485 (grub_at_keyboard_fini): Likewise.
12486 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12487 Don't declare grub_{modname}_init.
12488 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12489 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12490 New proto.
12491 (grub_keylayouts_fini) [!EMU]: Likewise.
12492 * include/grub/serial.h (grub_serial_init) [!EMU]:
12493 New proto.
12494 (grub_serial_fini) [!EMU]: Likewise.
12495 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12496 New proto.
12497 (grub_terminfo_fini) [!EMU]: Likewise.
12498 * include/grub/video.h (grub_font_init) [!EMU]:
12499 New proto.
12500 (grub_font_fini) [!EMU]: Likewise.
12501 (grub_gfxterm_init) [!EMU]: Likewise.
12502 (grub_gfxterm_fini) [!EMU]: Likewise.
12503 (grub_video_sm712_init) [!EMU]: Likewise.
12504 (grub_video_sm712_fini) [!EMU]: Likewise.
12505 (grub_video_sis315pro_init) [!EMU]: Likewise.
12506 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12507 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12508 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12509
12510 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 Make nand a prefix for nand devices.
12513
12514 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12515
12516 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12517
12518 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12519 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12520
12521 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12522
12523 * include/grub/env.h (grub_env_find): Remove prototype.
12524 * grub-core/kern/env.c (grub_env_find): Make static.
12525 (grub_env_set): Remove useless set.
12526
12527 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/kern/i386/realmode.S: Remove useless align.
12530
12531 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 * include/grub/dl.h (grub_dl_load_file): Don't export.
12534
12535 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12538 grub_dprintf.
12539
12540 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12543 grub_errors.
12544 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12545 not reloading whole superblock but only the part which is really needed.
12546 Remove useless grub_errors.
12547 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12548 grub_errors.
12549
12550 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 Don't export grub_get_rtc.
12553
12554 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12555 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12556
12557 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12560
12561 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
12564 argument since it can be deduced from diskfilter. All users updated.
12565
12566 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12567
12568 Remove prio_list.
12569
12570 * include/grub/list.h (grub_prio_list): Removed.
12571 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12572 GRUB_COMMAND_PRIO_MASK.
12573 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12574 GRUB_COMMAND_FLAG_ACTIVE.
12575 (grub_prio_list_insert): Removed.
12576 (grub_prio_list_remove): Likewise.
12577 (GRUB_AS_PRIO_LIST): Likewise.
12578 (GRUB_AS_PRIO_LIST_P): Likewise.
12579 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12580 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12581 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12582 * grub-core/kern/command.c (grub_register_command_prio): Inline
12583 the prio_list code.
12584 (grub_unregister_command): Likewise.
12585
12586 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 Fix interrupt mixup from previous commit.
12589
12590 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12591 (grub_realidt): New var.
12592 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12593 Load idt.
12594 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12595 New declaration.
12596 (grub_relocator16_boot): Set grub_relocator16_idt.
12597 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12598 (LOCAL(realidt)): ... this.
12599 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12600 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12601 (grub_realidt): New variable.
12602
12603 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12606 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12607 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12608 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12609 Gettextize.
12610 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12611 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12612 * po/POTFILES.in: Regenerate.
12613
12614 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12617 errors.
12618
12619 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12622 \0.
12623 (add_length): Likewise.
12624
12625 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12626 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12627
12628 GDB serial and backtrace support.
12629
12630 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12631 (prot_to_real): Likewise.
12632 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12633 * grub-core/Makefile.core.def (backtrace): New module.
12634 (gdb): Likewise.
12635 * grub-core/gdb/cstub.c: New file.
12636 * grub-core/gdb/gdb.c: Likewise.
12637 * grub-core/gdb/i386/idt.c: Likewise.
12638 * grub-core/gdb/i386/machdep.S: Likewise.
12639 * grub-core/gdb/i386/signal.c: Likewise.
12640 * grub-core/lib/i386/backtrace.c: Likewise.
12641 * grub-core/lib/backtrace.c: Likewise.
12642 * include/grub/backtrace.h: Likewise.
12643 * include/grub/gdb.h: Likewise.
12644 * include/grub/i386/gdb.h: Likewise.
12645
12646 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12649 New function.
12650 (add_length): Likewise.
12651 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12652 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12653 proto.
12654 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12655 __argp_get_display_len.
12656
12657 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 $"..." support in scripts.
12660
12661 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12662 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12663 * grub-core/script/yylex.l: Likewise.
12664 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12665 value.
12666
12667 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 * gentpl.py: Remove obsolete pkglib_DATA handling.
12670
12671 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12674 mailing list.
12675
12676 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12677 * util/grub-kbdcomp.in: Likewise.
12678 * util/grub-mkconfig.in: Likewise.
12679 * util/grub-mkconfig_lib.in: Likewise.
12680 * util/grub-mknetdir.in: Likewise.
12681 * util/grub-mkrescue.in: Likewise.
12682 * util/grub-mkstandalone.in: Likewise.
12683 * util/grub-reboot.in: Likewise.
12684 * util/grub-set-default.in: Likewise.
12685 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12686
12687 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 Remove GRUB_PREFIX.
12690
12691 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12692 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12693 used for backward compatibility.
12694
12695 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 Add new all_video module.
12698
12699 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12700 * grub-core/Makefile.core.def (all_video): New module.
12701 * grub-core/genmoddep.awk: Generate dependency of all_video from
12702 video.lst.
12703 * grub-core/lib/fake_module.c: New file.
12704 * grub-core/normal/main.c (features): Add feature_all_video_module.
12705 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12706 don't do explicit search again.
12707 insmod all_video in load_video if available.
12708
12709 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 Another round of string clarification and adding TRANSLATORS comments.
12712
12713 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12716
12717 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12720 to grub_ssize_t.
12721 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12722 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12723
12724 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12727 trailing newline implicitly. All users updated.
12728
12729 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 Implement serial on IEEE1275 and EFI.
12732
12733 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12734 on emu. Mention arc and emu as the only platforms without serial
12735 support.
12736 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12737 ieee1275 platforms.
12738 * grub-core/term/efi/serial.c: New file.
12739 * grub-core/term/ieee1275/serial.c: Likewise.
12740 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12741 specification if no ns8250 driver is available.
12742 (grub_cmd_serial): Likewise.
12743 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12744 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12745 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12746 (grub_efi_parity_type_t): New type.
12747 (grub_efi_stop_bits_t): Likewise.
12748 (grub_efi_serial_io_interface): New struct.
12749 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12750 available for all interfaces.
12751 Add EFI and IEEE1275 fields.
12752 (grub_ofserial_init): New proto.
12753 (grub_efiserial_init): Likeiwse.
12754 * util/grub.d/00_header.in: Don't check for the presence of serial
12755 module.
12756
12757 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12760 name as if it was an alias.
12761
12762 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * grub-core/commands/lsacpi.c (options): Fix typo.
12765
12766 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 Convert grub-emu to argp.
12769
12770 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12771 emu.
12772 * util/argp_common.c: Rename to ...
12773 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12774 Add missing includes.
12775 * grub-core/kern/emu/main.c: Convert to argp.
12776 * po/POTFILES.in: Regenerate.
12777 * util/grub-install.in (usage): Make first letter lowcase in messages
12778 for uniformity.
12779 * util/grub-setup.c (options): Likewise.
12780
12781 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12784 Put back accidently commented-out code.
12785
12786 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12789 loop check using Brent algorithm.
12790 (grub_hfsplus_btree_search): Likewise.
12791
12792 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 * util/grub-install.in: Fix usage of wrong device for PreP install.
12795
12796 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * conf/Makefile.common (CFLAGS_GNULIB): Add
12799 -Wno-unsafe-loop-optimizations.
12800 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12801 on tools.
12802 * grub-core/commands/legacycfg.c: Add pragma to skip
12803 -Wunsafe-loop-optimizations.
12804 (check_password_md5_real): Fix loop counter type.
12805 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12806 reading.
12807 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12808 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12809 loop condition.
12810 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12811 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12812 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12813 condition.
12814 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12815 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12816 avoid possible infinite loops.
12817 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12818 and -Wunsafe-loop-optimizations.
12819 * grub-core/script/yylex.l: Likewise.
12820 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12821 (print_glyphs): Avoid infinite loops.
12822 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12823
12824 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12825
12826 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12827 to avoid infinite loop.
12828 (disp_acpi_rsdt_table): Likewise.
12829
12830 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/font/font.c (grub_font_load): Add support for default
12833 path for fonts ($prefix/fonts).
12834 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12835 for checking if string is a path.
12836 * grub-core/normal/main.c (features): Add feature_default_font_path.
12837 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12838 * util/grub.d/00_header.in: Use default directory if possible.
12839 * util/grub-install.in: Install unicode.pf2.
12840
12841 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12844 * po/Rules-swiss: New file.
12845 * po/swiss.sed: Likewise.
12846
12847 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 * grub-core/fs/btrfs.c (find_device): Fix typos.
12850 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12851 * util/grub-mkrelpath.c (argp_parser): Likewise.
12852 Reported by: Yuri Chornoivan.
12853
12854 2012-02-23 Dalet Omega <daletomega@gmail.com>
12855
12856 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12857 for usual informative messages.
12858
12859 2012-02-23 Dalet Omega <daletomega@gmail.com>
12860
12861 Starfield theme.
12862
12863 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12864 * conf/Makefile.common: Define starfielddir.
12865 * configure.ac: Configure starfield.
12866 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12867 * themes/starfield/README: Likewise.
12868 * themes/starfield/blob_w.png: Likewise.
12869 * themes/starfield/boot_menu_c.png: Likewise.
12870 * themes/starfield/boot_menu_e.png: Likewise.
12871 * themes/starfield/boot_menu_n.png: Likewise.
12872 * themes/starfield/boot_menu_ne.png: Likewise.
12873 * themes/starfield/boot_menu_nw.png: Likewise.
12874 * themes/starfield/boot_menu_s.png: Likewise.
12875 * themes/starfield/boot_menu_se.png: Likewise.
12876 * themes/starfield/boot_menu_sw.png: Likewise.
12877 * themes/starfield/boot_menu_w.png: Likewise.
12878 * themes/starfield/slider_c.png: Likewise.
12879 * themes/starfield/slider_n.png: Likewise.
12880 * themes/starfield/slider_s.png: Likewise.
12881 * themes/starfield/src/blob_nw.xcf: Likewise.
12882 * themes/starfield/src/bootmenu/: Likewise.
12883 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12884 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12885 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12886 * themes/starfield/src/slider_c.xcf: Likewise.
12887 * themes/starfield/src/slider_n.xcf: Likewise.
12888 * themes/starfield/src/slider_s.xcf: Likewise.
12889 * themes/starfield/src/terminalbox/: Likewise.
12890 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12891 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12892 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12893 * themes/starfield/starfield.png: Likewise.
12894 * themes/starfield/terminal_box_c.png: Likewise.
12895 * themes/starfield/terminal_box_e.png: Likewise.
12896 * themes/starfield/terminal_box_n.png: Likewise.
12897 * themes/starfield/terminal_box_ne.png: Likewise.
12898 * themes/starfield/terminal_box_nw.png: Likewise.
12899 * themes/starfield/terminal_box_s.png: Likewise.
12900 * themes/starfield/terminal_box_se.png: Likewise.
12901 * themes/starfield/terminal_box_sw.png: Likewise.
12902 * themes/starfield/terminal_box_w.png: Likewise.
12903 * themes/starfield/theme.txt: Likewise.
12904
12905 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * util/grub.d/00_header.in: Add missing export theme.
12908
12909 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12912 already included.
12913 Reported by: Eren D.
12914
12915 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * conf/Makefile.common (grubdatadir): Removed.
12918 (Makefile.am): Move eveything grubdata to pkgdata.
12919
12920 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 * grub-core/commands/acpihalt.c (get_sleep_type):
12923 Remove unused variable.
12924
12925 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12928 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12929 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12930 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12931 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12932 i18n with gettext no-op.
12933 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12934 GRUB_ACPI_OPCODE_STRING_CONST.
12935 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12936 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12937
12938 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * po/POTFILES.in: Regenerate.
12941
12942 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12945 -Wno-error=missing-noreturn.
12946
12947 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12950 condition to avoid possibly infinite loops.
12951 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12952 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12953
12954 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12957 condition to avoid possibly infinite loops.
12958
12959 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12962 on show_error.
12963
12964 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12967
12968 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12971
12972 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * util/bin2h.c (usage): Add missing attribute noreturn.
12975
12976 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12977
12978 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12979 if the size isn't divisible by 512.
12980
12981 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 Make list_push and list_remove functions rather than inline functions
12984 to decrease size and avoid aliasing violations.
12985
12986 * include/grub/list.h (grub_list_push): Move to ...
12987 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12988 * include/grub/list.h (grub_list_remove): Move to ...
12989 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12990
12991 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12994 and -Wunused-result.
12995
12996 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12999 Reported by: Seth Goldberg
13000
13001 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
13004
13005 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
13006
13007 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
13008 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
13009 command line.
13010 * docs/grub.texi (Simple configuration): Document
13011 GRUB_CMDLINE_GNUMACH.
13012
13013 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * conf/Makefile.common (platform_SCRIPTS): New variable.
13016 (platform_PROGRAMS): Likewise.
13017 * gentpl.py: Mark *,module and *.image for install.
13018 * grub-core/gdb_grub.in: Add a notice of expected environment.
13019 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
13020 (gmodule.pl): Likewise.
13021
13022 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 Replace grub_checkkey with grub_getkey_noblock.
13025
13026 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
13027 (grub_getkey_noblock): ... this. All users updated.
13028
13029 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * grub-core/kern/emu/console.c: Move to ...
13032 * grub-core/term/emu/console.c: ...here.
13033 (grub_ncurses_getkey): Fix return value if no key is detected.
13034
13035 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
13038 (grub_unit_test_fini): Likewise.
13039 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
13040
13041 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * include/grub/test.h (GRUB_UNIT_TEST)
13044
13045 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 * grub-core/script/execute.c (grub_script_break): Clarify logic.
13048 Better error handling.
13049 (grub_script_return): Likewise.
13050 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13051
13052 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
13055 rimplicit redifinition.
13056
13057 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13058
13059 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
13060 GRUB.
13061
13062 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
13065 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
13066 prompt here.
13067
13068 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
13071 as GRUB_ERR_BUG. Don't malloc if no device is available.
13072
13073 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
13076 Mark calling with invalid term as GRUB_ERR_BUG.
13077
13078 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
13081 packets rather than raising an error.
13082
13083 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
13086 in if.
13087
13088 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
13091 diagnostic to dprintf.
13092 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13093
13094 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
13097 device name.
13098
13099 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
13102 (grub_ntfs_iterate_dir): Likewise.
13103
13104 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 Efiemu stylistic fixes and gettext.
13107
13108 * grub-core/efiemu/i386/loadcore32.c
13109 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
13110 * grub-core/efiemu/i386/loadcore64.c
13111 (grub_arch_efiemu_relocate_symbols64): Likewise.
13112 * grub-core/efiemu/i386/pc/cfgtables.c
13113 (grub_machine_efiemu_init_tables): Likewise.
13114 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
13115 (grub_efiemu_loadcore_initXX): Add a filename argument.
13116 All users updated.
13117 Improved error message.
13118 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
13119 Add a filename argument.
13120 All users updated.
13121 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
13122 Reclassify double relocation as GRUB_ERR_BUG.
13123
13124 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
13127 handling.
13128
13129 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
13132 on partition.
13133
13134 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13135
13136 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13137
13138 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 Improve string. Gettextize.
13141
13142 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13145 utils.
13146 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13147
13148 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13151 [GRUB_UTIL]: New function.
13152 (insert_array) [GRUB_UTIL]: Store partmaps.
13153 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13154 partmaps.
13155 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13156 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13157 (probe_abstraction): Print diskfilter and not raid.
13158 Reported by: Lennart Sorensen
13159
13160 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13163 * util/grub-mkimagexx.c (MASK3): New define.
13164 (add_value_to_slot_20b): Use MASK3.
13165 (add_value_to_slot_21): Likewise.
13166 (relocate_addresses): Fix format specification.
13167 (load_image): Explicitly init symtab_section.
13168
13169 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13170
13171 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13172 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13173
13174 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13175
13176 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13177 on powerpc.
13178 Reported by: Lennart Sorensen
13179
13180 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * gentpl.py: Add missing license header.
13183 * docs/grub.texi: Update copyright year.
13184
13185 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13186
13187 Source grub-mkconfig_lib from the build directory at build time.
13188 Suggested by: Vladimir Serbinenko.
13189
13190 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13191 * util/grub-install.in: Define pkgdatadir if not already set, and source
13192 grub-mkconfig_lib from there.
13193 * util/grub-kbdcomp.in: Likewise.
13194 * util/grub-mkconfig.in: Likewise.
13195 * util/grub-mknetdir.in: Likewise.
13196 * util/grub-mkrescue.in: Likewise.
13197 * util/grub-mkstandalone.in: Likewise.
13198 * util/grub-reboot.in: Likewise.
13199 * util/grub-set-default.in: Likewise.
13200 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13201
13202 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13203
13204 Increase warning level.
13205
13206 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13207 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13208 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13209 (TARGET_CFLAGS): Likewise.
13210 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13211 * grub-core/Makefile.core.def (decompressor_xz): Add
13212 -Wno-unreachable-code.
13213 (normal): Add -Wno-redundant-decls.
13214 (xzio): Add -Wno-unreachable-code.
13215 (lzopio): Add -Wno-redundant-decls -Wno-error.
13216 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13217 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13218 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13219 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13220 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13221 * grub-core/kern/i386/coreboot/init.c: Add exception to
13222 -Wsuggest-attribute=noreturn.
13223 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13224 * grub-core/kern/ia64/dl_helper.c: Likewise.
13225 * grub-core/kern/mips/dl.c: Likewise.
13226 * grub-core/kern/sparc64/dl.c: Likewise.
13227 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13228 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13229 (memcmp): Likewise.
13230 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13231 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13232 * grub-core/loader/mips/linux.c: Likewise.
13233 * grub-core/loader/multiboot_elfxx.c: Likewise.
13234 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13235 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13236 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13237 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13238 fixme.
13239 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13240 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13241 Fix prototype.
13242
13243 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13246 address.
13247
13248 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13251 Avoid improper use of strings.
13252 (grub_cmd_legacy_initrdnounzip): Likewise.
13253
13254 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13257 attribute.
13258 (grub_util_info): Likewise.
13259 (grub_util_error): Likewise.
13260
13261 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13264 * util/grub-fstest.c (fstest): Likewise.
13265
13266 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13269 (grub_md_sha512_real): Likewise.
13270 (grub_util_get_geli_uuid): Likewise.
13271 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13272 (grub_util_biosdisk_open): Fix format specification.
13273 Respect format security.
13274 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13275 (xrealloc): Likewise.
13276 (xasprintf): Likewise.
13277
13278 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * util/import_gcry.py: Include grub/crypto.h in init.c.
13281
13282 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13285 (generate_image): Make prefix a const char *.
13286 Fix format specifications. Respect format security.
13287 Avoid void * arithmetics.
13288 Avoid shadowing.
13289 (argp_parser): Remove unused variable. Respect format security.
13290 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13291 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13292 (count_funcs): Remove unused variable.
13293 (relocate_addresses): Fix format specification.
13294 Disable x86-64 with elf32. Remove unused variables.
13295 (add_fixup_entry): Avoid shadowing.
13296 (make_reloc_section): Fix format specification.
13297 Use assert.
13298 (locate_sections): Fix format specifications.
13299 (load_image): Avoid shadowing.
13300
13301 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13304 Fix format specifications. Respect format security.
13305 Don't translate already translated grub_errmsg.
13306 (argp_parser): Remove unused variable
13307
13308 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13311
13312 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13315 (main): Likewise. Use xmalloc. Respect format security.
13316
13317 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13320 a const char *.
13321 (argp_parser): Remove unused variable.
13322
13323 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13326 (add_pixel): Make static.
13327 (add_font): Likewise.
13328 (write_string_section): Make name and str a const char *.
13329 (write_be16_section): Make name a const char *.
13330 (print_glyphs): Make static.
13331 (write_font_ascii_bitmap): Likewise.
13332 (write_font_width_spec): Likewise.
13333 (write_font_pf2): Likewise.
13334 (argp_parser): Remove unused variable.
13335 Respect format security.
13336 (main): Avoid shadowing. Respect format security.
13337
13338 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * util/grub-editenv.c (argp_parser): Make static.
13341 (create_envblk_file): Use xmalloc.
13342 (open_envblk_file): Likewise.
13343 Resepect format security.
13344 (set_variables): Respect format security.
13345
13346 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * util/getroot.c (grub_find_device): Respect format security.
13349 (get_mdadm_uuid): Remove unused variable.
13350 (grub_util_pull_device): Dont call gettext on already translated
13351 grub_errmsg.
13352 (find_system_device): Remove unused variable.
13353 (grub_util_get_grub_dev): Likewise.
13354 (grub_make_system_path_relative_to_its_root): Respect format security.
13355
13356 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * util/grub-fstest.c (execute_command): Make first argument
13359 a const char *.
13360 (read_file): Avoid shadowing.
13361 Reuse underlying error message if device open fails.
13362 (cmd_cmp): Respect format security.
13363 (root): Make const char *.
13364 (fstest): Remove args argument and use global copy.
13365 Respect format security.
13366 (argp_parser): Make static.
13367 (main): Make default_root const char *.
13368
13369 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13370
13371 * util/grub-mount.c (root): Make const char *.
13372 (execute_command): Make first argument a const char *.
13373 (fuse_init): Respect format security.
13374 (argp_parser): Make static. Remove unused variable.
13375 (main): Make default_root a const char *.
13376 Respect format security.
13377
13378 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * util/grub-probe.c (probe): Don't call gettext on already translated
13381 grub_errmsg.
13382 Remove unused variables.
13383 (argp_parser): Remove unused variable.
13384
13385 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 * util/grub-script-check.c (argp_parser): Remove unused variable.
13388 (main): Rename read to curread to avoid shadowing.
13389
13390 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * util/misc.c (grub_util_write_image_at): Fix format specification.
13393 (grub_util_write_image): Likewise.
13394 (grub_script_execute_argument_to_string): Removed (unused).
13395 (grub_script_execute_menuentry): Likewise.
13396 (grub_putchar): Likewise.
13397
13398 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13399
13400 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13401 (FUNCTION) [GRUB_UTIL]: Likewise.
13402 (VARIABLE) [GRUB_UTIL]: Likewise.
13403
13404 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13407 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13408
13409 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13412 buffer.
13413
13414 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13415
13416 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13417 (LzmaEnc_SaveState): Removed (unused).
13418 (LzmaEnc_RestoreState): Likewise.
13419 (LzmaEnc_InitPriceTables): Made static.
13420 (LzmaEnc_Construct): Likewise.
13421 (LzmaEnc_FreeLits): Likewise.
13422 (LzmaEnc_Destruct): Likewise.
13423 (LzmaEnc_Init): Likewise.
13424 (LzmaEnc_InitPrices): Likewise.
13425 (LzmaEnc_Finish): Likewise.
13426 (LzmaEnc_PrepareForLzma2): Removed (unused).
13427 (LzmaEnc_MemPrepare): Likewise.
13428 (LzmaEnc_GetNumAvailableBytes): Likewise.
13429 (LzmaEnc_GetCurBuf): Likewise.
13430 (LzmaEnc_CodeOneMemBlock): Likewise.
13431
13432 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13435 (grub_util_ldm_embed): Likewise.
13436
13437 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * util/grub-editenv.c (print_var): Rename name to varname to
13440 avoid shadowing.
13441 (main): Rename index to curindex to avoid shadowing.
13442 Make filename a const char *.
13443
13444 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13447 to arg_getline to avoid shadowing.
13448
13449 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13452 disk_ to avoid shadowing.
13453
13454 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13457 curindex to avoid shadowing.
13458 Make static.
13459 (MatchFinder_GetNumAvailableBytes): Make static.
13460
13461 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13464 avoid shadowing.
13465
13466 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13469 argument from encrypt to do_encrypt to avoid shadowing.
13470
13471 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13472
13473 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13474 incorrect nesting of #if's.
13475
13476 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13479 checks which are always false on some platforms.
13480 (grub_cmd_lsacpi): Likewise.
13481 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13482 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13483 Likewise.
13484
13485 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13488 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13489
13490 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13493 re_dfa_t to avoid breaking alignment invariants.
13494 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13495 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13496
13497 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13500 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13501
13502 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13505 Fix declaration.
13506
13507 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13510 conserve alignment invariants.
13511 (grub_ehci_ehcc_read16): Likewise.
13512 (grub_ehci_oper_read32): Likewise.
13513 (grub_ehci_oper_write32): Likewise.
13514 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13515 Conserve alignment invariants.
13516
13517 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13518
13519 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13520 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13521 declarations.
13522
13523 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13526 Remove unused variable.
13527
13528 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13531 Remove set in if.
13532
13533 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * include/grub/net.h: Remove double declarations.
13536
13537 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 Remove "payload" command in ia64 Linux loader since I couldn't
13540 find any evidence of it being used for anything.
13541 Replace "relocate" command with an environment variable
13542
13543 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13544 fields.
13545 (ia64_boot_payload): Removed.
13546 (last_payload): Likewise.
13547 (RELOCATE_OFF): Likewise.
13548 (RELOCATE_ON): Likewise.
13549 (RELOCATE_FORCE): Likewise.
13550 (relocate): Likewise.
13551 (free_pages): Don't free payloads.
13552 (grub_load_elf64): Use common error messages.
13553 Use "linux_relocate" variable.
13554 Increase the space after boot_params.
13555 (grub_cmd_payload): Removed.
13556 (grub_cmd_relocate): Likewise.
13557 (grub_cmd_fpswa): Improve messages.
13558 (cmd_payload): Removed.
13559 (cmd_relocate): Likewise.
13560 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13561 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13562
13563 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 Convert UHCI to DMA framework.
13566
13567 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13568 (grub_uhci_pci_iter): Fill new members
13569 (grub_alloc_td): Use P2V and V2P functions.
13570 (grub_free_queue): Likewise.
13571 (grub_alloc_qh): Likewise.
13572 (grub_uhci_setup_transfer): Likewise.
13573 (grub_uhci_check_transfer): Likewise.
13574
13575 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13578 Remove assignment in if while on it.
13579
13580 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * util/grub-mkstandalone.in: Fix modules directory.
13583
13584 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13587 on i386-pc target.
13588 (argp_parser): Accept "auto" as compression specification.
13589
13590 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13591
13592 Fix `help' with unloaded modules.
13593
13594 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13595 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13596 (grub_dyncmd_dispatcher): Small stylistic fix.
13597 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13598 explicit help is requested.
13599
13600 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13603 Explicitly init restart while on it.
13604
13605 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13608 uninited variable.
13609
13610 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * util/grub-mknetdir.in: Use . rather than source for POSIX
13613 compatibility.
13614
13615 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13618
13619 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13622 variable.
13623
13624 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13625
13626 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13627 without quotes.
13628
13629 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13632
13633 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13636 iteration of partitions.
13637
13638 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 Improve gettext support. Stylistic fixes and error handling fixes while
13641 on it.
13642
13643 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13646 part. Instead setup the correct stack in RM.
13647 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13648 for stack.
13649 * include/grub/i386/relocator_private.h: New file.
13650
13651 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13654 argument.
13655 * util/grub-fstest.c (options): Add missing DEVICE part.
13656
13657 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 Clarify and unify messages.
13660
13661 * grub-core/commands/hashsum.c (options): Unify messages.
13662 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13663 literal-only message as translatable.
13664 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13665 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13666 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13667 commands.
13668 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13669 key, not the key used to unlock. Clarify what it's used for.
13670 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13671 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13672 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13673 * util/grub-editenv.c (options): Unify "verbose" message.
13674 * util/grub-fstest.c (read_file): Unify error message.
13675 (fstest): Add quotes around commands.
13676 (options): Unify "verbose" message.
13677 * util/grub-install.in: Add quotes around variable name.
13678 * util/grub-kbdcomp.in: Unify error message.
13679 * util/grub-mkfont.c (main): Likewise.
13680 * util/grub-mkrescue.in: Likewise.
13681 * util/grub-mklayout.c (options): Unify "verbose" message.
13682 * util/grub-mkstandalone.in: Unify help and verbose messages.
13683 * util/grub-mount.c (options): Unify "verbose" message.
13684 * util/grub-probe.c (options): Likewise.
13685 * util/grub-script-check.c (options): Likewise.
13686 * util/grub-setup.c (setup): Unify no-terminator message.
13687 (options): Use DEVICE and not DEV.
13688 Unify "verbose" message.
13689 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13690
13691 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 Improve and unify messages.
13694
13695 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13696 name. All users updated.
13697 Print filename in error.
13698 (read_device_map): Print filename in error.
13699 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13700 (grub_util_get_os_disk): Likewise.
13701 (grub_util_biosdisk_get_grub_dev): Likewise.
13702 (grub_util_check_block_device): Likewise.
13703 (grub_util_check_char_device): Likewise.
13704 (grub_make_system_path_relative_to_its_root): Likewise.
13705 * util/grub-editenv.c (create_envblk_file): Likewise.
13706 (open_envblk_file): Likewise.
13707 (write_envblk): Likewise.
13708 * util/grub-fstest.c (cmd_cp): Likewise.
13709 (cmd_cat): Likewise.
13710 (cmd_cmp): Likewise.
13711 * util/grub-menulst2cfg.c (main): Likewise.
13712 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13713 (write_font_width_spec): Likewise.
13714 (write_font_pf2): Likewise.
13715 * util/grub-mkimage.c (generate_image): New argument outname.
13716 All users updated.
13717 Remove unreacheable message.
13718 (options): Unify messages.
13719 (help_filter): Likewise.
13720 * util/grub-mklayout.c (usage): Removed (unused).
13721 (main): Print filename in error.
13722 * util/grub-mkrescue.in: Fix wrong quoting.
13723 * util/grub-setup.c (setup): Print filename in error.
13724 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13725 (check_sas): Likewise.
13726 * util/misc.c (grub_util_get_fp_size): Removed.
13727 (grub_util_get_image_size): Print filename in error.
13728 (grub_util_read_at): Removed.
13729 (grub_util_read_image): Print filename in error.
13730 (grub_util_load_image): Likewise.
13731 (grub_util_write_image_at): New argument filename. All users updated.
13732 Print filename in error.
13733 (grub_util_write_image): New argument filename. All users updated.
13734 Print filename in error.
13735 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13736 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13737
13738 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * grub-core/Makefile.core.def (pxechain): New module.
13741 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13742 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13743 function.
13744 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13745 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13746
13747 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13750 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13751 * include/grub/err.h (grub_error_saved): New struct.
13752 (grub_errmsg): Make array size explicit.
13753 * include/grub/misc.h (grub_error_save): New function.
13754 (grub_error_load): Likewise.
13755 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13756 (grub_error_push): Update `errno' member name.
13757 (grub_error_pop): Likewise
13758 * grub-core/net/tftp.c (tftp_data): New member save_err.
13759 (tftp_receive): Save error.
13760 (tftp_open): Restore error.
13761
13762 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13765 to real mode down to execute A20-related code in protected mode as
13766 intended.
13767
13768 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13769
13770 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13771 NULL when the argument `level' has an unexpected value.
13772
13773 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 Move platform-dependent files from $prefix to $prefix/$platform.
13776
13777 * config.h.in (GRUB_TARGET_CPU): New definition.
13778 (GRUB_PLATFORM): Likewise.
13779 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13780 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13781 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13782 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13783 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13784 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13785 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13786 * grub-core/normal/term.c (read_terminal_list): Likewise.
13787 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13788 $prefix/locale.
13789 (grub_gettext_init_ext): Likewise.
13790 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13791 grub_platform.
13792 * util/grub-install.in: Update directories.
13793 * util/grub-mknetdir.in: Likewise.
13794 * util/grub-mkrescue.in: Likewise.
13795
13796 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13799 grub_error framework. All users updated.
13800
13801 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13804 lists (by always binsearching), improve caching (cache strings
13805 used for binsearch, not only results), improve
13806 maintainability (by using more structured binary search) and correct
13807 error handling.
13808
13809 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 * grub-core/script/execute.c (grub_script_return): Fix warning.
13812
13813 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * grub-core/script/execute.c (grub_script_return): Fix potential
13816 NULL-dereference.
13817 Reported by: Jim Meyering.
13818
13819 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * po/POTFILES.in: Regenerate.
13822 * util/grub-install.in: Gettextize the strings missed in first pass.
13823
13824 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 * Makefile.util.def (grub-mkdevicemap): Removed.
13827 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13828 * include/grub/util/deviceiter.h: Removed.
13829 * util/deviceiter.c: Likewise.
13830 * util/getroot.c (grub_util_get_os_disk): New function.
13831 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13832 replacement for EFI.
13833 * util/grub-mkdevicemap.c: Removed.
13834 * util/grub-probe.c (probe): Handle PRINT_DISK.
13835 (argp_parser): Handle -t disk.
13836
13837 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 * util/grub-mkfont.c: Migrate to argp.
13840 * util/grub-mklayout.c: Likewise.
13841 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13842 * util/grub-mkrelpath.c: Likewise.
13843 * util/grub-probe.c: Likewise.
13844 * util/grub-script-check.c: Likewise.
13845
13846 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 * util/grub-reboot.in: Add missing datarootdir.
13849 Add missing newline.
13850 * util/grub-set-default.in: Add missing datarootdir.
13851 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13852 * util/grub-mkrescue.in: Likewise.
13853
13854 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13857
13858 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * util/grub-kbdcomp.in: Add decent help and gettextize.
13861 * docs/man/grub-kbdcomp.h2m: New file.
13862
13863 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 Migrate grub-mkimage.c to argp.
13866
13867 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13868 (grub-setup): Likewise.
13869 * util/grub-setup.c (print_version): Move to ...
13870 * util/argp_common.c (print_version): ... here.
13871 * util/grub-setup.c (argp_program_version_hook): Move to ...
13872 * util/argp_common.c (argp_program_version_hook): ... here.
13873 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13874 safety.
13875 * util/grub-mkimage.c (main): Migrate to argp.
13876
13877 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * util/grub-mkrescue.in: Use same message as
13880 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13881 for better translations.
13882
13883 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13886 options with generic grub-mkrescue.in with the goal of future
13887 merge.
13888
13889 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13890
13891 * grub-core/kern/mm.c: Add missing include of i18n.h
13892 * grub-core/lib/relocator.c: Likewise.
13893
13894 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13897 error.
13898 (allocate_pages): Check return value.
13899 Replace fatal with error.
13900 (grub_linux_boot): Replace printf with dprintf.
13901 Check find_mmap_size return value.
13902 Replace fatal with error.
13903 Don't call grub_machine_fini.
13904 (grub_load_elf64): Replace printf with dprintf.
13905 (grub_cmd_linux): Likewise.
13906 (grub_cmd_initrd): Likewise.
13907 (grub_cmd_payload): Likewise.
13908
13909 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13912 message.
13913 * grub-core/video/radeon_fuloong2e.c
13914 (grub_video_radeon_fuloong2e_setup): Likewise.
13915 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13916 * grub-core/video/video.c (grub_video_set_mode): Don't override
13917 standard out of memory message.
13918
13919 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13920
13921 NetBSD disk wedge support.
13922
13923 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13924 [__NetBSD__]: Handle NetBSD disk wedges.
13925 * util/getroot.c (convert_system_partition_to_system_disk)
13926 [__NetBSD__]: Likewise.
13927
13928 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
13929
13930 * util/grub-mkconfig.in: Use umask rather than chmod to create
13931 grub.cfg.new to avoid insecure grub.cfg.
13932
13933 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * grub-core/commands/ls.c: Gettextize.
13936 * grub-core/commands/setpci.c: Likewise.
13937 * grub-core/commands/videotest.c: Likewise.
13938 * grub-core/disk/geli.c: Likewise.
13939 * grub-core/kern/mm.c: Likewise.
13940 * grub-core/lib/relocator.c: Likewise.
13941 * grub-core/loader/efi/appleloader.c: Likewise.
13942 * grub-core/loader/i386/xnu.c: Likewise.
13943 * grub-core/loader/ia64/efi/linux.c: Likewise.
13944 * grub-core/loader/xnu.c: Likewise.
13945 * grub-core/net/dns.c: Likewise.
13946 * grub-core/net/net.c: Likewise.
13947 * grub-core/script/lexer.c: Likewise.
13948 * grub-core/script/parser.y: Likewise.
13949 * grub-core/script/yylex.l: Likewise.
13950 * util/getroot.c: Likewise.
13951 * util/grub-setup.c: Likewise.
13952
13953 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13956 number.
13957
13958 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13961
13962 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13965 macro.
13966 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13967 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13968
13969 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13972 * util/grub-install.in: Gettextize.
13973 * util/grub-mkconfig.in: Likewise.
13974 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13975 if not available.
13976 (grub_warn): Gettextize.
13977 * util/grub-mknetdir.in: Gettextize.
13978 * util/grub-mkrescue.in: Likewise.
13979 * util/grub-mkstandalone.in: Likewise.
13980 * util/grub-reboot.in: Likewise.
13981 * util/grub-set-default.in: Likewise.
13982 * util/grub.d/00_header.in: Likewise.
13983 * util/grub.d/10_hurd.in: Likewise.
13984 * util/grub.d/10_kfreebsd.in: Likewise.
13985 * util/grub.d/10_linux.in: Likewise.
13986 * util/grub.d/10_netbsd.in: Likewise.
13987 * util/grub.d/10_windows.in: Likewise.
13988 * util/grub.d/20_linux_xen.in: Likewise.
13989 * util/grub.d/30_os-prober.in: Likewise.
13990 * po/POTFILES-shell.in: Regenerate.
13991
13992 2012-02-03 Richard Laager <rlaager@wiktel.com>
13993
13994 * util/grub-mkimage.c (main): Fix format-security warning.
13995 * util/grub-mkrelpath.c (main): Likewise.
13996 * util/grub-probe.c (main): Likewise.
13997
13998 2012-02-03 Richard Laager <rlaager@wiktel.com>
13999
14000 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
14001 failure.
14002 Put back lost PRINT_DRIVE.
14003
14004 2012-02-03 Richard Laager <rlaager@wiktel.com>
14005
14006 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
14007 (grub_guess_root_devices): Replace strlen with sizeof.
14008 Avoid crash.
14009 (find_root_devices_from_poolname): Remove unused variable.
14010 Handle raidzN.
14011
14012 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 Support install on multi-device filesystems.
14015
14016 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
14017 (grub_guess_root_devices): ...this. Return char **. All users updated.
14018 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
14019 Removed.
14020 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
14021 (find_root_devices_from_poolname): ... here.
14022 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
14023 Support zfs-fuse.
14024 (grub_guess_root_device): Rename to ...
14025 (grub_guess_root_devices): ... this. Return char **. All users updated.
14026 * util/grub-install.in: Handle multi-device filesystems.
14027 * util/grub-probe.c (probe). Make device_names a char **. Add delim
14028 argument. All users updated.
14029 Handle multi-device filesystems.
14030 Use 'delim' as separator.
14031 Remove device check to allow filesystems on file.
14032 (main): Support -0 argument. Handle multi-device.
14033 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
14034 Fix a cross-device check while on it.
14035 (arguments): Remove root_dev.
14036 (argp_parser): Remove -r.
14037 (main): Remove root_dev.
14038
14039 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
14042
14043 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
14046 symbol.
14047 Reported by: NODA, Kai <nodakai>.
14048
14049 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14050
14051 Fix ehci on amd64.
14052
14053 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
14054 pointers.
14055 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
14056 (grub_ehci_setup_qh): Likewise.
14057 (grub_ehci_find_qh): Likewise.
14058 (grub_ehci_transaction): Likewise.
14059 (grub_ehci_setup_transfer): Likewise.
14060 (grub_ehci_check_transfer): Likewise.
14061 (grub_ehci_portstatus): Likewise.
14062 (grub_ehci_detect_dev): Likewise.
14063 (grub_ehci_transfer_controller_data): New field td_last_phys.
14064 (grub_ehci_setup_transfer): Fill td_last_phys.
14065 (grub_ehci_check_transfer): Use td_last_phys.
14066
14067 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
14068
14069 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
14070 if no submenu is present.
14071
14072 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14073
14074 CBI support.
14075
14076 * include/grub/usb.h (grub_usbms_protocol_t): New values
14077 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
14078 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
14079 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
14080 (grub_usbms_dev): Add subclass, protocol and intrpt.
14081 Remove in_maxsz and out_maxsz.
14082 (grub_usbms_reset): Rename to ...
14083 (grub_usbms_bo_reset): .. this.
14084 (grub_usbms_cbi_cmd): New function.
14085 (grub_usbms_cbi_reset): Likewise.
14086 (grub_usbms_reset): Likewise.
14087 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
14088 (grub_usbms_transfer): Rename to ...
14089 (grub_usbms_transfer_bo): ... this.
14090 (grub_usbms_transfer_cbi): Likewise.
14091 (grub_usbms_transfer): Likewise.
14092
14093 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14094 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14095
14096 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
14097 the support for the CS5536 modification thereos and few bugfixes.
14098
14099 * grub-core/Makefile.core.def (ehci): New module.
14100 * grub-core/bus/usb/ehci.c: New file.
14101 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
14102 port and hubaddr. All users updated.
14103 Save port and hubaddr into dev structure.
14104 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
14105 define.
14106 * include/grub/pci.h (grub_dma_phys2virt): New function.
14107 (grub_dma_virt2phys): Likewise.
14108 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
14109
14110 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
14113 check as some mkfs implementations omit it.
14114
14115 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14116
14117 * docs/grub.texi (Unicode): Mention identifier and space limitations.
14118
14119 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
14122 Add new member volname2.
14123 (grub_jfs_label): Use volname2 if available.
14124
14125 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
14128 over last_mounted as seen in image generated by mkfs.nilfs2.
14129 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
14130
14131 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
14134 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
14135 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14136
14137 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14138
14139 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14140 over the sector.
14141
14142 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14145 subvolume name (by removing a bogus and useless check).
14146
14147 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14148
14149 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14150 sizeof while on it.
14151
14152 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14155 (grub_scsi_read_capacity10): ... this.
14156 (grub_scsi_read_capacity16): New function.
14157 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14158 0xffffffff.
14159 Fix off-by-one error.
14160 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14161 64-bit unsigned.
14162 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14163 (grub_scsi_read_capacity10): ... this.
14164 (grub_scsi_read_capacity_data): Rename to ...
14165 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14166 (grub_scsi_read_capacity16): New struct.
14167 (grub_scsi_read_capacity16_data): Likewise.
14168 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14169 grub_scsi_cmd_read_capacity10.
14170 New command grub_scsi_cmd_read_capacity16.
14171
14172 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 SCSI >2TiB support.
14175
14176 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14177 (grub_scsi_write16): Likewise.
14178 (grub_scsi_read): Use read16 when necessary.
14179 (grub_scsi_write): Likewise.
14180 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14181 (grub_scsi_write16): Likewise.
14182 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14183
14184 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 SCSI write support (for usbms mainly).
14187
14188 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14189 a const pointer.
14190 (grub_scsi_write): Implement.
14191 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14192
14193 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14196 variable.
14197
14198 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14201
14202 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 * po/POTFILES.in: Regenerate.
14205
14206 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14207
14208 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14209 with grub_printf to avoid unnecessary fatal failure.
14210
14211 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14212
14213 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14214 (INT_MAX): Likewise.
14215 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14216 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14217 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14218 (strcpy): Likewise.
14219 (strstr): Likewise.
14220 (strchr): Likewise.
14221 (strncpy): Likewise.
14222 (strcat): Likewise.
14223 (strncat): Likewise.
14224 (strcoll): Likewise.
14225 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14226 (GRUB_INT_MAX): Likewise.
14227
14228 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14231 unexpected error.
14232 (optimize_utf8): Likewise.
14233 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14234
14235 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 * grub-core/boot/i386/pc/lnxboot.S: Use
14238 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14239 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14240 location.
14241 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14242 definition.
14243 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14244
14245 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14248 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14249 now to avoid double free.
14250 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14251 hostdisk.
14252 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14253 * util/grub-probe.c (escape_of_path): Always return a new copy.
14254 (print_full_name): Escape path.
14255 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14256 Fix hints on abstractions.
14257
14258 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14261 Don't add "root" line if no compatibility hont is available.
14262 Suggested by: Seth Goldberg.
14263
14264 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14267 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14268 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14269 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14270
14271 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14274
14275 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14276
14277 * util/grub-pe2elf.c (ehdr): Make static.
14278 (shdr): Likewise.
14279 (num_sections): Likewise.
14280 (offset): Likewise.
14281
14282 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 Eliminate ofpath limits and possible overflows.
14285
14286 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14287 (OF_PATH_MAX): Removed.
14288 (MAX_DISK_CAT): New const.
14289 (find_obppath): Use allocated rather than preallocated buffer.
14290 Return result. Argument of_path removed. All users updated.
14291 Add missing fdstat.
14292 (xrealpath): New function.
14293 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14294 Allocate rather than use preallocated buffer. All users updated.
14295 (__of_path_common): Use allocated rather than preallocatecd buffer.
14296 Return result. Argument of_path removed. All users updated.
14297 (vendor_is_ATA): Read only needed part form the file.
14298 (check_sas): Allocate depending on contents rather than fixed.
14299 (main) [STANDALONE]: Handle NULL result.
14300
14301 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14304
14305 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 Cryptodisk write support.
14308
14309 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14310 (grub_cryptodisk_decrypt): Moved logic to ...
14311 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14312 (grub_cryptodisk_write): Implement.
14313 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14314 (grub_util_fd_write): ... this. Make global.
14315 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14316
14317 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * include/grub/list.h (grub_list_remove): Don't crash if element is
14320 removed twice.
14321
14322 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 Rename ofconsole to console.
14325
14326 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14327 as sysnonym to console.
14328 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14329 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14330 Rename grub_ofconsole_ to grub_console_. All users updated
14331 (grub_console_term_output): Rename "ofconsole" to "console".
14332 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14333 as "console".
14334
14335 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14336
14337 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14338 handling.
14339 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14340 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14341 GRUB_DISK_DEVICE_FILE_ID.
14342
14343 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14346 and improve performance.
14347
14348 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14351 missing ieee1275/ prefix on whole disk.
14352
14353 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14356 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14357
14358 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14359
14360 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14361
14362 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 Merge common RAID and LVM logic to an abstract diskfilter.
14365 Add LDM support using the same framework.
14366
14367 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14368 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14369 (libgrubmods): Remove grub-core/disk/raid.c and
14370 grub-core/partmap/gpt.c.
14371 * grub-core/Makefile.core.def (ldm): New module.
14372 (raid): Renamed to diskfilter. All users updated.
14373 * grub-core/disk/raid.c: Moved to ...
14374 * grub-core/disk/diskfilter.c: ... here.
14375 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14376 (lv_num): New var.
14377 (find_array): Renamed to ...
14378 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14379 (grub_is_array_readable): Renamed to ...
14380 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14381 (insert_array): New argument id.
14382 (is_node_readable): New function.
14383 (scan_device): Rename to ...
14384 (scan_disk): .. this. Restrict to one disk.
14385 (scan_devices): New function.
14386 (grub_diskfilter_iterate): Support multi-LV.
14387 Skip invisible and nameless LVs.
14388 (grub_diskfilter_memberlist): Support multi-LV.
14389 (grub_diskfilter_read_node): New function.
14390 (grub_raid_read): Most of logic moved to ...
14391 (read_segment): ... here
14392 (read_lv): New function.
14393 (grub_diskfilter_get_vg_by_uuid): New function.
14394 (grub_diskfilter_make_raid): Likewise.
14395 * grub-core/disk/ldm.c: New file.
14396 * grub-core/disk/lvm.c (vg_list): Removed.
14397 (lv_count): Likewise.
14398 (scan_depth): Likewise.
14399 (is_lv_readable): Likewise.
14400 (grub_lvm_getvalue): Advance pointer past the number.
14401 (find_lv): Removed.
14402 (do_lvm_scan): Refactored into ...
14403 (grub_lvm_detect): ... this. Support raid.
14404 (grub_lvm_iterate): Removed.
14405 (grub_lvm_memberlist): Likewise.
14406 (grub_lvm_open): Likewise.
14407 (grub_lvm_close): Likewise.
14408 (read_lv): Likewise.
14409 (read_node): Likewise.
14410 (is_node_readable): Likewise.
14411 (is_lv_readable): Likewise.
14412 (grub_lvm_read): Likewise.
14413 (grub_lvm_write): Likewise.
14414 (grub_lvm_dev): Use diskfilter
14415 (GRUB_MOD_INIT): Likewise.
14416 (GRUB_MOD_FINI): Likewise.
14417 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14418 new interface.
14419 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14420 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14421 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14422 grub_diskfilter_read_node.
14423 Fix a bug with xor.
14424 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14425 grub_diskfilter_read_node.
14426 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14427 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14428 (grub_disk_dev_iterate): Move from here...
14429 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14430 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14431 Make global.
14432 (grub_hostdisk_find_partition_start): Likewise.
14433 (grub_hostdisk_os_dev_to_grub_drive): New function.
14434 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14435 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14436 * util/getroot.c (make_device_name): ... here.
14437 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14438 Move to ...
14439 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14440 * grub-core/kern/emu/hostdisk.c
14441 (convert_system_partition_to_system_disk): Move to ...
14442 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14443 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14444 * util/getroot.c (device_is_wholedisk): ... here.
14445 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14446 * util/getroot.c (find_system_device): ... here.
14447 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14448 Move to ...
14449 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14450 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14451 Move to ...
14452 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14453 Handle LDM.
14454 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14455 Move to ...
14456 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14457 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14458 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14459 DISKFILTER.
14460 * include/grub/raid.h: Renamed to ...
14461 * include/grub/diskfilter.h: ... this.
14462 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14463 (GRUB_RAID_LAYOUT_*): Make into array.
14464 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14465 (grub_diskfilter_vg): New struct.
14466 (grub_diskfilter_pv_id): Likewise.
14467 (grub_raid_member): Removed.
14468 (grub_raid_array): Likewise.
14469 (grub_diskfilter_pv): New struct.
14470 (grub_diskfilter_lv): Likewise.
14471 (grub_diskfilter_segment): Likewise.
14472 (grub_diskfilter_node): Likewise.
14473 (grub_diskfilter_get_vg_by_uuid): New proto.
14474 (grub_raid_register): Inline.
14475 (grub_diskfilter_unregister): Likewise.
14476 (grub_diskfilter_make_raid): New proto.
14477 (grub_diskfilter_vg_register): Likewise.
14478 (grub_diskfilter_read_node): Likewise.
14479 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14480 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14481 (grub_util_is_ldm): Likewise.
14482 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14483 (grub_hostdisk_find_partition_start): Likewise.
14484 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14485 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14486 New definition.
14487 (grub_gpt_partition_map_iterate): New proto.
14488 * include/grub/lvm.h (grub_lvm_vg): Removed.
14489 (grub_lvm_pv): Likewise.
14490 (grub_lvm_lv): Likewise.
14491 (grub_lvm_segment): Likewise.
14492 (grub_lvm_node): Likewise.
14493 * util/getroot.c [...]
14494 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14495 (probe_abstraction): Likewise.
14496 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14497 (main): Remove dead logic.
14498
14499 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 Simplify root device discover and don't fail when trying to open
14502 incorrect devices.
14503
14504 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14505 function.
14506 (get_diskname_from_path): Likewise.
14507 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14508 of iterating.
14509
14510 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14513
14514 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14517 pastthe end.
14518
14519 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 * util/grub-install.in: Add missing \.
14522 Reported by: gentoofan
14523
14524 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14525
14526 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14527 (direct_read): Use correct compressed size.
14528 (grub_squash_read_data): Likewise.
14529
14530 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14531
14532 * docs/grub.texi (Platform limitations): New section.
14533 (Platform-specific operations): Likewise.
14534 * docs/grub-dev.texi (Porting): Likewise.
14535
14536 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 IEEE1275 disk write support.
14539
14540 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14541 const void *.
14542 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14543 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14544 and seek loginc to ...
14545 (grub_ofdisk_prepare): ... here.
14546 (grub_ofdisk_write): Implement.
14547
14548 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 ARC disk write support.
14551
14552 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14553 (reopen): New argument writable. All users updated.
14554 Handle required access mode.
14555 (grub_arcdisk_write): Implement.
14556 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14557 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14558
14559 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14562 (read_sblock): Don't attempt to read superblocks outside the disk size.
14563
14564 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14567 first superblock to find the second one when possible.
14568
14569 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * util/grub-install.in: Fix an ARC bug.
14572 Print a warning if no platform-specific setup is available.
14573
14574 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 Use static allocation rather than scratch pointer in reed_solomon.
14577 It decreases its size significantly and avoids a variable in .text.
14578
14579 * grub-core/lib/reed_solomon.c (scratch): Removed.
14580 (chosenstat): New const or static array.
14581 (sigma): Likewise.
14582 (errpot): Likewise.
14583 (errpos): Likewise.
14584 (sy): Likewise.
14585 (mstat): Likewise.
14586 (errvals): Likewise.
14587 (eqstat): Likewise.
14588 (pol_evaluate): Replace x with log_x argument. All users updated.
14589 (syndroms): Removed.
14590 (gauss_solve): Use statically allocated arrays.
14591 (rs_recover): Likewise.
14592 Calculate syndroms directly.
14593 (decode_block): Use statically allocated arrays.
14594 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14595 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14596
14597 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 Eliminate fixed limit on reed solomon decoder length.
14600
14601 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14602 rather than hardcoding the address.
14603 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14604 no_reed_solomon_length.
14605 Move gate_a20 to no-reed-solomon part.
14606 Don't force a particular size of no reed-solomon part.
14607 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14608 Removed.
14609 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14610 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14611
14612 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14613
14614 * grub-core/commands/wildcard.c (match_files): Handle filenames
14615 without explicit device.
14616 (wildcard_expand): Don't add explicit device if not already present.
14617 * tests/grub_script_echo1.in: Add a new expansion test.
14618
14619 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 Replace single-linked with double-linked lists. It results in more
14622 compact and more efficient code.
14623
14624 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14625 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14626 (grub_list_remove): Moved from here ...
14627 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14628 (grub_prio_list_insert): Set prev.
14629 * include/grub/list.h (grub_list): Add prev. All users updated.
14630
14631 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14632
14633 Handle newer autotools. Add some missing quotes while on it.
14634
14635 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14636 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14637 (pkgdata_DATA): ... here.
14638 * Makefile.util.def (update-grub_lib): Removed.
14639 * conf/Makefile.common (pkglib_DATA): Removed.
14640 (pkglib_SCRIPTS): Likewise.
14641 (pkgdata_DATA): New variable.
14642 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14643 needed.
14644 Add missing quotes.
14645 Remove unused variable while on it.
14646 * tests/util/grub-shell.in: Likewise.
14647 * util/grub-install.in: Likewise.
14648 * util/grub-mkconfig.in: Likewise.
14649 * util/grub-mknetdir.in: Likewise.
14650 * util/grub-mkrescue.in: Likewise.
14651 * util/grub-mkstandalone.in: Likewise.
14652 * util/grub.d/00_header.in: Likewise.
14653 * util/grub.d/10_hurd.in: Likewise.
14654 * util/grub.d/10_illumos.in: Likewise.
14655 * util/grub.d/10_kfreebsd.in: Likewise.
14656 * util/grub.d/10_linux.in: Likewise.
14657 * util/grub.d/10_netbsd.in: Likewise.
14658 * util/grub.d/10_windows.in: Likewise.
14659 * util/grub.d/20_linux_xen.in: Likewise.
14660 * util/grub.d/30_os-prober.in: Likewise.
14661 * util/update-grub_lib.in: Removed.
14662
14663 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
14664
14665 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14666 a workaround for intel problem.
14667
14668 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
14669 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14670 2012-01-23 pfsmorigo
14671
14672 * util/grub-install.in: Support dd'in into PreP partition.
14673 * util/grub-probe.c (probe): Support discovering partition type.
14674 (main): Support -t msdos_parttype.
14675
14676 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14679 infinite recursion using counter.
14680 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14681 init to skip it if the magic check fails.
14682 (dec_stream_header): Init s->crc32.
14683
14684 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14685 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
14686 2012-01-22 Richard Laager <rlaager@wiktel.com>
14687
14688 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14689 All users updated.
14690 (find_bestub): Determine correct size.
14691 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14692 (scan_disk): Align the size down.
14693 Call check pool before find_bestub to have ashift.
14694
14695 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14698 dprintf in no-malloc zone.
14699
14700 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14701
14702 * configure.ac: Add back in test for limits.h.
14703
14704 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14705
14706 Support 4K-sector NTFS.
14707
14708 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14709 (grub_ntfs_data): Remove blocksize.
14710 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14711 Remove data argument. All users updated.
14712
14713 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14716 being in .text to avoid dprel references.
14717 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14718 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14719 (grub_arch_highmemsize): Likewise.
14720 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14721 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14722 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14723
14724 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14725
14726 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14727
14728 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14729 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14730
14731 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14734 GRUB_UTIL.
14735 (grub_set_datetime_cmos): Likewise.
14736
14737 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 Make XZ compression parameters dependent on target and not host CPU.
14740
14741 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14742 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14743
14744 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14747 set but not used variable.
14748
14749 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14752 created when no uuid support is compiled into mkfs.reiser.
14753
14754 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14757 (utf8_to_macroman): Do the opposite.
14758 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14759
14760 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 * configure.ac: Refise build qemu_mips w/o unifont.
14763
14764 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 Eliminate grub_min/grub_max prone to overflow usage.
14767
14768 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14769 (poll_nonroot_hub): Likewise.
14770 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14771 (grub_affs_label): Likewise.
14772 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14773 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14774 (grub_hfs_label): Likewise.
14775 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14776 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14777 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14778 (zap_leaf_array_get): Likewise.
14779 (dnode_get_path): Likewise.
14780 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14781 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14782 * grub-core/script/execute.c (grub_script_break): Likewise.
14783 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14784 grub_max.
14785 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14786 * include/grub/misc.h (grub_min): Removed.
14787 (grub_max): Likewise.
14788
14789 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14790
14791 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14792 direct.inode = 0.
14793
14794 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14797
14798 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14801
14802 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14805 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14806
14807 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14810 rather than a hack for grub_strncasemap.
14811
14812 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 Support multiple initrds
14815 Note: part of this was accidently committed in r3739.
14816
14817 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14818 initrd.
14819 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14820 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14821 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14822 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14823 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14824
14825 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14828 disks with unknown size.
14829 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14830
14831 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 Remove defines pertaining to arbitrary limits not affecting GRUB
14834 anymore.
14835
14836 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14837 (EXT2_MAX_SYMLINKCNT): Likewise.
14838 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14839 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14840 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14841 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14842 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14843 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14844 (DN_MAX_OBJECT_SHIFT): Likewise.
14845 (DN_MAX_OFFSET_SHIFT): Likewise.
14846 (DN_MAX_OBJECT): Likewise.
14847 (DNODES_PER_LEVEL_SHIFT): Likewise.
14848 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14849 (SPA_MAXBLOCKSIZE): Likewise.
14850 (SPA_BLOCKSIZES): Likewise.
14851 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14852 (MZAP_MAX_BLKSZ): Likewise.
14853
14854 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14855
14856 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14857 handle NULL appropriately.
14858 Remove MIN.
14859
14860 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 Fix efiemu.
14863
14864 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14865 cpu/types.h.
14866 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14867 * configure.ac: Fix efiemu check.
14868
14869 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14872 grub_probe.
14873 Reported by: adamwill
14874
14875 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14876
14877 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14878
14879 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14880
14881 Fix handling of wide characters in gfxterm.
14882
14883 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14884 (clear_char): Likewise.
14885 (paint_char): Skip code == NULL chars.
14886 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14887
14888 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 * grub-core/normal/charset.c: Move comment to right place.
14891
14892 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14895 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14896 (grub_affs_mount): Revert the correct version checking.
14897
14898 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 * docs/grub.texi (Unicode): Mention several other unsupported features.
14901
14902 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14903
14904 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14905 case statements as compile-time one.
14906 (direct_read): Prevent spurious warnings.
14907 (grub_squash_read_data): Likewise.
14908
14909 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14910
14911 Various squash4 fixes and LZO and XZ support.
14912
14913 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14914 Add xzembed source files.
14915 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14916 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14917 (grub_squash_inode): New subtype long_dir.
14918 (SQUASH_TYPE_LONG_DIR): New inode type.
14919 (COMPRESSION): New enum.
14920 (XZBUFSIZ): New const.
14921 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14922 (read_chunk): Use data->decompress.
14923 (zlib_decompress): New function.
14924 (lzo_decompress): Likewise.
14925 (xz_decompress): Likewise.
14926 (squash_mount): Set new data fields.
14927 (grub_squash_iterate_dir): Handle long dir.
14928 (squash_unmount): Free xzdec and xzbuf.
14929 (grub_squash_open): Check ino type.
14930 (direct_read): Stylistic fixes. Use data->decompress.
14931 (grub_squash_read_data): Likewise.
14932 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14933 (get_byte): Likewise.
14934 (grub_zlib_disk_read): Removed.
14935 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14936 (GRUB_POSIX_BOOL_DEFINED): New define.
14937 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14938 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14939 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14940 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14941
14942 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14943
14944 Don't override more informative errors.
14945
14946 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14947 * grub-core/font/font.c (open_section): Likewise.
14948 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14949 filename. Don't override errors.
14950 (grub_cmd_openbsd_ramdisk): Don't override errors.
14951 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14952 (grub_cmd_initrd): Likewise.
14953 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14954 (grub_cmd_initrd): Likewise.
14955 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14956 (grub_cmd_linux): Likewise.
14957 (grub_cmd_initrd): Likewise.
14958 (grub_cmd_payload): Likewise.
14959 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14960 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14961 (grub_cmd_module): Likewise.
14962 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14963 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14964 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14965 (grub_cmd_xnu_mkext): Likewise.
14966 (grub_cmd_xnu_ramdisk): Likewise.
14967 (grub_xnu_check_os_bundle_required): Likewise.
14968 (grub_xnu_load_kext_from_dir): Likewise.
14969 (grub_cmd_xnu_kextdir): Likewise.
14970 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14971
14972 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14975 as 1024 in block size field. Found on one of my test images.
14976 Small optimisation while on it.
14977
14978 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14981 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14982 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14983 performance fixes while on it.
14984 (grub_sfs_close): Fix memory leak while on it.
14985 (grub_sfs_label): Convert Latin1 to UTF-8.
14986
14987 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14990 space to avoid overflows.
14991 (grub_hfs_label): Convert from macroman to UTF-8.
14992
14993 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14996
14997 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
15000
15001 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * unicode: Import Unicode 6.0 data.
15004
15005 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15006
15007 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
15008 outside of range.
15009
15010 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 Avoid cutting in the middle of UTF-8 character.
15013
15014 * include/grub/charset.h (grub_getend): New function.
15015 * grub-core/script/function.c (grub_script_function_find): Use
15016 grub_getend.
15017 * grub-core/normal/completion.c (add_completion): Likewise.
15018
15019 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
15022 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
15023 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
15024 (GRUB_UNICODE_TAG_END): Likewise.
15025 (GRUB_UNICODE_LAST_VALID): Likewise.
15026
15027 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
15030 len and make it smaller. All users updated.
15031 * util/import_unicode.py: Put length and not end character.
15032 Check length.
15033
15034 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15035
15036 Make better Unicode-compliant and unify some UTF-8 code pathes.
15037
15038 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
15039 valid character.
15040 (grub_is_valid_utf8): Use grub_utf8_process.
15041 Check resulting code range.
15042 (grub_utf8_to_ucs4): Use grub_utf8_process.
15043 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
15044 valid character.
15045
15046 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
15049
15050 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15051
15052 * docs/grub.texi (Filesystems): Mention AFS.
15053
15054 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 * docs/grub.texi (Filesystems): Clarify restrictions.
15057 (Regexp): Mention non-Unicode regexp behaviour.
15058 (Other): Mention non-Unicode matching behaviour.
15059
15060 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 Make HFS implementation use MacRoman.
15063
15064 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
15065 (macroman): New const array.
15066 (macroman_to_utf8): New function.
15067 (utf8_to_macroman): Likewise.
15068 (grub_hfs_find_dir): Use utf8_to_macroman.
15069 (grub_hfs_dir): Use macroman_to_utf8.
15070 Set case_insensitive.
15071
15072 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
15075
15076 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 Integrate hints into autogeneration scripts.
15079
15080 * docs/grub.texi (Filesystems): Add a hostdisk example.
15081 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
15082 (grub-probe): Add ofpath.
15083 * gentpl.py: Remove group nosparc64.
15084 * grub-core/commands/search.c (cache_entry): New struct.
15085 (cache): New var.
15086 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
15087 * grub-core/commands/search_wrap.c (options): Add platform-specific
15088 hint options.
15089 (grub_cmd_search): Handle platform-specific hints.
15090 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
15091 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
15092 (grub_util_biosdisk_data): Likewise.
15093 (grub_util_biosdisk_open): Set device_map.
15094 (read_device_map): Handle "" as indication of no map.
15095 Set device_map.
15096 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
15097 (grub_util_biosdisk_get_compatibility_hint): New function.
15098 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
15099 * include/grub/emu/hostdisk.h
15100 (grub_util_biosdisk_get_compatibility_hint): New proto.
15101 * util/grub-install.in: Don't call grub-mkdevicemap.
15102 Add platform-specific hint to load.cfg.
15103 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
15104 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15105 hints. Set root preliminary to compatibility hint, not to OS name.
15106 * util/grub-probe.c (PRINT_*): Add hints.
15107 (print): Make static.
15108 (escape_of_path): New function.
15109 (guess_bios_drive): Likewise.
15110 (guess_efi_drive): Likewise.
15111 (guess_baremetal_drive): Likewise.
15112 (print_full_name): Likewise.
15113 (probe): Handle hints.
15114 (main): Likewise.
15115 * util/ieee1275/devicemap.c: Removed.
15116 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
15117 updated.
15118 (grub_util_devname_to_ofpath): Return NULL on failure.
15119
15120 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
15121 resource leak.
15122 * util/getroot.c (grub_util_pull_device): Fix memory leak.
15123
15124 * po/POTFILES.in: Regenerated.
15125
15126 Allow purely long options
15127
15128 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
15129 (SHORT_ARG_USAGE): Likewise.
15130 (grub_arg_show_help): Compare opt with help_options.
15131 (parse_option): Receive opt as argument. If makes big simplificatons.
15132 All users updated
15133
15134 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15137 Restructure to avoid warning.
15138
15139 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 * util/grub-install.in: Account for possible escaped comma in device
15142 name.
15143
15144 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15145
15146 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15147 channel.
15148
15149 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15152 allocation and zero-setting.
15153 (grub_ieee1275_get_devname): Check that alias is complete.
15154
15155 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15158 unaligned segments.
15159
15160 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15161
15162 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15163 prefix.
15164 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15165 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15166 Add ieee1275 prefix.
15167
15168 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 * docs/grub.texi (Filesystems): Update.
15171
15172 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 Support odc, newc and bigendian cpio formats.
15175
15176 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15177 * grub-core/Makefile.core.def (newc): New module.
15178 (odc): Likewise.
15179 (cpio_be): Likewise.
15180 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15181 (MAGIC): Likewise.
15182 (MAGIC2): Likewise.
15183 (head) [MODE_ODC]: Adapt for the format.
15184 (head) [MODE_NEWC]: Likewise.
15185 (head) [!MODE_*]: Write fields of interest as arrays.
15186 (MAGIC_USTAR): Removed.
15187 (read_number) [MODE_NEWC]: Change to hex.
15188 (read_number) [!MODE_*]: Parse binary arrays.
15189 (grub_cpio_find_file): Factor out the code for better structure and
15190 always use read_number.
15191 (grub_cpio_mount): Use MAGIC and MAGIC2.
15192 (grub_cpio_dir): Exit on first hook non-0 return.
15193 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15194 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15195 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15196 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15197 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15198 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15199 * grub-core/fs/newc.c: New file.
15200 * grub-core/fs/odc.c: Likewise.
15201 * grub-core/fs/cpio_be.c: Likewise.
15202
15203 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15204
15205 Fix handling of tar numbers occupying the whole field.
15206
15207 * grub-core/fs/cpio.c (read_number): New function.
15208 (grub_cpio_find_file): Use read_number instead of strtoull.
15209
15210 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15213 occupying the whole field size.
15214
15215 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15216
15217 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15218
15219 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15222
15223 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15224
15225 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15226 TARGET_IMG_LDFLAGS.
15227
15228 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15231 (mountinfo_entry): Increase the field size to take escaping into
15232 account.
15233 (find_root_device_from_libzfs): Add one byte to size of strings for
15234 security.
15235
15236 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15239 an assert.
15240 * util/grub-setup.c (setup): Likewise.
15241
15242 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15243
15244 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15245 _LzmaDecodeA.
15246
15247 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 * docs/grub.texi (Internationalisation): New section.
15250
15251 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 * docs/grub.texi (Loopback booting): New section.
15254
15255 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
15256
15257 * util/grub-mkstandalone.in: Fix minor typo errors.
15258
15259 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15260
15261 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15262
15263 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15264 net/icmp.c and net/icmp6.c.
15265 (http): New module.
15266 (priority_queue): Likewise.
15267 * grub-core/io/bufio.c: Rewritten.
15268 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15269 TYPE_WITH_CONFIGFILE_OPTION.
15270 (legacy_commands): Add bootp and dhcp.
15271 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15272 (grub_legacy_parse): Likewise.
15273 * grub-core/lib/priority_queue.c: New file.
15274 * grub-core/net/arp.c: Add missing license header.
15275 (arp_find_entry): Removed.
15276 (arp_find_entry): Likewise.
15277 (grub_net_arp_resolve): Rename to ...
15278 (grub_net_arp_send_request): ...this.
15279 (grub_net_arp_receive): New card argument.
15280 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15281 Set router and DNS server.
15282 (grub_net_configure_by_dhcp_ack): Handle routing information.
15283 (grub_cmd_bootp): Set checksum.
15284 (grub_bootp_init): Remove net_dhcp.
15285 * grub-core/net/dns.c: New file.
15286 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15287 completion.
15288 (get_card_packet): Handle allocation.
15289 (grub_efinet_findcards): Set mtu.
15290 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15291 (get_card_packet): Handle allocation.
15292 (emucard): Set mtu.
15293 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15294 (GRUB_MOD_INIT): Set mtu.
15295 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15296 mtu.
15297 (get_card_packet): Handle allocation.
15298 (grub_ofnet_findcards): Set mtu.
15299 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15300 assert.
15301 (grub_net_recv_ethernet_packet): Handle IPv6.
15302 * grub-core/net/http.c: New file.
15303 * grub-core/net/icmp.c: Likewise.
15304 * grub-core/net/icmp6.c: Likewise.
15305 * grub-core/net/ip.c (ip6addr): New type.
15306 (ip6hdr): Likewise.
15307 (reassemble): Likewise.
15308 (cmp): New function.
15309 (reassembles): New variable.
15310 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15311 (id): New variable.
15312 (send_fragmented): New function.
15313 (grub_net_send_ip_packet): Rename to ...
15314 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15315 Handle non-UDP.
15316 (grub_net_recv_ip_packets): Rename to ...
15317 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15318 (free_rsm): New function.
15319 (free_old_fragments): Likewise.
15320 (grub_net_recv_ip4_packets): New function.
15321 (grub_net_send_ip6_packet): Likewise.
15322 (grub_net_send_ip_packet): Likewise.
15323 (grub_net_recv_ip6_packets): Likewise.
15324 (grub_net_recv_ip_packets): Likewise.
15325 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15326 (LINK_LAYER_CACHE_SIZE): New const.
15327 (link_layer_find_entry): New function.
15328 (grub_net_link_layer_add_address): Likewise.
15329 (grub_net_link_layer_resolve_check): Likewise.
15330 (grub_net_link_layer_resolve): Likewise.
15331 (grub_net_ipv6_get_slaac): Likewise.
15332 (grub_net_ipv6_get_link_local): Likewise.
15333 (grub_cmd_ipv6_autoconf): Likewise.
15334 (parse_ip): Handle one number representation.
15335 (parse_ip6): New functoion.
15336 (match_net): Handle IPv6.
15337 (grub_net_resolve_address): Handle IPv6 and DNS.
15338 (grub_net_resolve_net_address): Handle IPv6.
15339 (route_cmp): New function.
15340 (grub_net_route_address): Find best route.
15341 (grub_net_addr_to_str): Handle IPv6.
15342 (grub_net_addr_cmp): New function.
15343 (grub_net_add_addr): Register local route.
15344 (print_net_address): Handle net address.
15345 (grub_net_poll_cards): Retransmit TCP.
15346 (grub_net_poll_cards_idle_real): Likewise.
15347 (have_ahead): New function.
15348 (grub_net_seek_real): Use underlying seek.
15349 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15350 * grub-core/net/tcp.c: New file.
15351 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15352 (cmp): New function.
15353 (ack): Likewise.
15354 (tftp_receive): Handle unordered input.
15355 (destroy_pq): New function.
15356 (tftp_close): Close pq.
15357 * grub-core/net/udp.c: Put missing license header.
15358 (grub_net_udp_socket): New function.
15359 (udp_socket_register): Likewise.
15360 (grub_net_udp_close): Likewise.
15361 (grub_net_recv_udp_packet): Check checksum.
15362 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15363 * include/grub/misc.h (grub_memchr): New function.
15364 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15365 (grub_net_card_driver): Return buf in recv.
15366 (grub_net_slaac_mac_list): New struct.
15367 (grub_network_level_protocol_id): Add ipv6.
15368 (grub_net_network_level_addr): Likewise.
15369 (grub_net_network_level_net_addr): Likewise.
15370 (grub_net_app_protocol): Add seek.
15371 (grub_net_socket): Removed.
15372 (grub_net_sockets): Likewise.
15373 (grub_net_socket_register): Likewise.
15374 (grub_net_socket_unregister): Likewise.
15375 (FOR_NET_SOCKETS): Likewise.
15376 (grub_net_add_addr): Add const.
15377 (GRUB_NET_BOOTP_*): New enum.
15378 (grub_net_addr_cmp): New proto.
15379 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15380 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15381 (grub_net_hwaddr_to_str): NEw proto.
15382 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15383 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15384 (grub_dns_init): New proto.
15385 (grub_dns_fini): Likewise.
15386 (grub_net_tcp_retransmit): Likewise.
15387 (grub_net_link_layer_add_address): Likewise.
15388 (grub_net_link_layer_resolve_check): Likewise.
15389 (grub_net_link_layer_resolve): Likewise.
15390 (grub_net_dns_lookup): Likewise.
15391 (grub_net_add_dns_server): Likewise.
15392 (grub_net_remove_dns_server): Likewise.
15393 (GRUB_NET_TRIES): New const.
15394 (GRUB_NET_INTERVAL): Likewise.
15395 * include/grub/net/arp.h: Mostly rewritten.
15396 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15397 * include/grub/net/ip.h: Mostly rewritten.
15398 * include/grub/net/netbuff.h: Indent.
15399 * include/grub/net/tcp.h: New file.
15400 * include/grub/net/udp.h: Mostly rewritten.
15401 * include/grub/priority_queue.h: New file.
15402 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15403 (grub_swap_bytes64_compile_time): Likewise.
15404 (grub_cpu_to_be16_compile_time): Likewise.
15405 (grub_cpu_to_be32_compile_time): Likewise.
15406 (grub_cpu_to_be64_compile_time): Likewise.
15407 (grub_be_to_cpu64_compile_time): Likewise.
15408
15409 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15412 UINT_TO_PTR with cast.
15413
15414 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15417 don't use them.
15418
15419 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15422 already there.
15423
15424 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15427 confusing ipxe.
15428
15429 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15432 Add missing const attribute.
15433 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15434 Likewise.
15435 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15436 Likewise.
15437
15438 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15439
15440 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15441 misaligned access.
15442 (serpent_setkey): Likewise.
15443 (serpent_encrypt_internal): Likewise.
15444 (serpent_decrypt_internal): Likewise.
15445 (serpent_encrypt): Don't put an alignment-increasing cast.
15446 (serpent_decrypt): Likewise.
15447 (serpent_test): Likewise.
15448
15449 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15452
15453 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15456
15457 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15458 grub_addr_t casts.
15459 (PTR_TO_UINT64): Likewise.
15460 (PTR_TO_UINT32): Likewise.
15461
15462 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15463
15464 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15465 because of stack.
15466 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15467 limit.
15468
15469 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15470
15471 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15472 text_width > available width a bit more gracefully.
15473
15474 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15477 current address calculation.
15478
15479 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15482 stack.
15483 (encode_block): Likewise.
15484
15485 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15488 certainety.
15489
15490 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15493 non-RS part to avoid RS messing with GDT.
15494 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15495 Increase to suit in realmode routines.
15496
15497 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 * grub-core/kern/i386/realmode.S: Increase alignment.
15500 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15501
15502 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15505 be deterministic.
15506 (syndroms): Compute 0 syndrom.
15507 (rs_recover): Use 0 syndrom.
15508
15509 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15512
15513 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15516 brackets.
15517
15518 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15521 account.
15522 (get_top_pad): Likewise.
15523 (get_right_pad): Likewise.
15524 (get_bottom_pad): Likewise.
15525
15526 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
15529
15530 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15533 attribute as the structure isn't guaranteed to be properly aligned.
15534 (grub_efi_pci_device_path): Likewise.
15535 (grub_efi_pccard_device_path): Likewise.
15536 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15537 specify the size of `memory_type'.
15538 (grub_efi_vendor_device_path): Likewise.
15539 (grub_efi_controller_device_path): Likewise.
15540 (grub_efi_acpi_device_path): Likewise.
15541 (grub_efi_expanded_acpi_device_path): Likewise.
15542 (grub_efi_atapi_device_path): Likewise.
15543 (grub_efi_scsi_device_path): Likewise.
15544 (grub_efi_fibre_channel_device_path): Likewise.
15545 (grub_efi_1394_device_path): Likewise.
15546 (grub_efi_usb_device_path): Likewise.
15547 (grub_efi_usb_class_device_path): Likewise.
15548 (grub_efi_i2o_device_path): Likewise.
15549 (grub_efi_mac_address_device_path): Likewise.
15550 (grub_efi_ipv4_device_path): Likewise.
15551 (grub_efi_ipv6_device_path): Likewise.
15552 (grub_efi_infiniband_device_path): Likewise.
15553 (grub_efi_uart_device_path): Likewise.
15554 (grub_efi_vendor_messaging_device_path): Likewise.
15555 (grub_efi_hard_drive_device_path): Likewise.
15556 (grub_efi_cdrom_device_path): Likewise.
15557 (grub_efi_vendor_media_device_path): Likewise.
15558 (grub_efi_file_path_device_path): Likewise.
15559 (grub_efi_protocol_device_path): Likewise.
15560 (grub_efi_piwg_device_path): Likewise.
15561 (grub_efi_bios_device_path): Likewise.
15562
15563 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15564
15565 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15566 (grub_ucs4_to_utf8_alloc): Likewise.
15567 (grub_ucs4_to_utf8): Likewise.
15568 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15569 (grub_ucs4_to_utf8_alloc): Likewise.
15570
15571 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 AFFS never uses unicode.
15574
15575 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15576 (grub_latin1_to_utf8): New inline function.
15577 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15578
15579 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15582 overflow.
15583
15584 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15587 (grub_squash_dirent_header): Likewise.
15588 (read_chunk): Don't double swap.
15589 (grub_squash_iterate_dir): Fix swap sizes.
15590
15591 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15594
15595 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15598 (grub_hfs_iterate_dir): Likewise.
15599
15600 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 Fix video on platforms where unaligned access is forbidden.
15603 Make several optimisations while on it.
15604
15605 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15606 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15607 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15608 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15609 Disable.
15610 (grub_video_fbblit_replace_16bit_1bit):
15611 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15612 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15613 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15614 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15615 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15616 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15617 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15618 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15619 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15620 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15621 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15622 (grub_video_fbblit_replace_index_RGB888): Likewise.
15623 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15624 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15625 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15626 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15627 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15628 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15629 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15630 Disable.
15631 (grub_video_fbblit_blend_XXX565_1bit):
15632 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15633 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15634 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15635 void *.
15636 * grub-core/video/fb/video_fb.c (common_blitter)
15637 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15638 (grub_video_fb_create_render_target_from_pointer)
15639 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15640 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15641 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15642 definition.
15643 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15644
15645 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15648 HH22 and HM10 relocations.
15649
15650 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15653
15654 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15657 allocation succeeded.
15658
15659 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15662 argument a u8 pointer. All users updated.
15663 Handle unaligned buffers.
15664
15665 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15668 add_part to workaround compiler bug.
15669
15670 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15673
15674 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15675
15676 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15677 Reserve alignment invariants.
15678 (grub_multiboot_load): Likewise.
15679 (retrieve_video_parameters): Likewise.
15680 (grub_multiboot_make_mbi): Likewise.
15681
15682 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15683
15684 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15685 incorrect pointer.
15686
15687 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15688
15689 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15690 (grub_pata_pio_write): Likewise.
15691
15692 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 Add noreturn attributes and remove unreachable code.
15695
15696 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15697 code.
15698 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15699 code. Mark as noreturn.
15700 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15701 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15702 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15703 unreachable code.
15704 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15705 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15706 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15707 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15708 * include/grub/kernel.h (grub_main): Mark as noreturn.
15709 * include/grub/reader.h (grub_rescue_run): Likewise.
15710
15711 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15714 redundant declaration.
15715
15716 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15719 redundant declaration.
15720 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15721
15722 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15725 to ensure alignment.
15726 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15727 alignment. Ensure tmp alignment.
15728 (grub_cmd_hdparm): Ensure buf alignment.
15729 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15730 to ensure alignment.
15731 (grub_ata_dumpinfo): Ensure text alignment.
15732 (grub_atapi_identify): Preserve alignment invariant.
15733 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15734
15735 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15738 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15739 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15740 * include/grub/misc.h (grub_reboot)
15741 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15742 (grub_halt) [__mips__]: Likewise.
15743
15744 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15747 Remove redundant declaration.
15748 (grub_mmap_get_post64): Likewise.
15749 (grub_mmap_get_upper): Likewise.
15750 (grub_mmap_get_lower): Likewise.
15751
15752 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15755 uint32_t * to ensure alignment.
15756 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15757
15758 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15761 uint16_t * to ensure alignment.
15762 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15763 alignment.
15764
15765 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
15768 to ensure alignment.
15769 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15770
15771 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15774 Handle unaligned pointers.
15775 (u32at): Likewise.
15776 (u64at): Likewise.
15777 (fixup): Use byte access instead of v16at.
15778 (find_attr): Fix imporper usage of v32at.
15779 (read_data): Likewise.
15780 (list_file): Handle byte-swapping and unaligned strings.
15781 (grub_ntfs_label): Likewise.
15782
15783 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15784
15785 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15786 as it's not necessarily aligned.
15787
15788 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15789
15790 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15791 redundant declaration.
15792 (grub_serial_init): Likewise.
15793 (grub_terminfo_init): Likewise.
15794
15795 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15798 function.
15799 (ZAP_HASH_IDX): Likewise.
15800 (ZAP_LEAF_HASH_SHIFT): Likewise.
15801 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15802 (LEAF_HASH): Likewise.
15803 (ZAP_LEAF_NUMCHUNKS): Likewise.
15804 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15805 alignment invariants. Return pointer. All users updated.
15806 (ZAP_LEAF_ENTRY): Make into inline function.
15807 (NBBY): Removed.
15808 (xor): LIkewise.
15809 (xor_out): Use grub_crypto_xor.
15810 (dnode_get_path): Use grub_get_unaligned.
15811 (nvlist_find_value): Likewise.
15812 (grub_zfs_nvlist_lookup_uint64): Likewise.
15813 (grub_zfs_nvlist_lookup_string): Likewise.
15814 (get_nvlist_size): Likewise.
15815 (grub_zfs_open): Likewise.
15816 (fill_fs_info): Likewise.
15817 (grub_zfs_dir): Likewise.
15818 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15819 alignment invariants.
15820 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15821 necessarily aligned.
15822
15823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15826
15827 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15830 arithmetic to conserve alignment invariants.
15831
15832 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15833
15834 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15835 redundant declaration.
15836 (grub_efiemu_mm_obtain_request): Likewise.
15837 (grub_efiemu_prepare): Likewise.
15838
15839 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15842 to match types.
15843
15844 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15847 case of aunaligned recptr.
15848 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15849 alignment.
15850 (grub_hfsplus_btree_search): Handle unaligned index.
15851
15852 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15853
15854 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15855 to get freetag and skip.
15856
15857 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15858
15859 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15860 array.
15861 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15862 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15863
15864 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15867 name for checksum and fix allocation algorithm.
15868
15869 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * include/grub/types.h (grub_properly_aligned_t): New type.
15872 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15873 (grub_get_unaligned16): Add explicit casts.
15874 (grub_get_unaligned32): Likewise.
15875 (grub_get_unaligned64): Likewise.
15876 (grub_set_unaligned16): New function.
15877 (grub_set_unaligned32): Likewise.
15878
15879 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15882
15883 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15886 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15887 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15888
15889 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15892 conditionals.
15893
15894 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15897 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15898
15899 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 Unify and improve RAID and crypto xor.
15902
15903 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15904 changed to grub_crypto_xor
15905 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15906 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15907 Use bigger types when possible.
15908
15909 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15910
15911 * grub-core/disk/raid.c (scan_devices): Fix condition.
15912
15913 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15916 Make name a const ptr.
15917
15918 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15921 first argument a const pointer.
15922 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15923 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15924 proto.
15925 (grub_children_iterate): Likewise.
15926 (grub_machine_mmap_iterate): Remove redundant declaration.
15927
15928 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15931 (grub_cmd_acpi) [!x86]: Disable EBDA.
15932
15933 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 Enable UTF8 in gnulib regexp.
15936
15937 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15938 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15939 (isupper): Use grub_isupper.
15940 (isascii): New inline function.
15941 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15942 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15943 * grub-core/normal/charset.c (grub_utf8_process): New function.
15944 (grub_utf8_to_utf16): Use grub_utf8_process.
15945 (grub_encode_utf8_character): New function.
15946 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15947 * include/grub/charset.h (grub_utf8_process): New declaration.
15948 (grub_encode_utf8_character): Likewise.
15949 * include/grub/misc.h (grub_islower): New inline function.
15950 (grub_isupper): Likewise.
15951 (grub_strchrsub): Moved down to fix the definitions.
15952
15953 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15954
15955 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15956 specification.
15957
15958 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 * include/grub/loader.h (grub_loader_register_preboot_hook):
15961 Use struct preboot * and not void * for handle. All users updated.
15962 (grub_loader_unregister_preboot_hook): Likewise.
15963
15964 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15967 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15968 UTF-16-BE. All users updated.
15969 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15970 (grub_hfsplus_iterate_dir): Likewise.
15971 (grub_hfsplus_label): Likewise.
15972
15973 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15976
15977 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 Add missing const qualifiers.
15980
15981 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15982 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15983 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15984 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15985 (grub_lvm_check_flag): Likewise.
15986 * grub-core/efiemu/i386/coredetect.c
15987 (grub_efiemu_get_default_core_name): Likewise
15988 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15989 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15990 * grub-core/fs/ntfs.c (fixup): Likewise.
15991 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15992 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15993 (fzap_lookup): Likewise.
15994 (zap_lookup): Likewise.
15995 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15996 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15997 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15998 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15999 (grub_freebsd_add_meta_module): Likewise.
16000 (grub_cmd_freebsd_module): Likewise.
16001 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
16002 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
16003 (grub_xnu_writetree_get_size): Likewise.
16004 (grub_xnu_writetree_toheap_real): Likewise.
16005 (grub_xnu_find_key): Likewise.
16006 (grub_xnu_create_key): Likewise.
16007 (grub_xnu_create_value): Likewise.
16008 (grub_xnu_register_memory): Likewise.
16009 (grub_xnu_check_os_bundle_required): Likewise.
16010 (grub_xnu_scan_dir_for_kexts): Likewise.
16011 (grub_xnu_load_kext_from_dir): Likewise.
16012 * grub-core/normal/color.c (color_list): Likewise.
16013 * grub-core/normal/completion.c (current_word): Likewise.
16014 * grub-core/normal/menu_entry.c (insert_string): Likewise.
16015 * grub-core/term/serial.c (grub_serial_find): Likewise.
16016 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
16017 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
16018 Likewise.
16019 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
16020 (grub_freebsd_add_meta_module): Likewise.
16021 * include/grub/lib/arg.h (grub_arg_option): Likewise.
16022 * include/grub/net.h (grub_net_card_driver): Likewise.
16023 (grub_net_card): Likewise.
16024 (grub_net_app_protocol): Likewise.
16025 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
16026 * include/grub/serial.h (grub_serial_find): Likewise.
16027 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
16028 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
16029 (grub_xnu_create_value): Likewise.
16030 (grub_xnu_find_key): Likewise.
16031 (grub_xnu_scan_dir_for_kexts): Likewise.
16032 (grub_xnu_load_kext_from_dir): Likewise.
16033
16034 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
16035 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
16036 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
16037 Moved from here ...
16038 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
16039
16040 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
16041
16042 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
16043
16044 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
16047 (read_device): Fix size calculation.
16048
16049 2011-11-25 Robert Millan <rmh@gnu.org>
16050
16051 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
16052 (find_root_device_from_libzfs): Add zpool output parser to be used
16053 as fallback when libzfs isn't available.
16054
16055 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
16056
16057 * po/Makefile.in.in: Add missing escape-continuation.
16058
16059 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
16062
16063 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16064
16065 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
16066
16067 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16068
16069 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
16070
16071 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
16074
16075 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * grub-core/lib/adler32.c: Add missing license specification.
16078 * grub-core/lib/crc64.c: Likewise.
16079 * grub-core/loader/i386/pc/plan9.c: Likewise.
16080 * grub-core/partmap/plan.c: Likewise.
16081
16082 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
16083
16084 Add facility to debug GRUB with gdb under qemu.
16085
16086 * grub-core/gdb_grub.in: New file.
16087 * grub-core/gmodule.pl.in: Likewise.
16088 * grub-core/Makefile.core.def (gmodule.pl): New script.
16089 (gdb_grub): Likewise.
16090
16091 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16092
16093 * util/grub-mount.c (argp_parser): Accept relative pathes.
16094 * util/grub-fstest.c (argp_parser): Likewise.
16095
16096 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 Plan9 support.
16099
16100 * Makefile.util.def (libgrubmods): Add
16101 grub-core/partmap/plan.c.
16102 * docs/grub.texi: Notice Plan9 support.
16103 * grub-core/Makefile.core.def (plan9): New module.
16104 (part_plan): Likewise.
16105 * grub-core/loader/i386/pc/plan9.c: New file.
16106 * grub-core/partmap/plan.c: Likewise.
16107 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
16108 define.
16109 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
16110 * include/grub/mm.h (grub_extend_alloc): New inline function.
16111
16112 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 Make Reed-Solomon faster by using power of generator representation of
16115 GF(256)*.
16116
16117 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
16118 (gf_double_t): Likewise.
16119 (gf_invert): Removed.
16120 (gf_powx): New array.
16121 (gf_powx_inv): Likewise.
16122 (scratch): Move higher.
16123 (gf_reduce): Removed.
16124 (gf_mul): Use powx.
16125 (gf_invert): Likewise.
16126 (init_inverts): Replaced with ...
16127 (init_powx): ...this. All users updated.
16128 (pol_evaluate): Replace multiplications with additions.
16129 (rs_encode): Likewise.
16130 (gauss_eliminate): Call gf_invert.
16131 (grub_reed_solomon_add_redundancy): Call init_powx.
16132 (grub_reed_solomon_recover): Call init_powx unconditionally.
16133
16134 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16137
16138 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16141 disk->partiton for safety.
16142
16143 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16144
16145 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16146 Fix a memory leak.
16147 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16148
16149 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16152
16153 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16154
16155 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16156
16157 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 Fix spaces handling in proc/self/mountinfo.
16160
16161 * util/getroot.c (unescape): New function.
16162 (grub_find_root_device_from_mountinfo): Use unescape.
16163
16164 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 Support ZFS embedding.
16167
16168 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16169 (grub_zfs_fs): Register grub_zfs_embed.
16170
16171 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16172
16173 Fix MIPS compilation.
16174
16175 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16176 * include/grub/offsets.h: Rename decompressor fields from
16177 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16178 * util/grub-mkimage.c (image_targets): Use new names.
16179
16180 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 Defer multiboot device parsing until we're in compressed part.
16183
16184 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16185 bsd_part. setdevice has fallen into disuse.
16186 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16187 (bsd_part): Likewise.
16188 (boot_dev): New variable.
16189 (multiboot_trampoline): Don't parse multiboot device.
16190 Pass multiboot device in %edx.
16191 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16192 grub_boot_device.
16193 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16194 Likewise.
16195 * grub-core/kern/i386/pc/startup.S: Save edx.
16196 (grub_boot_drive): Removed.
16197 (grub_install_dos_part): Likewise.
16198 (grub_install_bsd_part): Likewise.
16199 (grub_boot_device): New variable.
16200 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16201 (grub_install_bsd_part): Likewise.
16202 (grub_boot_drive): Likewise.
16203 (grub_boot_device): New variable.
16204 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16205 Removed.
16206 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16207 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16208 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16209 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16210 * util/grub-install.in: Remove redundant condition.
16211
16212 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 Fix bug introduced by previous commit.
16215
16216 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16217
16218 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16219
16220 Use decompressors framework on i386-pc. It increases core size
16221 by 46 bytes but improves compatibility and maintainability.
16222
16223 * grub-core/Makefile.core.def (lzma_decompress): New image.
16224 (kernel): Add i386_pc_ldflags.
16225 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16226 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16227 to real_to_prot, prot_to_real and device info.
16228 * include/grub/offsets.h: Renamed decompressor offsets.
16229 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16230 (image_target_desc): Remove raw_size and rename decompressor fields.
16231 (compress_kernel): Handle lzma.
16232 (generate_image): Handle decompressors on i386-pc.
16233
16234 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16235
16236 * configure.ac: Add -fno-asynchronous-unwind-tables.
16237
16238 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 Move assembly code to C by using intwrap. It increases core size
16241 by 88 bytes but improves compatibility and maintainability.
16242
16243 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16244 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16245 ... here. Translated to C.
16246 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16247 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16248 ... here. Translated to C.
16249 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16250 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16251 ... here. Translated to C.
16252 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16253 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16254 ... here. Translated to C.
16255 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16256 * grub-core/term/i386/pc/console.c (grub_console_cls):
16257 ... here. Translated to C.
16258 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16259 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16260 ... here. Translated to C.
16261 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16262 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16263 Translated to C.
16264 * grub-core/term/i386/pc/console.c (int10_9): New function.
16265 (grub_console_putchar): Likewise.
16266 * include/grub/i386/pc/console.h: Removed the not anymore shared
16267 functions.
16268
16269 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 Move grub_chainloader_real_boot out of the kernel.
16272
16273 * grub-core/Makefile.am: Remove machine/loader.h.
16274 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16275 Removed.
16276 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16277 variable.
16278 (grub_relocator16_keep_a20_enabled): Likewise.
16279 (grub_relocator16_boot): Fill new variables.
16280 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16281 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16282 relocator.
16283 (grub_chainloader_unload): Likewise.
16284 (grub_chainloader_cmd): Likewise.
16285 * include/grub/i386/pc/loader.h: Removed.
16286 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16287 and esi. All initialisers updated.
16288
16289 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16290 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
16291
16292 * Makefile.util.def (grub-mount): New util.
16293 * .bzrignore: Add grub-mount.
16294 * configure.ac: Check for fuse and enable grub-mount if available.
16295 * docs/man/grub-mount.h2m: New file.
16296 * util/grub-mount.c: Likewise.
16297
16298 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 * grub-core/commands/efi/fixvideo.c: Gettextize.
16301 * grub-core/commands/hashsum.c: Likewise.
16302 * grub-core/commands/i386/cmostest.c: Likewise.
16303 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16304 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16305 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16306 * grub-core/commands/lsmmap.c: Likewise.
16307 * grub-core/commands/menuentry.c: Likewise.
16308 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16309 * grub-core/commands/setpci.c: Likewise.
16310 * grub-core/loader/i386/bsd.c: Likewise.
16311 * grub-core/loader/i386/linux.c: Likewise.
16312 * util/getroot.c: Likewise.
16313 * util/grub-editenv.c: Likewise.
16314 * util/grub-fstest.c: Likewise.
16315 * util/grub-mkfont.c: Likewise.
16316 * util/grub-mkimage.c: Likewise.
16317 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16318 * util/grub-pe2elf.c: Likewise.
16319 * util/grub-probe.c: Likewise.
16320 * util/grub-setup.c: Likewise.
16321 * util/ieee1275/ofpath.c: Likewise.
16322 * util/misc.c: Likewise.
16323 * util/raid.c: Likewise.
16324
16325 2011-11-11 Robert Millan <rmh@gnu.org>
16326
16327 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16328 __attribute__((unused)) from `os_dev', which *is* being used.
16329
16330 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16331
16332 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16333 forgotten define.
16334 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16335 GRUB_IA64_DL_GOT_ALIGN.
16336 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16337 GRUB_IA64_DL_TRAMP_ALIGN.
16338
16339 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16340
16341 Replace grub_fatal with normal errors in i386 linux loader.
16342
16343 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16344 (allocate_pages): Check find_efi_mmap_size return value.
16345 (grub_e820_add_region): Return error.
16346 (grub_linux_boot): Check mmap return value.
16347
16348 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16349
16350 * grub-core/commands/acpihalt.c: Gettextized.
16351 * grub-core/commands/cacheinfo.c: Likewise.
16352 * grub-core/commands/cmp.c: Likewise.
16353 * grub-core/commands/efi/loadbios.c: Likewise.
16354 * grub-core/commands/gptsync.c: Likewise.
16355 * grub-core/commands/ieee1275/suspend.c: Likewise.
16356 * grub-core/commands/legacycfg.c: Likewise.
16357 * grub-core/commands/memrw.c: Likewise.
16358 * grub-core/commands/minicmd.c: Likewise.
16359 * grub-core/commands/parttool.c: Likewise.
16360 * grub-core/commands/time.c: Likewise.
16361 * grub-core/commands/videoinfo.c: Likewise.
16362 * grub-core/disk/geli.c: Likewise.
16363 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16364 * grub-core/disk/luks.c: Likewise.
16365 * grub-core/disk/lvm.c: Likewise.
16366 * grub-core/font/font_cmd.c: Likewise.
16367 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16368 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16369 * grub-core/gfxmenu/view.c: Likewise.
16370 * grub-core/kern/emu/hostdisk.c: Likewise.
16371 * grub-core/kern/emu/main.c: Likewise.
16372 * grub-core/kern/emu/misc.c: Likewise.
16373 * grub-core/kern/emu/mm.c: Likewise.
16374 * grub-core/kern/mips/arc/init.c: Likewise.
16375 * grub-core/kern/mips/loongson/init.c: Likewise.
16376 * grub-core/kern/partition.c: Likewise.
16377 * grub-core/lib/i386/halt.c: Likewise.
16378 * grub-core/lib/mips/arc/reboot.c: Likewise.
16379 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16380 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16381 * grub-core/loader/i386/xnu.c: Likewise.
16382 * grub-core/loader/multiboot.c: Likewise.
16383 * grub-core/net/bootp.c: Likewise.
16384 * grub-core/net/net.c: Likewise.
16385 * grub-core/normal/term.c: Likewise.
16386 * grub-core/partmap/bsdlabel.c: Likewise.
16387 * grub-core/parttool/msdospart.c: Likewise.
16388 * grub-core/term/gfxterm.c: Likewise.
16389 * grub-core/term/terminfo.c: Likewise.
16390 * grub-core/video/i386/pc/vbe.c: Likewise.
16391 * util/grub-menulst2cfg.c: Likewise.
16392 * util/grub-mkdevicemap.c: Likewise.
16393 * util/grub-mklayout.c: Likewise.
16394 * util/grub-mkrelpath.c: Likewise.
16395 * util/grub-script-check.c: Likewise.
16396 * util/ieee1275/grub-ofpathname.c: Likewise.
16397 * util/resolve.c: Likewise.
16398
16399 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16400
16401 Support %1$d syntax.
16402
16403 * tests/printf_unit_test.c: New file.
16404 * Makefile.util.def (printf_test): New test.
16405 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16406
16407 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16410 fix.
16411
16412 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16415 dprintf.
16416 * grub-core/font/font.c (grub_font_load): Likewise.
16417
16418 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * util/grub-macho2img.c: Add comment concerning gettext.
16421 * grub-core/lib/legacy_parse.c: Likewise.
16422
16423 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16426 (grub_xvasprintf): Likewise.
16427
16428 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 Add const keyword to grub_env_get and gettextize week days.
16431
16432 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16433 (grub_read_hook_datetime): Return const char *.
16434 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16435 updated.
16436 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16437 Mark for gettext.
16438 (grub_get_weekday_name): Return const char *. Call gettext.
16439 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16440 char * and len as the argument. All users updated.
16441 (grub_script_argv_split_append): Receive const char *.
16442 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16443 * include/grub/env.h (grub_env_get): Likewise.
16444 (grub_env_read_hook_t): Return const char *.
16445 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16446 (grub_script_argv_split_append): Likewise.
16447
16448 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16451
16452 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16453
16454 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16455 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16456
16457 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16460 Fix prototype.
16461
16462 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 Fix mips compilation.
16465
16466 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16467 normal decoder.
16468 (hashes): Use in embed decoder as well (for sizes).
16469 (dec_stream_header): Fix embed decompressor logic.
16470 (dec_stream_footer): Likewise.
16471
16472 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16475 an error and not a fatal on unrecognised relocation types.
16476
16477 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16478
16479 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16480 Issue error rather than printf on unknown arguments.
16481
16482 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16483
16484 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16485 Make buf a const.
16486
16487 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16488
16489 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16490 Fix module name.
16491
16492 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16495 leftover debug printf.
16496
16497 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16500
16501 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16502
16503 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16504 A stylistic fix.
16505
16506 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16509
16510 2011-11-10 Shea Levy <slevy@tieronedesign.com>
16511
16512 Allow all modules to perform serial IO
16513
16514 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16515 * include/grub/serial.h (grub_serial_port_configure): New inline
16516 function.
16517 (grub_serial_port_fetch): Likewise.
16518 (grub_serial_port_put): Likewise.
16519 (grub_serial_port_fini): Likewise.
16520 (grub_serial_find): New proto.
16521
16522 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16523
16524 Put symlink at the end of the node and fix a potential
16525 memory corruption.
16526
16527 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16528 Make symlink into an array.
16529 (set_rockridge): Set have_symlink and alloc_dirents.
16530 (grub_iso9660_read_symlink): Use new layout.
16531 (grub_iso9660_iterate_dir): Fix memory corruption.
16532 Use new layout.
16533 (grub_iso9660_dir): Set have_symlink.
16534 (grub_iso9660_open): Likewise.
16535
16536 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 Remove local keyword.
16539
16540 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16541 (version_test_gt): Likewise.
16542 (version_find_latest): Likewise.
16543 (gettext_printf): Likewise.
16544 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16545
16546 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16549
16550 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 Fix ZFS memory and resource leaks.
16553
16554 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16555 All users updated.
16556 Free type on exit.
16557 (fill_vdev_info): New parameter inserted. All users updated.
16558 (check_pool_label): Likewise.
16559 (scan_disk): Likewise.
16560 (scan_devices): Close non-inserted disks.
16561 (fzap_iterate): Free l.
16562 (unmount_device): Free children descripto memory.
16563
16564 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16567 argument (access out of bounds).
16568
16569 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16572 >= 6 drives.
16573
16574 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16577 Fix declaration.
16578
16579 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 Fix several memory leaks.
16582
16583 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16584 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16585 (grub_cpio_dir): Likewise.
16586 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16587 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16588 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16589 (grub_romfs_label): Likewise.
16590 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16591 (squash_unmount): New function.
16592 (grub_squash_dir): Fix memory leak.
16593 (grub_squash_open): Likewise.
16594 (grub_squash_read): Likewise.
16595 (grub_squash_mtime): Likewise.
16596 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16597 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16598 * util/grub-fstest.c (fstest): Likewise.
16599
16600 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16603 avoid accessing beyond the array.
16604
16605 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16608
16609 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 Several AFFS fixes.
16612
16613 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16614 (GRUB_AFFS_FLAG_FFS): Removed.
16615 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16616 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16617 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16618 (grub_fshelp_node): Make block 32-bit.
16619 Add block_cache and last_block_cache.
16620 (grub_affs_read_block): Fill and use block cache.
16621 (grub_affs_read_file): Removed.
16622 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16623 boot block.
16624 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16625 safety.
16626 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16627 space.
16628 (grub_affs_close): Free block cache.
16629 (grub_affs_read): Use grub_fshelp_read_file directly.
16630
16631 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16634 with no error set.
16635
16636 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16639 used variable.
16640 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16641 Likewise.
16642
16643 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16646
16647 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16648 byteswap when needed.
16649
16650 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 Fix FreeBSD compilation.
16653
16654 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16655 to avoid circular dependency.
16656 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16657 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16658 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16659
16660 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 Fix ZFS crypto error types.
16663
16664 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16665 (grub_gcm_decrypt): Likewise.
16666 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16667 from PBKDF2.
16668
16669 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 Illumos support.
16672
16673 * Makefile.util.def (10_illumos): New script.
16674 * configure.ac: Set COND_HOST_ILLUMOS.
16675 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16676 Support Illumos calls.
16677 (find_partition_start) [__sun__]: Likewise.
16678 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16679 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16680 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16681 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16682 device.
16683 * util/grub-probe.c (probe) [__sun__]: Do character check.
16684 * util/grub.d/10_illumos.in: New file.
16685
16686 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 Support escaped commas in hostdisk.
16689
16690 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16691 (find_grub_drive): Use unescape_cmp.
16692 (make_device_name): Escape commas.
16693
16694 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16697
16698 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16701 variable.
16702
16703 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 Support trampoline jumps on powerpc.
16706
16707 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16708 __ia64__ path.
16709 (grub_dl_load_segments): Set mod->sz.
16710 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16711 segments.
16712 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16713 (jump): Likewise.
16714 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16715 function.
16716 (trampoline): New struct.
16717 (trampoline_template): New const.
16718 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16719 * include/grub/dl.h (grub_dl): Add sz element.
16720 [__powerpc__]: Follow __ia64__.
16721 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16722 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16723 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16724 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16725
16726 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16727
16728 ZFS crypto support.
16729
16730 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16731 * grub-core/Makefile.core.def (zfscrypt): New module.
16732 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16733 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16734 it. All users updated.
16735 (grub_zfs_decrypt): New var.
16736 (grub_zfs_load_key): Likewise.
16737 (zio_checksum_functions): Add SHA256+MAC.
16738 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16739 (zio_read): Handle encrypted blocks.
16740 (zap_verify): Remove incorrect check.
16741 (fzap_iterate): Handle non-standard fzap.
16742 (zap_iterate): Likewise.
16743 (zap_iterate_u64): New function.
16744 (dnode_get_fullpath): Load keys.
16745 * grub-core/fs/zfs/zfscrypt.c: New file.
16746 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16747 (grub_crypto_ecb_encrypt): Make input const.
16748 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16749 (grub_crypto_ecb_encrypt): Make input const.
16750 (GRUB_CIPHER_AES): New macro.
16751 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16752 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16753 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16754 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16755 prefix. All users updated.
16756 (grub_zfs_add_key): New proto.
16757 (grub_zfs_decrypt): Likewise.
16758 (grub_zfs_load_key): Likewise.
16759 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16760 * util/grub-fstest.c (options): Add -K option.
16761 (argp_parser): Likewise.
16762
16763 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 Support zle compression on ZFS.
16766
16767 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16768 (decomp_table): Add zle.
16769 * include/grub/zfs/zio.h (zio_compress): Add zle.
16770
16771 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 Support BtrFS embedding.
16774
16775 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16776 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16777 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16778 * util/grub-setup.c (setup): Use fs embedding if available.
16779 Add additional sanity check.
16780
16781 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16782
16783 * util/grub-install.in: Fix condition for config_opt.
16784
16785 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 Support third redundancy strip on raidz3.
16788
16789 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16790 Return error on singularity. All users updated.
16791 (read_device): Don't stop on 3rd failure on raidz3.
16792
16793 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 Support case-insensitive ZFS subvolumes.
16796
16797 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16798 All users updated.
16799 (zap_hash): Likewise.
16800 (name_cmp): New function.
16801 (zap_leaf_array_equal): New parameter case_insensitive.
16802 All users updated.
16803 (zap_leaf_lookup): Likewise.
16804 (fzap_lookup): Likewise.
16805 (zap_lookup): Likewise.
16806 (dnode_get_path): New parameter case_insensitive. Retrieve case
16807 sensitiviness of a volume. All users updated.
16808 (dnode_get_fullpath): New parameter case_insensitive.
16809 All users updated.
16810 (grub_zfs_dir): Set info.case_insensitiveness.
16811
16812 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 Support second redundancy strip on raidz(2,3).
16815
16816 * grub-core/fs/zfs/zfs.c (powx): New array.
16817 (powx_inv): Likewise.
16818 (poly): New const.
16819 (xor_out): New function.
16820 (gf_mul): Likewise.
16821 (recovery): Likewise.
16822 (read_device): Use second redundancy strip.
16823
16824 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 Use a power of generator representation of GF(256) multiplication group
16827 to save space time and complexity.
16828
16829 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16830 (raid6_table2): Likewise.
16831 (powx): New array.
16832 (powx_inv): Likewise.
16833 (poly): New const.
16834 (grub_raid_block_mul): Replace with ...
16835 (grub_raid_block_mulx): ...this.
16836 (grub_raid6_init_table): Rewritten.
16837 (grub_raid6_recover): Use power of generator representation.
16838
16839 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16842 for the right device.
16843
16844 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16845
16846 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16847 expected by grub-mkimage and it's more clear since there is no implicit
16848 padding.
16849
16850 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16851
16852 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16853 disk.
16854 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16855
16856 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16857
16858 * util/grub-mkrescue.in: Fix handling xorriso option.
16859
16860 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16861
16862 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16863 NULL.
16864
16865 2011-11-03 crocket <crockabiscuit@gmail.com>
16866
16867 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16868
16869 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 XZ CRC64 and SHA256 support.
16872
16873 * Makefile.util.def (libgrubmods): Add crc64.c.
16874 * grub-core/Makefile.core.def (crc64): New module.
16875 * grub-core/lib/crc64.c: New file.
16876 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16877 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16878 Fix the type.
16879 (MAX_HASH_SIZE): New define.
16880 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16881 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16882 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16883 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16884 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16885 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16886 Handle non-crc32 hashes.
16887 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16888 (dec_stream_header): Handle non-crc32 hashes.
16889 (dec_stream_footer): Likewise.
16890 (dec_block_header): Likewise.
16891 (dec_main): Likewise.
16892 (xz_dec_init): Likewise.
16893 (xz_dec_reset): Likewise.
16894 (xz_dec_end): Likewise.
16895 * util/import_gcry.py: Add CRC64 line.
16896
16897 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16898
16899 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16900 as well.
16901
16902 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 Make reiserfs label retrieval similar to other *_label functions.
16905
16906 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16907 (REISERFS_MAX_LABEL_LENGTH): Removed.
16908 (REISERFS_LABEL_OFFSET): Likewise.
16909 (grub_reiserfs_label): Rewritten.
16910
16911 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16914 field.
16915
16916 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16919
16920 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16921
16922 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16923 drive failure on both raidz and raidz2.
16924
16925 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 Fix RAIDZ(2) for >= 5 devices.
16928
16929 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16930 asize argument. All users updated.
16931
16932 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 Fix RAIDZ(2).
16935
16936 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16937 (fill_vdev_info_real): Set ashift.
16938 (read_device): Rewrite RAIDZ part based on reverse engineering.
16939
16940 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16943 don't report potentially unavialiable fields in debug output.
16944 (find_path): Fix double-free and memory leak.
16945
16946 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 Read label on UFS1.
16949
16950 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16951 (grub_ufs_fs): Always set .label.
16952
16953 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 Use shifts in UFS.
16956
16957 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16958 (grub_ufs_data): New field log2_blksz.
16959 (grub_ufs_read_file): Use shifts.
16960 (grub_ufs_mount): Check block size and logarithm it.
16961
16962 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16965 long symlinks.
16966
16967 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16968
16969 Handle symlinks and long names on tar and cpio.
16970
16971 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16972 (ATTR_FILE): Likewise.
16973 (ATTR_DIR): Likewise.
16974 (ATTR_LNK): Likewise.
16975 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16976 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16977 L and K entries.
16978 (grub_cpio_mount): Zero-fill data.
16979 (handle_symlink): New function.
16980 (grub_cpio_dir): Handle symlinks.
16981 (grub_cpio_open): Likewise.
16982 (grub_cpio_close) [MODE_USTAR]: Free linkname.
16983
16984 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 Fix iso9660 filename limitations and fix memory leaks.
16987
16988 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16989 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16990
16991 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 Fix JFS file name length limitations.
16994
16995 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16996 (grub_jfs_diropen): Fix maximum filename length.
16997 (grub_jfs_getent): Fix filename length.
16998 (grub_jfs_lookup_symlink): Fix size checks.
16999
17000 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17001
17002 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
17003 string.
17004
17005 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 Leverage BFS implementation to read AFS.
17008
17009 * Makefile.util.def (libgrubmods): Add afs.c.
17010 * grub-core/Makefile.core.def (afs): New module
17011 * grub-core/fs/afs.c: New file.
17012 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
17013
17014 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
17017
17018 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17019
17020 * grub-core/fs/bfs.c: Run indent.
17021
17022 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 BFS implementation based on the specification.
17025
17026 * grub-core/fs/bfs.c: New file.
17027 * Makefile.util.def (libgrubmods): Add bfs.c.
17028 * grub-core/Makefile.core.def (bfs): New module.
17029
17030 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 * util/grub-fstest.c (cmd_cp): Clarify error message.
17033 (cmd_cmp): Likewise.
17034
17035 2011-10-30 Yves Blusseau <blusseau@zetam.org>
17036
17037 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
17038 and befs_be.
17039
17040 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 Remove afs and befs because of copyright problem.
17043
17044 * grub-core/fs/afs.c: Removed.
17045 * grub-core/fs/afs_be.c: Removed.
17046 * grub-core/fs/befs.c: Removed.
17047 * grub-core/fs/befs_be.c: Removed.
17048 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
17049 * grub-core/Makefile.core.def (afs): Removed.
17050 (afs_be): Likewise.
17051 (befs): Likewise.
17052 (befs_be): Likewise.
17053
17054 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17055
17056 Prefer rockridge over Joliet.
17057
17058 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
17059 to ...
17060 (set_rockridge): ... here.
17061 (grub_iso9660_mount): Check rockridge on the primary label when
17062 discovering. Ignore Joliet if Rockridge is present.
17063
17064 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 Use shifts in nilfs2.
17067
17068 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
17069 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
17070 (grub_nilfs2_palloc_entries_per_group): Replace with ...
17071 (grub_nilfs2_log_palloc_entries_per_group): ... this.
17072 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
17073 (grub_nilfs2_entries_per_block): Replaced with ...
17074 (grub_nilfs2_log_entries_per_block_log): ... this.
17075 (grub_nilfs2_blocks_per_group): Replaced with ...
17076 (grub_nilfs2_blocks_per_group_log): ... this.
17077 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
17078 (grub_nilfs2_blocks_per_desc_block_log): ... this.
17079 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
17080 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
17081 (grub_nilfs2_palloc_entry_offset): Replaced ...
17082 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
17083 (grub_nilfs2_dat_translate): Use shifts.
17084 (grub_nilfs2_read_inode): Likewise.
17085 (GRUB_MOD_INIT): Ensure that logs are correct.
17086
17087 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 Use shifts in minix filesystem.
17090
17091 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
17092 (GRUB_MINIX_ZONE2SECT): Likewise.
17093 (grub_minix_data): Replace block_size with log_block_size.
17094 (grub_minix_read_file): Use shifts.
17095 (grub_minix_mount): Check block size and take a logarithm.
17096
17097 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17098
17099 Use shifts in squash4.
17100
17101 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
17102 (squash_mount): Check block size and take logarithm.
17103 (direct_read): Use shifts.
17104
17105 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17106
17107 Correct befs block counting logic.
17108
17109 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
17110 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
17111 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
17112 (grub_afs_read_inode): Use block_shift.
17113 (RANGE_SHIFT): New definition.
17114 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
17115 unexpected conditions, use shifts and appropriate types.
17116 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
17117
17118 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 * grub-core/disk/raid.c (scan_devices): Check partition.
17121 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17122
17123 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 Support BFS (befs) UUID.
17126
17127 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
17128 (grub_afs_small_data_element_header): New struct.
17129 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
17130 (grub_afs_read_attribute) [MODE_BFS]: New function.
17131 (grub_afs_iterate_dir): Allocate for complete inode.
17132 (grub_afs_mount): Likewise.
17133 (grub_afs_uuid) [MODE_BFS]: New function.
17134 (grub_afs_fs) [MODE_BFS]: Add .uuid.
17135
17136 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17139 (zfs_unmount): Fix memory leak.
17140
17141 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 Support NTFS reparse points.
17144
17145 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17146 (symlink_descriptor): New struct.
17147 (grub_ntfs_read_symlink): New function.
17148 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17149 (grub_ntfs_open): Likewise.
17150
17151 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17154
17155 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17156
17157 fstest xnu_uuid subcommand.
17158
17159 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17160 grub-core/commands/xnu_uuid.c.
17161 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17162 (fstest): Handle xnu_uuid.
17163 (options): Document xnu_uuid.
17164 (argp_parser): Parse xnu_uuid.
17165
17166 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17169 -l argument. Add newline at the end if printing.
17170 (GRUB_MOD_INIT): Document -l.
17171
17172 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17175
17176 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17177
17178 ZFS multi-device and version 33 support.
17179
17180 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17181 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17182 (grub_zfs_data): Add multidev-ice-related fields.
17183 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17184 (dva_get_offset): Make dva const.
17185 (zfs_fetch_nvlist): New function.
17186 (fill_vdev_info_real): Likewise.
17187 (fill_vdev_info): Likewise.
17188 (check_pool_label): Likewise.
17189 (scan_disk): Likewise.
17190 (scan_devices): Likewise.
17191 (read_device): Likewise.
17192 (read_dva): Likewise.
17193 (zio_read_gang): Use read_dva.
17194 (zio_read_data): Likewise.
17195 (zap_leaf_lookup): Add missing endian conversion.
17196 (zap_verify): Add missing endian conversion. All users updated.
17197 (fzap_lookup): Likewise.
17198 (fzap_iterate): Likewise.
17199 (dnode_get_path): Handle SA bonus.
17200 (nvlist_find_value): Make input const. All users updated.
17201 (unmount_device): New function.
17202 (zfs_unmount): Use unmount_device.
17203 (zfs_mount): Use scan_disk.
17204 (zfs_mtime): New function.
17205 (grub_zfs_open): Handle system attributes.
17206 (fill_fs_info): Likewise.
17207 (grub_zfs_dir): Likewise.
17208 (grub_zfs_fs): Add mtime.
17209 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17210 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17211 (SA_MTIME_OFFSET): Likewise.
17212 (SA_SYMLINK_OFFSET): Likewise.
17213 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17214 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17215 (fstest): Support zfsinfo.
17216 (argp_parser): Likewise.
17217
17218 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17219
17220 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17221 error.
17222
17223 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17224
17225 ZFS fixes.
17226
17227 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17228 sharing the same block. Iterate over correct number of indices.
17229 (dnode_get_path): Handle symlinks correctly.
17230
17231 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17234
17235 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17236
17237 Read label on HFS+.
17238
17239 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17240 (grub_hfsplus_btree_search): Fix types.
17241 (grub_hfsplus_label): Implement.
17242
17243 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17244
17245 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17246
17247 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17250
17251 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17252
17253 Fix symlink handling on iso9660.
17254
17255 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17256 All users updated.
17257 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17258 (grub_iso9660_read_symlink): Moved most of code ...
17259 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17260
17261 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17264 Use union to avoid breaking strict-aliasing rules.
17265
17266 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 Support multi-extent iso files.
17269
17270 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17271 Add node.
17272 (grub_fshelp_node): Revamp. All users updated.
17273 (FLAG_*): New enum.
17274 (read_node): New function.
17275 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17276 All users updated.
17277 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17278 (get_node_size): New function.
17279 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17280 entries.
17281 Fix memory leak on . and ..
17282 (grub_iso9660_read): Use read_node.
17283 (grub_iso9660_close): Free node.
17284
17285 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17286
17287 Fix tar 4G limit and handle paths containing dot.
17288
17289 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17290 (canonicalize): New function.
17291 (grub_cpio_find_file): Use canonicalize. Store offs in
17292 grub_disk_addr_t.
17293 (grub_cpio_dir): Use grub_disk_addr_t.
17294 (grub_cpio_open): Likewise.
17295
17296 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17299
17300 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17301 unused flags.
17302 (grub_squash_inode): Add long_file and block_size.
17303 (grub_squash_cache_inode): New struct.
17304 (grub_squash_dirent): Make types into enum.
17305 (SQUASH_TYPE_LONG_REGULAR): New type.
17306 (grub_squash_frag_desc): Add field size.
17307 (SQUASH_BLOCK_FLAGS): New enum.
17308 (grub_squash_data): Use grub_squash_cache_inode.
17309 (grub_fshelp_node): Make ino_chunk 64-bit.
17310 (read_chunk): Minor argument change. All users updated.
17311 (squash_mount): Use correct le_to_cpu.
17312 (grub_squash_open): Handle LONG_REGULAR.
17313 (direct_read): New function.
17314 (grub_squash_read_data): Handle blocks correctly.
17315
17316 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17319
17320 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17323
17324 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17325
17326 Fix 2G limit on ZFS.
17327
17328 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17329 types.
17330 (uberblock_verify): Likewise.
17331 (dmu_read): Likewise.
17332 (grub_zfs_read): Likewise. Remove invalid cast.
17333
17334 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17337 (grub_jfs_blkno): Fix incorrect shift.
17338 (grub_jfs_read_file): Use more appropriate types.
17339
17340 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17341
17342 Support triple indirect on minix2 and minix3.
17343
17344 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17345 Declare triple_indir_zone.
17346 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17347 indirect.
17348
17349 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 Minix FS fixes.
17352
17353 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17354 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17355 Rename ctime to mtime. All users updated.
17356 (grub_minix_get_file_block): Fix types and double indirect computations.
17357
17358 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17361 if no label is found.
17362 (grub_fat_iterate_dir): Fix file size type.
17363 (grub_fat_iterate_dir): Likewise.
17364
17365 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17366
17367 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17368 save some space.
17369 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17370 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17371
17372 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17375
17376 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 * util/import_gcry.py: Accept space between # and include.
17379
17380 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17383
17384 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17387
17388 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17389 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17390 yylex_strncpy.
17391 * grub-core/script/yylex.l: Add fine-grained #pragma.
17392
17393 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17396 New inline function.
17397 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17398 Likewise.
17399 (memset) [GRUB_UTIL]: Likewise.
17400 (memcmp) [GRUB_UTIL]: Likewise.
17401
17402 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17405 inline function rather than a define.
17406
17407 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 * util/grub-setup.c: Add missing include.
17410
17411 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17412
17413 * util/ieee1275/grub-ofpathname.c: Add missing include.
17414
17415 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17416
17417 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17418 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17419 Likewise.
17420
17421 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17422
17423 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17424 grub_memcmp usage.
17425
17426 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17427
17428 * util/grub-install.in: Add datarootdir as per automake manual
17429 suggestion.
17430 * util/grub-mknetdir.in: Likewise.
17431
17432 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17433
17434 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17435 suggestion.
17436 * util/grub.d/10_kfreebsd.in: Likewise.
17437 * util/grub.d/10_linux.in: Likewise.
17438 * util/grub.d/10_netbsd.in: Likewise.
17439 * util/grub.d/10_windows.in: Likewise.
17440 * util/grub.d/20_linux_xen.in: Likewise.
17441
17442 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 Remove redundant grub_kernel_image_size.
17445
17446 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17447 _edata and _start.
17448 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17449 the small code. It moves it only by few bytes but simplifies the code.
17450 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17451 _start.
17452 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17453 (grub_kernel_image_size): Removed.
17454 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17455 (grub_kernel_image_size): Removed.
17456 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17457 compiled with Apple toolchain.
17458 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17459 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17460 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17461 (grub_total_module_size): Likewise.
17462 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17463 Removed.
17464 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17465 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17466 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17467 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17468 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17469 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17470 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17471 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17472 Removed.
17473 (grub_total_module_size): Removed.
17474 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17475 (image_targets): Likewise.
17476 Set .compressed_size to no field on sparc.
17477 (generate_image): Remove kernel_image_size handling.
17478
17479 2011-10-19 Szymon Janc <szymon@janc.net.pl>
17480
17481 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17482 NULL pointer dereference.
17483
17484 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17487 done with a dedicated section.
17488
17489 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17490 Ensure the correct position of boot_path.
17491 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17492 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17493 other fields.
17494 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17495 * include/grub/boot.h: Removed. All references removed.
17496 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17497 Removed.
17498 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17499
17500 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17501
17502 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17503 name.
17504
17505 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17506
17507 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17508
17509 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17512 Don't add the bogus brackets.
17513
17514 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 ExFAT support.
17517
17518 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17519 * grub-core/Makefile.core.def (exfat): New module.
17520 * grub-core/fs/exfat.c: New file.
17521 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17522 (GRUB_FAT_ATTR_*): Make into an enum.
17523 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17524 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17525 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17526 (GRUB_FAT_MAXFILE): Removed.
17527 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17528 (grub_current_fat_bpb_t): New type.
17529 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17530 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17531 (grub_fat_dir_node_t): New type.
17532 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17533 (fat_log2) [MODE_EXFAT]: Removed.
17534 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17535 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17536 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17537 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17538 (grub_fat_label) [MODE_EXFAT]: New function.
17539 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17540 reserved_first_sector to 0.
17541
17542 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17543
17544 Move grub_reboot out of the kernel.
17545
17546 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17547 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17548 * grub-core/lib/efi/reboot.c: ... here.
17549 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17550 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17551 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17552 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17553 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17554 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17555 * grub-core/lib/ieee1275/reboot.c: ... here.
17556 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17557 * grub-core/lib/mips/arc/reboot.c: ... here.
17558 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17559 * grub-core/lib/mips/loongson/reboot.c: ...here.
17560 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17561 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17562 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17563 * include/grub/i386/reboot.h: New file.
17564 * include/grub/mips/loongson/ec.h: Fix includes.
17565 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17566 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17567 * grub-core/lib/i386/reboot.c: New file.
17568
17569 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17570
17571 Make grub_prefix into module to fix the arbitrary limit and save
17572 some space.
17573
17574 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17575 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17576 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17577 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17578 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17579 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17580 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17581 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17582 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17583 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17584 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17585 * include/grub/ia64/efi/kernel.h: Removed.
17586 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17587 (grub_prefix): Removed.
17588 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17589 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17590 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17591 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17592 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17593 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17594 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17595 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17596 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17597 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17598 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17599 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17600 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17601 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17602 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17603 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17604 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17605 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17606 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17607 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17608 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17609 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17610 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17611 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17612 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17613 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17614 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17615 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17616 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17617 from module.
17618 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17619 prefix_end.
17620 (image_targets): Likewise.
17621 (generate_image): Put prefix as a module.
17622
17623 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 Replace grub_module_iterate with FOR_MODULES.
17626
17627 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17628 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17629 (grub_efi_modules_addr): ...this.
17630 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17631 (grub_efi_init): Set grub_modbase.
17632 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17633 (grub_modbase): New variable.
17634 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17635 (grub_modbase): New variable.
17636 (grub_machine_init): Set grub_modbase.
17637 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17638 (grub_modbase): New variable.
17639 (grub_machine_init): Set grub_modbase.
17640 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17641 (grub_modbase): New variable.
17642 (grub_machine_init): Set grub_modbase.
17643 * grub-core/kern/main.c (grub_module_iterate): Remove.
17644 (grub_modules_get_end): Use grub_modbase.
17645 (grub_load_modules): Use FOR_MODULES.
17646 (grub_load_config): Likewise.
17647 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17648 (grub_modbase): New variable.
17649 (grub_machine_init): Set grub_modbase.
17650 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17651 (grub_modbase): New variable.
17652 (grub_machine_init): Set grub_modbase.
17653 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17654 Removed.
17655 (grub_modbase): New variable.
17656 (grub_machine_init): Set grub_modbase.
17657 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17658 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17659 (grub_module_iterate): Likewise.
17660 (grub_modbase): New variable declaration.
17661 (FOR_MODULES): New macro.
17662
17663 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17664
17665 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17666 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17667
17668 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17669
17670 Fix few obvious type discrepancies.
17671
17672 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17673 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17674 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17675 variable.
17676 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17677 and connected types.
17678 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17679 offset.
17680 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17681 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17682 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17683 and connected types.
17684
17685 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 Fix python 3.x incompatibilities.
17688
17689 * gentpl.py: Put brackets around print strings.
17690 * util/import_gcry.py: Open explicitly as utf-8.
17691 Use in instead of has_key.
17692
17693 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17694
17695 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17696 (GRUB_XFS_INO_AGBITS): Make into inline function.
17697 (GRUB_XFS_INO_INOINAG): Likewise.
17698 (GRUB_XFS_INO_AG): Likewise.
17699 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17700 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17701 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17702 (GRUB_XFS_EXTENT_SIZE): Likewise.
17703 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17704 (GRUB_XFS_NEXT_DIRENT): Likewise.
17705 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17706 (grub_xfs_read_file): Fix offset type.
17707
17708 2011-10-15 Robert Millan <rmh@gnu.org>
17709
17710 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17711
17712 2011-10-15 Robert Millan <rmh@gnu.org>
17713
17714 Fix build problem on FreeBSD and GNU/kFreeBSD.
17715
17716 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17717
17718 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17719
17720 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17721
17722 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17723 types.
17724 (grub_hfsplus_btree_recoffset): Likewise.
17725 (grub_hfsplus_btree_recptr): Likewise.
17726 (grub_hfsplus_find_block): Likewise.
17727 (grub_hfsplus_btree_search): Likewise.
17728 (grub_hfsplus_read_block): Likewise.
17729 (grub_hfsplus_read_file): Likewise.
17730 (grub_hfsplus_mount): Likewise.
17731 (grub_hfsplus_btree_iterate_node): Likewise.
17732 (grub_hfsplus_btree_search): Likewise.
17733 (grub_hfsplus_iterate_dir): Likewise.
17734 (grub_hfsplus_read): A small code simplification.
17735
17736 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 * grub-core/kern/emu/hostdisk.c
17739 (convert_system_partition_to_system_disk): Don't assume that children
17740 of mapper nodes are mapper nodes.
17741
17742 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17743
17744 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17745 * include/grub/misc.h (grub_isxdigit): New function.
17746 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17747 switched to grub_isxdigit.
17748 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17749 number starting with a letter.
17750
17751 2011-10-09 Robert Millan <rmh@gnu.org>
17752
17753 LVM support for FreeBSD and GNU/kFreeBSD.
17754
17755 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17756 GNU/kFreeBSD.
17757 (LVM_DEV_MAPPER_STRING): Move from here ...
17758 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17759 * util/getroot.c: Include `<grub/util/lvm.h>'.
17760 (grub_util_get_dev_abstraction): Enable
17761 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17762 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17763 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17764 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17765 support it.
17766 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17767 GNU/kFreeBSD.
17768 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17769 when LVM abstraction is required for ${GRUB_DEVICE}.
17770
17771 2011-10-06 Szymon Janc <szymon@janc.net.pl>
17772
17773 Add support for LZO compression in GRUB:
17774 - import of minilzo library,
17775 - LZO decompression for btrfs,
17776 - lzop files decompression.
17777
17778 * grub-core/io/lzopio.c: New file.
17779 * grub-core/lib/adler32.c: Likewise.
17780 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17781 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17782 * grub-core/lib/minilzo/minilzo.c: Likewise.
17783 * grub-core/lib/minilzo/minilzo.h: Likewise.
17784 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17785 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17786 grub-core/lib/minilzo/minilzo.c to common.
17787 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17788 cflags in cppflags.
17789 * grub-core/Makefile.core.def (btrfs): Likewise.
17790 * grub-core/Makefile.core.def (lzopio): New module.
17791 (adler32): Likewise.
17792 * grub-core/fs/btrfs.c: Include minilzo.h.
17793 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17794 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17795 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17796 (grub_btrfs_lzo_decompress): New function.
17797 (grub_btrfs_extent_read): Add support for LZO compression type.
17798 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17799 (GRUB_USHRT_MAX): Likewise.
17800 (GRUB_UINT_MAX): Likewise.
17801 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17802 (UINT_MAX): Likewise.
17803 (CHAR_BIT): Likewise.
17804 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17805 grub-core/lib/posix_wrap/limits.h
17806 (UCHAR_MAX): Likewise.
17807 * include/grub/file.h (grub_file_filter_id): New compression filter
17808 GRUB_FILE_FILTER_LZOPIO.
17809 * include/grub/file.h (grub_file_filter_id): Set
17810 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17811 * include/grub/types.h (grub_get_unaligned16): New function.
17812 (grub_get_unaligned32): Likewise.
17813 (grub_get_unaligned64): Likewise.
17814 * util/import_gcry.py (cryptolist): Add adler32.
17815
17816 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17817
17818 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17819 in perspective decreases the complexity of build system and fixes
17820 compilation right now.
17821
17822 2011-10-01 Ales Nesrsta <starous@volny.cz>
17823
17824 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17825 (fixed problem related to using UHCI with coreboot).
17826
17827 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17828
17829 * gentpl.py: Use Autogen macros so that the output template file
17830 (Makefile.tpl) size is reduced.
17831
17832 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
17833
17834 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17835 extra_dist.
17836
17837 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17838
17839 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17840 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17841
17842 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17843
17844 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17845 _fullpath.
17846
17847 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17848
17849 Remove extra declaration of sleep for mingw32.
17850
17851 * util/misc.c (sleep) [__MINGW32__]: Removed.
17852 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17853
17854 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17855
17856 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17857 type and packname.
17858 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17859 Resurrected.
17860 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17861 (grub_netbsd_btinfo_bootwedge): New struct.
17862 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17863 New function.
17864 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17865
17866 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17867
17868 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17869 loader.
17870
17871 2011-09-28 Andreas Born <futur.andy@googlemail.com>
17872
17873 Fix incorrect identifiers in bash-completion.
17874
17875 * util/bash-completion.d/grub-completion.bash.in
17876 (_grub_mkpasswd-pbkdf2): Rename to ...
17877 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17878 (_grub_script-check): Rename to ...
17879 (_grub_script_check): ... this. All users updated.
17880
17881 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17884 Return 0 if disk isn't biosdisk.
17885
17886 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17887
17888 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17889 on NetBSD.
17890 * Makefile.util.def (grub-fstest): Likewise.
17891
17892 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17893
17894 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17895 Get sector size from disk label.
17896
17897 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
17898
17899 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17900 */README* as well as README*.
17901 Reported by: Axel Beckert.
17902
17903 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17906 case of less than 256 MiB of RAM.
17907
17908 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 * grub-core/commands/wildcard.c (make_regex): Handle @.
17911
17912 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17913
17914 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17915
17916 2011-08-21 Szymon Janc <szymon@janc.net.pl>
17917
17918 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17919 AC_LANG_CONFTEST macros.
17920
17921 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17922
17923 Add grub-fstest option to uncompress data for commands.
17924
17925 * util/grub-fstest.c (uncompress): New var.
17926 (options): New option -u.
17927
17928 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17929
17930 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17931 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17932
17933 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17934
17935 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17936 file type was not recognized correctly (not gzip or corrupted).
17937
17938 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17939
17940 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17941 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17942
17943 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17946 loongson.
17947 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17948 video_radeon_fuloong2e.
17949 * grub-core/video/radeon_fuloong2e.c: New file.
17950 * include/grub/video.h (grub_video_id_t): Add new ID
17951 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17952
17953 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17956 define.
17957 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17958 that PRID matches the detected subplatform and reset the subplatform
17959 if it doesn't.
17960
17961 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17962
17963 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17964
17965 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17966
17967 Fix PCI iterating on functions >= 4.
17968
17969 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17970 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17971 Removed.
17972 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17973 (grub_pci_read): Fix bitmask.
17974 (grub_pci_read_word): Likewise.
17975 (grub_pci_read_byte): Likewise.
17976 (grub_pci_write): Likewise.
17977 (grub_pci_write_word): Likewise.
17978 (grub_pci_write_byte): Likewise.
17979
17980 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17983 can still be specified in TARGET_CFLAGS)
17984
17985 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17988
17989 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17990 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17991 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17992 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17993 (FULOONG): Rename to ...
17994 (FULOONG2F): ... this. All users updated.
17995 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17996 (machtype_fuloong2f_str): ... this.
17997 (machtype_fuloong2e_str): New string.
17998 Check for machtype_fuloong2e_str.
17999 * grub-core/loader/mips/linux.c (loongson_machtypes)
18000 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
18001 * grub-core/term/serial.c (loongson_defserial)
18002 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
18003 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
18004 loongson_defserial.
18005 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
18006 Rename to ...
18007 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
18008 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
18009 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
18010 to IMAGE_FULOONG2F_FLASH. All users updated.
18011 (image_targets): Rename images.
18012 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
18013
18014 2011-08-19 Szymon Janc <szymon@janc.net.pl>
18015
18016 Make enable of disk cache statistics code configurable.
18017
18018 * configure.ac: --enable-cache-stats added.
18019 * config.h.in (DISK_CACHE_STATS): New define.
18020 * grub-core/Makefile.core.def (cacheinfo): New command.
18021 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
18022 * grub-core/commands/cacheinfo.c: New file.
18023 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
18024 moved to cacheinfo.c.
18025 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
18026 debug code.
18027 * include/grub/disk.h: Likewise.
18028
18029 2011-08-19 Szymon Janc <szymon@janc.net.pl>
18030
18031 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
18032 * grub-core/Makefile.am: Likewise.
18033
18034 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18035
18036 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
18037 non-zero pull.
18038
18039 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18040
18041 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
18042 All users updated.
18043 (grub_jfs_lookup_symlink): Use correct starting inode.
18044
18045 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 * util/grub-setup.c (main): Add missing gcry initialisation.
18048
18049 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 Don't accept text modes on EFI when booting Linux.
18052
18053 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
18054 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
18055
18056 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
18057 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
18058
18059 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
18060 use of "/path/.." as in grub-install for EFI as well as handling
18061 symlinks correctly.
18062 Fixes Debian bug #637768.
18063
18064 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
18065
18066 * util/grub-probe.c: Remove duplicate #include.
18067
18068 2011-08-10 Robert Millan <rmh@gnu.org>
18069
18070 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
18071
18072 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
18073 function.
18074 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
18075 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
18076
18077 2011-08-03 Robert Millan <rmh@gnu.org>
18078
18079 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
18080 la_array as packed.
18081 Reported by: Zachary Bedell
18082
18083 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18084
18085 * configure.ac: The Loongson port requires grub-mkfont due to its
18086 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
18087 be built.
18088
18089 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18090
18091 * util/grub-install.in: Don't source grub-mkconfig_lib until after
18092 processing arguments (otherwise help2man fails when GRUB has not yet
18093 been installed).
18094
18095 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 New script grub-mkstandalone.
18098
18099 * Makefile.util.def (grub-mkstandalone): New script.
18100 * docs/man/grub-mkstandalone.h2m: New file.
18101 * util/grub-mkstandalone.in: Likewise.
18102
18103 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18104
18105 Support ATA disks with 4K sectors.
18106
18107 * include/grub/ata.h (grub_ata): New member log_sector_size.
18108 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
18109 (grub_ata_identify): Read sector size.
18110 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
18111
18112 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18113
18114 * util/grub-install.in: Don't use uhci outside of x86.
18115
18116 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * util/grub-mkrescue.in: Add missing quotes.
18119
18120 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
18123 dereference.
18124
18125 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
18128
18129 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * include/grub/video.h: add missing EXPORT_FUND on
18132 grub_video_edid_checksum and grub_video_edid_preferred_mode.
18133
18134 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 * include/grub/mips/kernel.h: Fix define conflict.
18137
18138 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18141 all four ways.
18142
18143 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
18144
18145 Preferred resolution detection for VBE.
18146
18147 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18148 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18149 the Flat Panel extension, in line with the X.org VESA driver.
18150 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18151 New function.
18152 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18153 (grub_vbe_bios_read_edid): Likewise.
18154 (grub_vbe_get_preferred_mode): Likewise.
18155 (grub_video_vbe_setup): When the mode is "auto", try to get the
18156 preferred mode from VBE, and use the largest mode that is no larger
18157 than the preferred mode (some BIOSes expose a preferred mode that is
18158 not in their mode list!). If this fails, fall back to 640x480 as a
18159 safe conservative choice.
18160 (grub_video_vbe_get_edid): New function.
18161 (grub_video_vbe_adapter): Add get_edid.
18162 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18163 (struct grub_video_adapter): Add get_edid.
18164 (grub_video_edid_checksum): Add prototype.
18165 (grub_video_edid_preferred_mode): Likewise.
18166 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18167 structure.
18168
18169 * grub-core/commands/videoinfo.c (print_edid): New function.
18170 (grub_cmd_videoinfo): Print EDID if available.
18171
18172 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18173 is more appropriate on a wider range of platforms than 640x480.
18174 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18175 documentation.
18176
18177 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18180
18181 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * po/POTFILES.in: Regenerate.
18184
18185 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18186
18187 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18188 incorrect memory usage.
18189
18190 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18191
18192 * util/grub-install.in: Source grub-mkconfig_lib.
18193
18194 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 Remove getroot.c from core on emu platform.
18197
18198 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18199 kern/emu/raid.c.
18200 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18201 useless.
18202 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18203 * util/getroot.c (get_win32_path): ... here.
18204 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18205 * util/getroot.c (fini_libzfs): ... here.
18206 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18207 * util/getroot.c (grub_get_libzfs_handle): ... here.
18208 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18209 Moved from here...
18210 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18211 * grub-core/kern/emu/misc.c
18212 (grub_make_system_path_relative_to_its_root): Moved from here...
18213 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18214 * grub-core/kern/emu/getroot.c: Moved from here ...
18215 * util/getroot.c: ... here. All users updated.
18216 * grub-core/kern/emu/raid.c: Moved from here ...
18217 * util/raid.c: ... here. All users updated.
18218
18219 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18220
18221 * po/POTFILES.in: Regenerate.
18222
18223 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 Fix compilation on GNU/Linux.
18226
18227 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18228 Disable geli.
18229 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18230 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18231 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18232
18233 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18234 2011-07-07 Michael Gorven <michael@gorven.za.net>
18235 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18236
18237 LUKS and GELI support.
18238
18239 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18240 grub-core/disk/luks.c, grub-core/disk/geli.c,
18241 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18242 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18243 grub-core/lib/arg.c.
18244 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18245 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18246 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18247 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18248 (grub-bin2h): Add libgcry.a.
18249 (grub-mkimage): Likewise.
18250 (grub-mkrelpath): Likewise.
18251 (grub-script-check): Likewise.
18252 (grub-editenv): Likewise.
18253 (grub-mkpasswd-pbkdf2): Likewise.
18254 (grub-pe2elf): Likewise.
18255 (grub-fstest): Likewise.
18256 (grub-mkfont): Likewise.
18257 (grub-mkdevicemap): Likewise.
18258 (grub-probe): Likewise.
18259 (grub-ofpath): Likewise.
18260 (grub-mklayout): Likewise.
18261 (example_unit_test): Likewise.
18262 (grub-menulst2cfg): Likewise.
18263 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18264 * grub-core/Makefile.core.def (cryptodisk): New module.
18265 (luks): Likewise.
18266 (geli): Likewise.
18267 * grub-core/disk/AFSplitter.c: New file.
18268 * grub-core/disk/cryptodisk.c: Likewise.
18269 * grub-core/disk/geli.c: Likewise.
18270 * grub-core/disk/luks.c: Likewise.
18271 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18272 grub_util_is_lvm.
18273 (grub_util_get_dm_abstraction): New function.
18274 (grub_util_follow_gpart_up): Likewise.
18275 (grub_util_get_geom_abstraction): Likewise.
18276 (grub_util_get_dev_abstraction): Use new functions.
18277 (grub_util_pull_device): Pull GELI and LUKS.
18278 (grub_util_get_grub_dev): Handle LUKS and GELI.
18279 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18280 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18281 (follow_geom_up): Removed.
18282 (grub_util_fd_seek): New function.
18283 (open_device): Use grub_util_fd_seek.
18284 (nread): Rename to ..
18285 (grub_util_fd_read): ... this. All users updated.
18286 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18287 (grub_crypto_cbc_decrypt): Likewise.
18288 (grub_crypto_hmac_write): Likewise.
18289 (grub_crypto_hmac_buffer): Likewise.
18290 (grub_password_get): Extend to util.
18291 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18292 New member modname.
18293 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18294 * include/grub/cryptodisk.h: New file.
18295 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18296 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18297 LUKS and GELI.
18298 (grub_util_follow_gpart_up): New proto.
18299 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18300 (grub_util_fd_read): Likewise.
18301 (grub_cryptodisk_cheat_mount): Likewise.
18302 (grub_util_cryptodisk_print_uuid): Likewise.
18303 (grub_util_get_fd_sectors): Likewise.
18304 * util/grub-fstest.c (mount_crypt): New var.
18305 (fstest): Mount crypto if requested.
18306 (options): New option -C.
18307 (argp_parser): Parse -C.
18308 (main): Init and fini gcry.
18309 * util/grub-install.in: Support cryptodisk install.
18310 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18311 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18312 cryptodisk.
18313 (prepare_grub_to_access_device): Likewise.
18314 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18315 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18316 (probe_cryptodisk_uuid): New function.
18317 (probe_abstraction): Likewise.
18318 (probe): Use new functions.
18319 * util/import_gcry.py: Create Makefile.utilgcry.def.
18320 Add modname member.
18321
18322 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 Lazy device scanning.
18325
18326 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18327 (grub-setup): Remove util/raid.c.
18328 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18329 * grub-core/disk/lvm.c (scan_depth): New variable.
18330 (grub_lvm_iterate): Rescan if necessary.
18331 (find_lv): New function based on grub_lvm_open.
18332 (grub_lvm_open): Use find_lv. Rescan on error.
18333 (is_node_readable): New function.
18334 (is_lv_readable): Likewise.
18335 (grub_lvm_scan_device): Skip already found disks.
18336 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18337 Stop if searched device is found and readable.
18338 * grub-core/disk/raid.c (inscnt): New variable.
18339 (scan_depth): Likewise.
18340 (scan_devices): New function based on grub_raid_register. Abort if
18341 looked for device is found.
18342 (grub_raid_iterate): Rescan if needed.
18343 (find_array): NEw function based on -grub_raid_open.
18344 (grub_raid_open): Use find_array and rescan.
18345 (insert_array): Set became_readable_at.
18346 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18347 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18348 New function.
18349 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18350 (grub_util_pull_device): New function.
18351 (grub_util_get_grub_dev): Call grub_util_pull_device.
18352 * util/raid.c: Moved to ..
18353 * grub-core/kern/emu/raid.c: ... here.
18354 (grub_util_raid_getmembers): New parameter "bootable".
18355 All users updated. Support 1.x.
18356 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18357 All users updated.
18358 * include/grub/disk.h (grub_disk_pull_t): New enum.
18359 (grub_disk_dev): Change iterate prototype.
18360 All users updated.
18361 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18362 New proto.
18363 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18364 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18365 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18366 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18367 All users updated.
18368 * include/grub/util/raid.h: Removed.
18369
18370 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18371
18372 * po/POTFILES.in: Regenerate.
18373
18374 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 Unify sparc init with other ieee1275.
18377
18378 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18379 instead of kern/sparc64/ieee1275/init.c.
18380 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18381 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18382 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18383 grub/machine/kernel.h.
18384 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18385 (grub_claim_heap) [__sparc__]: Use sparc version.
18386 (grub_machine_init): Moved args parsing to
18387 (grub_parse_cmdline): ...this.
18388 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18389 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18390 New definition.
18391 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18392
18393 Move BOOTP to separate file.
18394
18395 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18396 * grub-core/net/net.c: Move all BOOTP functions to
18397 * grub-core/net/bootp.c: ... here.
18398
18399 Use frame interface on PXE.
18400
18401 * grub-core/Makefile.core.def (pxecmd): Removed.
18402 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18403 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18404 * grub-core/i386/pc/pxe.c: Moved from here ...
18405 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18406 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18407 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18408
18409 EFI network support.
18410
18411 * grub-core/Makefile.core.def (efinet): New module.
18412 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18413 here...
18414 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18415 All users updated.
18416 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18417 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18418 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18419 * grub-core/net/drivers/efi/efinet.c: New file.
18420 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18421 (grub_efi_net_config): New extern var.
18422
18423 Various cleanups and bugfixes.
18424
18425 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18426 error.
18427 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18428 disk declared as partition.
18429 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18430 leak on failure.
18431 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18432 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18433 (grub_debug_zalloc): Likewise.
18434 (grub_debug_realloc): Likewise.
18435 (grub_debug_memalign): Likewise.
18436 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18437 Check that target is IPv4.
18438 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18439 local-mac-address as fallback.
18440 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18441 memory leak.
18442 * grub-core/net/ip.c (ipchksum): Rename to ...
18443 (grub_net_ip_chksum): ... this. All users updated.
18444 (grub_net_recv_ip_packets): Special handling for DHCP.
18445 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18446
18447 Unify prefix handling
18448
18449 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18450 (grub_machine_get_bootlocation): ... this.
18451 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18452 (grub_machine_get_bootlocation): ... this.
18453 (grub_prefix): New variable.
18454 (prefix): Removed.
18455 (root_dev): New variable.
18456 (dir): Likewise.
18457 (main): Use new variables.
18458 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18459 Revamped into ...
18460 (grub_machine_get_bootlocation): ... this.
18461 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18462 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18463 (grub_machine_get_bootlocation): ... this.
18464 (grub_machine_set_prefix): Removed.
18465 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18466 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18467 Revamped into ...
18468 (grub_machine_get_bootlocation): ... this.
18469 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18470 (grub_set_prefix_and_root): ... this. All users updated.
18471 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18472 Revamped into ...
18473 (grub_machine_get_bootlocation): ... this.
18474 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18475 (grub_machine_get_bootlocation): New proto.
18476 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18477
18478 Less intrusive and more reliable seek on network implementation.
18479
18480 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18481 (grub_file_seek): Don't call grub_file_net_seek.
18482 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18483 (grub_net_fs_read_real): .. this.
18484 (grub_net_seek_real): Use net->offset.
18485 (grub_net_fs_read): Seek if necessary.
18486
18487 Unify IEEE1275 netwotk config with the other platforms.
18488
18489 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18490 New variable.
18491 (grub_machine_get_bootlocation): Support network.
18492 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18493 Support type and device parsing.
18494 (grub_ieee1275_get_device_type): New function.
18495 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18496 into ...
18497 (grub_ieee1275_net_config_real): ... this.
18498 (grub_ofnet_probecards): Removed.
18499 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18500 * include/grub/ieee1275/ofnet.h: Removed.
18501 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18502 extern var.
18503 (grub_ieee1275_get_device_type): New function.
18504
18505 Unify network device closing across platforms and make more robust.
18506
18507 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18508 grub_grubnet_fini.
18509 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18510 already.
18511 * grub-core/net/net.c (grub_net_network_level_interface_register):
18512 Update num_ifaces.
18513 (grub_net_card_unregister): Close all interfaces.
18514 (receive_packets): Don't poll if no iterfaces are registered.
18515 Open if necessary.
18516 (grub_net_fini_hw): New function.
18517 (grub_net_restore_hw): Likewise.
18518 (fini_hnd): New variable.
18519 (GRUB_MOD_INIT): Register preboot hook.
18520 (GRUB_MOD_FINI): Run and unregister preboot hook.
18521
18522 Poll network cards when idle.
18523
18524 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18525 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18526 * grub-core/net/net.c (receive_packets): Save last poll time.
18527 (grub_net_poll_cards_idle_real): New function.
18528 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18529 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18530 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18531
18532 Rename ofnet interfaces.
18533
18534 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18535 (grub_ofnet_findcards): Use ofnet_%s names.
18536
18537 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18538
18539 Cleanup socket opening.
18540
18541 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18542 (grub_net_fs_close): Likewise.
18543 (grub_net_fs_read_real): Use eof member.
18544 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18545 (+grub_net_udp_close): New inline function.
18546
18547 * include/grub/net/tftp.h: Moved to the top of ...
18548 * grub-core/net/tftp.c: ... here.
18549 * include/grub/net/ip.h: Moved mostly to the top of ...
18550 * grub-core/net/ip.c: ... here.
18551 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18552 * grub-core/net/ethernet.c: ... here.
18553
18554 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18555
18556 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18557 FS name.
18558
18559 * include/grub/net/ip.h (ipv4_ini): Removed.
18560 (ipv4_fini): Likewise.
18561
18562 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18563 (grub_net_send_ip_packets): Likewise.
18564
18565 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18568 grub_read_cmos prototype.
18569
18570 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 VGA text support in qemu-mips
18573
18574 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18575 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18576 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18577 text.
18578 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18579 * grub-core/kern/vga_init.c: ... this.
18580 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18581 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18582 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18583 Adjust.
18584 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18585 GRUB_MACHINE_PCI_IO_BASE.
18586
18587 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18588
18589 MIPS qemu flash support.
18590
18591 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18592 magic.
18593 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18594 (grub_machine_init): Probe memory if its size isn't known.
18595 * util/grub-mkimage.c (image_targets): Add flash targets.
18596 (generate_image): Handle flash targets.
18597
18598 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18599
18600 MIPS qemu at_keyboard support.
18601
18602 * gentpl.py (videoinkernel): Add qemu-mips.
18603 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18604 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18605 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18606 modules.
18607 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18608 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18609 * grub-core/term/serial.c (grub_serial_register)
18610 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18611
18612 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18613
18614 CMOS support on sparc.
18615
18616 * gentpl.py (cmos): Add powerpc and sparc.
18617 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18618 powerpc and sparc.
18619 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18620 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18621 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18622 grub_set_datetime_cmos.
18623 * grub-core/lib/ieee1275/cmos.c: New file.
18624 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18625 (find_rtc): Set no_ieee1275_rtc on error.
18626 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18627 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18628 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18629 fail. Move value to argument. All users updated
18630 (grub_cmos_write): Likewise.
18631 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18632 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18633 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18634 grub_get_datetime_cmos and grub_set_datetime_cmos.
18635
18636 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18637
18638 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18639 sourcing grub-mkconfig_lib.
18640 * util/update-grub_lib.in: Likewise.
18641 * util/grub.d/00_header.in: Likewise.
18642 * util/grub.d/10_hurd.in: Likewise.
18643 * util/grub.d/10_kfreebsd.in: Likewise.
18644 * util/grub.d/10_linux.in: Likewise.
18645 * util/grub.d/10_netbsd.in: Likewise.
18646 * util/grub.d/10_windows.in: Likewise.
18647 * util/grub.d/20_linux_xen.in: Likewise.
18648 * util/grub.d/30_os-prober.in: Likewise.
18649
18650 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
18651
18652 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18653 default_bg_color rather than black.
18654 (grub_gfxterm_fullscreen): Likewise.
18655 (grub_gfxterm_background_color_cmd): Save new background color in
18656 default_bg_color.
18657
18658 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18661
18662 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18663
18664 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18665 mismerge.
18666
18667 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18668
18669 Chainloading on coreboot support.
18670
18671 * grub-core/Makefile.core.def (chain): Add coreboot.
18672 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18673
18674 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18677 if it happens.
18678
18679 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 Implement time command.
18682
18683 * grub-core/Makefile.core.def (time): New module.
18684 * grub-core/commands/time.c: New file.
18685 * grub-core/script/parser.y: Remove "time" keyword.
18686 * grub-core/script/yylex.l: Likewise.
18687
18688 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18689
18690 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18691
18692 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18693
18694 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18695 when handling leftovers.
18696
18697 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18698
18699 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18700 so that help2man doesn't fail.
18701
18702 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18705 type in pointers on sparc64.
18706 (get_card_packet): Likewise.
18707
18708 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
18709
18710 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18711 with `*'.
18712 (grub_cmd_videoinfo): Fetch current video mode.
18713
18714 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18717 because of underlying system restrictions.
18718
18719 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18720
18721 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18722 necessary.
18723
18724 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18725
18726 Coreboot video support.
18727
18728 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18729 (vbe): Likewise.
18730 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18731 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18732 here ...
18733 * grub-core/kern/i386/int.S: ... here.
18734 * grub-core/video/i386/pc/vbe.c: Updated includes.
18735 * grub-core/video/i386/pc/vga.c: Likewise.
18736 * include/grub/i386/coreboot/memory.h
18737 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18738 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18739 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18740 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18741 Disable interrupts.
18742 * include/grub/i386/pc/vga.h: Removed. All users updated.
18743
18744 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18745
18746 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18747 definitions for dprintf.
18748 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18749
18750 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18751
18752 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18753 prototype.
18754 (get_card_packet): Likewise.
18755
18756 2011-06-26 Yves Blusseau <blusseau@zetam.org>
18757
18758 Display the path of the file when file is not found
18759
18760 * grub-core/fs/fat.c: Display the filename when file is not found.
18761 * grub-core/fs/fshelp.c: Likewise.
18762 * grub-core/fs/hfs.c: Likewise.
18763 * grub-core/fs/jfs.c: Likewise.
18764 * grub-core/fs/minix.c: Likewise.
18765 * grub-core/fs/ufs.c: Likewise.
18766 * grub-core/fs/btrfs.c: Likewise.
18767 * grub-core/commands/i386/pc/play.c: Likewise.
18768
18769 2011-06-26 Szymon Janc <szymon@janc.net.pl>
18770
18771 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18772 pointer checks before calling grub_free().
18773 * grub-core/commands/wildcard.c (match_devices): Likewise.
18774 * grub-core/commands/wildcard.c (match_files): Likewise.
18775 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18776 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18777 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18778 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18779 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18780 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18781 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18782 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18783 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18784
18785 2011-06-25 Patrick <p55@mailinator.com>
18786
18787 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18788
18789 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18792 (grub_pxe_send): Likewise.
18793 (GRUB_MOD_INIT): Fix types.
18794
18795 2011-06-24 Szymon Janc <szymon@janc.net.pl>
18796
18797 * grub-core/io/xzio.c: Fix code style issues
18798
18799 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18800 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
18801
18802 Network infrastructure.
18803 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18804
18805 * include/grub/net/arp.h: New file.
18806 * include/grub/net/device.h: Likewise.
18807 * include/grub/net/ethernet.h: Likewise.
18808 * include/grub/net/ip.h: Likewise.
18809 * include/grub/net/netbuff.h: Likewise.
18810 * include/grub/net/tftp.h: Likewise.
18811 * include/grub/net/udp.h: Likewise.
18812 * include/grub/ieee1275/ofnet.h: Likewise.
18813 * include/grub/emu/export.h: Likewise.
18814 * include/grub/net.h: Likewise.
18815 * grub-core/net/arp.c: Likewise.
18816 * grub-core/net/ethernet.c: Likewise.
18817 * grub-core/net/ip.c: Likewise.
18818 * grub-core/net/udp.c: Likewise.
18819 * grub-core/net/tftp.c: Likewise.
18820 * grub-core/net/netbuff.c: Likewise.
18821 * grub-core/net/net.c: Likewise.
18822 * grub-core/net/drivers/emu/emunet.c: Likewise.
18823 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18824 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18825 export.h.
18826 * grub-core/Makefile.core.def (net): New module.
18827 (tftp): Likewise.
18828 (ofnet): Likewise.
18829 (emunet): Likewise.
18830 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18831 network protocols.
18832 * grub-core/kern/device.c (grub_net_open) : New variable.
18833 (grub_device_open): Handle network device.
18834 (grub_device_close): Likewise.
18835 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18836 (grub_grubnet_fini): Likewise.
18837 (grub_file_seek): Seek in network device.
18838 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18839 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18840 network root.
18841 (grub_machine_fini): Call grub_grubnet_fini.
18842 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18843 network.
18844 (grub_ieee1275_get_aliasdevname): New function.
18845 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18846 Add unofficial Solaris network info.
18847 (grub_multiboot_make_mbi): Likewise.
18848 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18849 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18850 * include/grub/device.h (grub_fs): Removed.
18851 * include/grub/err.h (grub_err_t): Add network-related values.
18852 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18853 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18854 (grub_ieee1275_get_aliasdevname): New proto.
18855 * include/grub/net.h: Rewritten.
18856
18857 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18860 names.
18861
18862 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18865 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18866 it truncates the output.
18867 Reported by: Ximin Luo.
18868
18869 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18872
18873 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18876 partmap before abstraction.
18877
18878 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18879
18880 * util/grub-mkconfig_lib.in: Add missing quotes.
18881
18882 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18883
18884 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18885 old method if mountinfo would return /dev/root and /dev/root doesn't
18886 exist.
18887
18888 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18889
18890 ZFS zlib support
18891
18892 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18893 (decomp_table): Add zlib entries.
18894 (zio_read): USe 8 bits for compression function rather than 3.
18895 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18896
18897 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18898
18899 * grub-core/disk/ahci.c: Add missing license statements.
18900 * grub-core/fs/romfs.c: Likewise.
18901 * grub-core/lib/ia64/setjmp.S: Likewise.
18902 * grub-core/loader/i386/pc/freedos.c: Likewise.
18903 * grub-core/loader/ia64/efi/linux.c: Likewise.
18904 * grub-core/video/colors.c: Likewise.
18905 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18906
18907 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 AHCI support.
18910
18911 * grub-core/Makefile.core.def (ata_pthru): Removed.
18912 (ahci): New module.
18913 (pata): Likewise.
18914 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18915 on unload.
18916 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18917 readwrite.
18918 (grub_hdparm_do_check_powermode_cmd): Likewise.
18919 (grub_hdparm_do_smart_cmd): Likewise.
18920 (grub_hdparm_set_val_cmd): Likewise.
18921 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18922 * grub-core/disk/ahci.c: New file.
18923 * grub-core/disk/ata.c: Factor out the low-level part into ...
18924 * grub-core/disk/pata.c: ... here.
18925 * grub-core/disk/ata_pthru.c: Contents moved to ...
18926 * grub-core/disk/pata.c: ... here.
18927 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18928 (grub_scsi_iterate): Use grub_scsi_names.
18929 (grub_scsi_open): Likewise.
18930 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18931 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18932 (grub_ata_regs_t): New struct.
18933 (grub_disk_ata_pass_through_parms): Likewise.
18934 (grub_ata_device): Renamed to ...
18935 (grub_ata): ... this.
18936 (grub_ata_dev): New struct.
18937 Removed all low-level inline functions.
18938 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18939 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18940 iterate hooks and open. All users updated.
18941 * util/grub-install.in: Handle AHCI disk module.
18942
18943 2011-06-23 Szymon Janc <szymon@janc.net.pl>
18944
18945 Add support for DRI and RSTn markers in JPEG files.
18946
18947 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18948 (JPEG_MARKER_RST0): Likewise.
18949 (JPEG_MARKER_RST1): Likewise.
18950 (JPEG_MARKER_RST2): Likewise.
18951 (JPEG_MARKER_RST3): Likewise.
18952 (JPEG_MARKER_RST4): Likewise.
18953 (JPEG_MARKER_RST5): Likewise.
18954 (JPEG_MARKER_RST6): Likewise.
18955 (JPEG_MARKER_RST7): Likewise.
18956 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18957 (grub_jpeg_decode_dri): New function.
18958 (grub_jpeg_decode_sos): Move image data related part into
18959 grub_jpeg_decode_data function.
18960 (grub_jpeg_decode_data): New function.
18961 (grub_jpeg_reset): New function.
18962 (grub_jpeg_decode_jpeg): Handle new markers.
18963
18964 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 * util/ieee1275/ofpath.c (check_sas): Close fd.
18967 (main): Free of_path.
18968 Reported by: David Volgyes <dvolgyes>.
18969
18970 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18971
18972 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18973 Reported by: David Volgyes <dvolgyes>.
18974
18975 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18978 file after stat.
18979 Reported by: David Volgyes <dvolgyes>.
18980
18981 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18982
18983 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18984
18985 Reported by: David Volgyes <dvolgyes>.
18986
18987 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18988
18989 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18990 Prevent memory leak.
18991
18992 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18993
18994 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18995 (main): Close file.
18996 Reported by: David Volgyes <dvolgyes>.
18997
18998 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18999
19000 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
19001 to continue if allocation is failed.
19002
19003 Reported by: David Volgyes <dvolgyes>.
19004
19005 2011-06-23 David Volgyes <dvolgyes>
19006
19007 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
19008 dereference.
19009
19010 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 Fix spurious warning.
19013
19014 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
19015 (acorn_partition_map_find): Use .bin member.
19016
19017 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19018
19019 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
19020 /dev/root as a valid device.
19021
19022 2011-06-23 Jim Meyering <meyering@redhat.com>
19023
19024 Avoid NULL deref in grub_device_open.
19025
19026 * grub-core/kern/device.c (grub_device_open): Don't dereference
19027 a NULL pointer upon failed grub_env_get.
19028
19029 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 Support non-512B sectors and agglomerate reads.
19032
19033 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
19034 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
19035 (disk_io_guid): Removed.
19036 (make_devices): Locate solely by BlockIO.
19037 (grub_efidisk_open): Fill log_sector_size and total_sectors.
19038 (grub_efidisk_read): Use read_blocks.
19039 (grub_efidisk_write): Use write_blocks.
19040 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
19041 log_sector_size.
19042 (get_safe_sectors): Handle non-512B sectors.
19043 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
19044 sectors.
19045 (grub_biosdisk_write): Handle non-512B sectors.
19046 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
19047 (grub_scsi_read): Remove special non-512B block handling (now handled
19048 one level up).
19049 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
19050 and do sanity checks.
19051 (grub_disk_adjust_range): Handle non-512B sectors.
19052 (transform_sector): New function.
19053 (grub_disk_read_small): Likewise.
19054 (grub_disk_read): Rewritten.
19055 (grub_disk_write): Handle non-512B sectors.
19056 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
19057 log_sector_size.
19058 (open_device): Use log_sector_size.
19059 (grub_util_biosdisk_read): Likewise.
19060 (grub_util_biosdisk_write): Likewise.
19061 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
19062 non-512B sectors.
19063 (pc_partition_map_embed): Likewise.
19064 * include/grub/disk.h (grub_disk): New field log_sector_size.
19065 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
19066 (GRUB_DISK_CACHE_BITS): Increased to 6.
19067 * util/grub-fstest.c (fstest): New command testload.
19068 (argp_parser): Likewise.
19069
19070 2011-06-16 Robert Millan <rmh@gnu.org>
19071
19072 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
19073 `ata' driver on kernel of FreeBSD 9.
19074
19075 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
19076 (get_ataraid_disk_name): New functions.
19077 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
19078 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
19079 get_ataraid_disk_name() and get_ada_disk_name().
19080
19081 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
19082
19083 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
19084 input format.
19085
19086 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
19087
19088 * docs/grub.texi (Obtaining and Building GRUB): Substitute
19089 `ftp.gnu.org' for `alpha.gnu.org'.
19090
19091 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19092
19093 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
19094 partitions under /dev/disk/by-id/.
19095
19096 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19097
19098 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
19099 after ten consecutive open failures. Scanning all the way up to
19100 10000 is excessive and can cause serious performance problems in
19101 some configurations.
19102 Fixes Ubuntu bug #787461.
19103
19104 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
19107 opening new one.
19108
19109 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
19110 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19111
19112 Don't stat devices unless we have to.
19113
19114 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
19115 dir == /dev/mapper.
19116 (grub_guess_root_device): Use already known os_dev if possible.
19117 * grub-core/kern/emu/hostdisk.c
19118 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
19119 if device is known to be a dm one.
19120
19121 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
19122
19123 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
19124 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
19125 Reported by: Pawel Tecza.
19126
19127 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19128
19129 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
19130 (lsefisystab): Likewise.
19131 (lssal): Likewise.
19132 (lsefimmap): Likewise.
19133 (hdparm): Enable on qemu-mips.
19134 (setjmp): Add ia64 nodist.
19135 (serial): Simplify tags.
19136
19137 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19138
19139 * Makefile.util.def (grub-ofpathname): Install manual page.
19140
19141 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19142
19143 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19144
19145 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19146
19147 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19148
19149 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19152 into dprintf.
19153
19154 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 Use full 64-bit division.
19157
19158 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19159 (grub_divmod64): ... this.
19160 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19161 version.
19162
19163 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19164
19165 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19166 `source'.
19167
19168 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19169
19170 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19171 to avoid accidents when debugging with 'sh -x'.
19172 * grub-core/gensyminfo.sh.in: Likewise.
19173 * tests/example_scripted_test.in: Likewise.
19174 * tests/grub_cmd_regexp.in: Likewise.
19175 * tests/grub_script_blanklines.in: Likewise.
19176 * tests/grub_script_dollar.in: Likewise.
19177 * tests/grub_script_expansion.in: Likewise.
19178 * tests/grub_script_final_semicolon.in: Likewise.
19179 * tests/partmap_test.in: Likewise.
19180 * tests/util/grub-shell-tester.in: Likewise.
19181 * tests/util/grub-shell.in: Likewise.
19182
19183 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19184
19185 Move gfxmenu color handling to video, so that gfxterm can use it
19186 too.
19187
19188 * grub-core/gfxmenu/named_colors.c: Move to ...
19189 * grub-core/video/colors.c: ... here. Rename
19190 grub_gui_get_named_color to grub_video_get_named_color.
19191 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19192 * grub-core/video/colors.c (my_isxdigit): ... here.
19193 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19194 Move to ...
19195 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19196 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19197 to ...
19198 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19199
19200 * include/grub/gui.h (grub_gui_color_t): Move to ...
19201 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19202 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19203 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19204 * include/grub/gui.h (grub_gui_map_color): Move to ...
19205 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19206 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19207 to ...
19208 * include/grub/video.h (grub_video_get_named_color): ... here.
19209 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19210 * include/grub/video.h (grub_video_parse_color): ... here.
19211
19212 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19213 video/colors.c.
19214 (gfxmenu): Remove gfxmenu/named_colors.c.
19215 (video) [videomodules]: Add video/colors.c.
19216
19217 Add a background_color command.
19218
19219 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19220 function.
19221 (GRUB_MOD_INIT): Register background_color command.
19222 (GRUB_MOD_FINI): Unregister background_color command.
19223 (redraw_screen_rect): Allow blend/replace of text layer to be
19224 controlled independently from whether there is a background bitmap.
19225 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19226 changing bitmap.
19227
19228 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 Patch BPB in ntldr and chainloader --bpb.
19231
19232 * grub-core/fs/fat.c: Include grub/fat.h.
19233 (grub_fat_bpb): Moved to ...
19234 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19235 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19236 grub/ntfs.h.
19237 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19238 Moved from here...
19239 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19240 here.
19241 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19242 New function.
19243 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19244 (GRUB_MOD_INIT): Show --bpb.
19245 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19246 * grub-core/normal/main.c (features): New variable.
19247 (GRUB_MOD_INIT): Set feature_* variables.
19248 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19249 proto.
19250 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19251
19252 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19255 for cleanness.
19256
19257 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 FreeDOS direct loading support.
19260
19261 * docs/grub.texi (Supported OS): Add FreeDOS.
19262 * grub-core/Makefile.core.def (freedos): New module.
19263 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19264 variable.
19265 (grub_relocator16_boot): Handle %ebx.
19266 * grub-core/lib/i386/relocator16.S: Likewise.
19267 * grub-core/loader/i386/pc/freedos.c: New file.
19268
19269 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19270
19271 Long Linux command line support.
19272
19273 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19274 (maximal_cmdline_size): New variable.
19275 (allocate_pages): Use maximal_cmdline_size.
19276 (grub_cmd_linux): Set and use maximal_cmdline_size.
19277 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19278 (allocate_pages): Use maximal_cmdline_size.
19279 (grub_cmd_linux): Set and use maximal_cmdline_size.
19280 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19281 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19282 and cmdline_size.
19283
19284 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19285 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19286
19287 Improve devmapper support
19288
19289 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19290 (grub_util_is_lvm): New function.
19291 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19292 than lvm if not dmraid.
19293 Handle mapped md nodes.
19294 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19295 (grub_util_device_is_mapped): ... this. Make always available. All users
19296 updated.
19297 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19298 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19299 dmraid nodes.
19300 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19301
19302 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19303
19304 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19305
19306 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19307 * grub-core/modinfo.sh.in: New file.
19308 * grub-core/Makefile.core.def (modinfo.sh): New script.
19309 * util/grub-mknetdir.in: Use modinfo.sh.
19310 * util/grub-mkrescue.in: Likewise.
19311
19312 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19313
19314 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19315 Fix potential usage of Elf32 instead of Elf64 when compiling on
19316 32-bit architecture. Add endianness macros while on it.
19317
19318 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 Use mipsel- rather than mips- in directories involving mipsel ports to
19321 allow both endiannesses coexist.
19322
19323 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19324 mips. All conditions adjusted.
19325 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19326 variable.
19327 * util/grub-install.in: Adjust conditions to take renaming into account.
19328 * util/grub-mkimage.c (image_targets): Likewise. New target
19329 mips-qemu_mips-elf for bigendian mips.
19330
19331 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 Avoid unnecessary copying on MIPS.
19334
19335 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19336 early if src == dest.
19337 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19338 compression is none.
19339
19340 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19341
19342 Reduce memory footprint on SGI by putting modules before the kernel
19343 as opposed to after.
19344
19345 * grub-core/Makefile.core.def (kernel): Increase linking address.
19346 (none_decompress): Likewise.
19347 (xz_decompress): Likewise.
19348 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19349 address.
19350 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19351 layout change.
19352 (grub_arch_modules_addr): New function.
19353 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19354 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19355 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19356 here.
19357 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19358 (grub_total_modules_size): ... this. Make global.
19359 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19360 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19361 New definition.
19362 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19363 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19364 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19365 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19366 * util/grub-mkimage.c (image_target_desc): New flag
19367 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19368 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19369 (generate_image): Handle images with modules before kernel.
19370
19371 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19372
19373 Prevent potential loss of memory map by overwrite on qemu-mips.
19374
19375 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19376 Save ram size in $s4.
19377 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19378 All users changed to grub_arch_memsize.
19379 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19380 Loongson.
19381 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19382 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19383 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19384 external variable.
19385
19386 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19387
19388 * .bzrignore: Remove grub-dumpbios.
19389
19390 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19391
19392 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19393 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19394 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19395 existing options which append).
19396 * docs/grub.texi (Simple configuration): Document new options.
19397 Reported by: Ian Jackson. Fixes Debian bug #617538.
19398
19399 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19400
19401 * util/grub-fstest.c (cmd_cat): New function.
19402 (fstest): Handle CMD_CAT.
19403 (options): Add cat.
19404 (argp_parser): Handle cat.
19405
19406 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19407
19408 * Makefile.util.def (grub-bin2h): Don't install.
19409 * docs/man/grub-bin2h.h2m: Remove.
19410
19411 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19414 place.
19415
19416 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19417
19418 Reenable qemu-mips port.
19419
19420 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19421 Fix small arc bug while on it.
19422 * gentpl.py: Handle qemu_mips.
19423 * grub-core/Makefile.am: Likewise.
19424 * grub-core/Makefile.core.def: Likewise.
19425 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19426 inappropriate includes.
19427 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19428 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19429 * grub-core/kern/main.c (grub_modules_get_end)
19430 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19431 * grub-core/kern/mips/qemu-mips: Moved to ..
19432 * grub-core/kern/mips/qemu_mips: ... this.
19433 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19434 (grub_machine_init): Call terminfo_init and serial_init.
19435 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19436 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19437 New variable.
19438 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19439 parameter passing.
19440 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19441 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19442 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19443 * include/grub/mips/qemu_mips/cmos.h: New file.
19444 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19445 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19446 Removed.
19447 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19448 Use correct mips-style address.
19449 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19450 (GRUB_TICKS_PER_SECOND): Removed.
19451 (grub_get_rtc): Likewise.
19452 (grub_cpu_idle): Likewise.
19453 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19454 New definition.
19455 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19456 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19457 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19458 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19459 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19460 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19461 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19462 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19463
19464 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19465
19466 SGI ARCS port.
19467
19468 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19469 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19470 platforms.
19471 * configure.ac: New target mips-arc.
19472 * gentpl.py: Likewise.
19473 * grub-core/Makefile.am: Likewise.
19474 * grub-core/Makefile.core.def: Likewise.
19475 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19476 (none_decompress): Likewise.
19477 (lsdev): New module.
19478 (datetime): Use lib/arc/datetime.c on ARC.
19479 (part_dvh): New module.
19480 * grub-core/commands/arc/lsdev.c: New file.
19481 * grub-core/disk/arc/arcdisk.c: Likewise.
19482 * grub-core/kern/mips/arc/init.c: Likewise.
19483 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19484 aligned addresses.
19485 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19486 support.
19487 (grub_arch_dl_relocate_symbols): Likewise.
19488 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19489 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19490 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19491 platforms.
19492 * grub-core/lib/arc/datetime.c: New file.
19493 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19494 pci.h on non-loongson.
19495 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19496 (grub_linux_boot): Set unused registers to 0.
19497 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19498 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19499 * grub-core/mmap/mips/uppermem.c: ...here.
19500 * grub-core/partmap/dvh.c: New file.
19501 * grub-core/term/arc/console.c: Likewise.
19502 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19503 (grub_terminfo_set_current): Add terminal "arc".
19504 (grub_terminfo_readkey): Support ARC sequences.
19505 * include/grub/arc/arc.h: New file.
19506 * include/grub/arc/console.h: Likewise.
19507 * include/grub/disk.h (grub_disk_dev_id): Add
19508 GRUB_DISK_DEVICE_ARCDISK_ID.
19509 * include/grub/mips/arc/kernel.h: New file.
19510 * include/grub/mips/arc/memory.h: Likewise.
19511 * include/grub/mips/arc/time.h: Likewise.
19512 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19513 * include/grub/mips/kernel.h (grub_halt): ... here.
19514 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19515 here...
19516 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19517 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19518 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19519 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19520 proto.
19521 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19522 from here ...
19523 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19524 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19525 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19526 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19527 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19528 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19529 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19530 (grub_phys_addr_t): Moved from here ...
19531 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19532 (grub_vtop): Moved from here ...
19533 * include/grub/mips/memory.h (grub_vtop): ... here.
19534 (grub_map_memory): Moved from here ...
19535 * include/grub/mips/memory.h (grub_map_memory): ... here.
19536 (grub_unmap_memory): Moved from here ...
19537 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19538 (grub_machine_mmap_iterate): Moved from here ...
19539 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19540 (grub_mmap_get_lower): Moved from here ...
19541 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19542 (grub_mmap_get_upper): Moved from here ...
19543 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19544 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19545 here ...
19546 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19547 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19548 here ...
19549 * include/grub/mips/time.h (grub_get_rtc): ... here.
19550 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19551 here ...
19552 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19553 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19554 here ...
19555 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19556 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19557 definition.
19558 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19559 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19560 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19561 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19562 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19563 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19564 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19565 (GRUB_MACHINE_LINK_ADDR): Likewise.
19566 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19567 to 6.
19568 * util/grub-install.in: Run dvhtool on ARC.
19569 * util/grub-mkimage.c (image_targets): Add mips-arc.
19570 (generate_image): Handle ECOFF output for mips-arc.
19571
19572 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19573
19574 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19575 blocks.
19576
19577 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19580 after enabling port.
19581
19582 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 Skip incorrect USB devices.
19585
19586 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19587 configcnt == 0.
19588 * include/grub/usb.h (grub_usb_err_t): New enum value
19589 GRUB_USB_ERR_BADDEVICE.
19590
19591 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 Fuloong video init support.
19594
19595 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19596 well.
19597 (grub_vga_read_arx): New function.
19598 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19599 definition.
19600 (framebuffer): New members io, mmioptr and mmiobase.
19601 (read_sis_cmd): New function.
19602 (write_sis_cmd): Likewise.
19603 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19604 rather than 640x400.
19605 * grub-core/video/sis315_init.c: New file.
19606
19607 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19608
19609 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19610 non-loongson.
19611 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19612 to grub_dl_register_symbol.
19613
19614 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 Fix compilation errors.
19617
19618 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19619 potentially unused.
19620 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19621 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19622 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19623 to loongson machines.
19624
19625 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19626
19627 Several FS mtime support.
19628
19629 * grub-core/fs/affs.c (grub_affs_time): New struct.
19630 (grub_affs_file): New field mtime.
19631 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19632 type. Removed 'size'. New field 'di'. All users updated.
19633 (grub_affs_mount): Simplify checsum checking.
19634 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19635 (grub_affs_dir): Handle mtime.
19636 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19637 (grub_cpio_dir): Likewise.
19638 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19639 (grub_hfs_filerec): New field mtime.
19640 (grub_hfs_dir): Handle mtime.
19641 (grub_hfs_mtime): New function.
19642 (grub_hfs_fs): Register grub_hfs_mtime.
19643 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19644 (grub_iso9660_dir): New field mtime.
19645 (grub_fshelp_node): New field dirent.
19646 (iso9660_to_unixtime): New function.
19647 (iso9660_to_unixtime2): Likewise.
19648 (grub_iso9660_read_symlink): Use node->dirent.
19649 (grub_iso9660_iterate_dir): Likewise.
19650 (grub_iso9660_dir): Set mtime.
19651 (grub_iso9660_mtime): New function.
19652 (grub_iso9660_fs): Register grub_iso9660_mtime.
19653 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19654 (grub_jfs_inode): New fields atime, ctime and mtime.
19655 (grub_jfs_dir): Set mtime.
19656 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19657 * grub-core/fs/ntfs.c (list_file): Set mtime.
19658 (grub_ntfs_dir): Likewise.
19659 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19660 (grub_reiserfs_iterate_dir): Set mtime.
19661 (grub_reiserfs_dir): Likewise.
19662 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19663 (grub_fshelp_node): Likewise.
19664 (grub_sfs_iterate_dir): Set mtime.
19665 (grub_sfs_dir): Likewise.
19666 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19667 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19668 (grub_xfs_inode): New fields atime, mtime, ctime.
19669 (grub_xfs_dir): Set mtime.
19670 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19671 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19672 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19673
19674 Support UDF symlinks.
19675
19676 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19677 (grub_ufs_read_symlink): New function. All users updated.
19678
19679 Check amiga partmap checksum.
19680
19681 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19682 (grub_amiga_partition): Likewise.
19683 (amiga_partition_map_checksum): New function.
19684 (amiga_partition_map_iterate): Check checksum.
19685
19686 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19687
19688 ROMFS support.
19689
19690 * Makefile.util.def (libgrubmods.a): Add romfs.
19691 * grub-core/Makefile.core.def (romfs): New module.
19692 * grub-core/fs/romfs.c: New file.
19693
19694 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19695
19696 Squashfs v4 support.
19697
19698 * Makefile.util.def (libgrubmods.a): Add squash4.
19699 * grub-core/Makefile.core.def (squash4): New module.
19700 * grub-core/fs/squash4.c: New file.
19701 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19702 disk_input_start, disk_input.
19703 (get_byte): Handle disk_input.
19704 (grub_zlib_disk_read): New function.
19705 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19706
19707 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19708 2011-05-15 Feiran Zheng <famcool@gmail.com>
19709
19710 * Makefile.util.def (libgrubmods.a): Add minix3.
19711 * grub-core/Makefile.core.def (minix3): New module.
19712 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19713 (GRUB_MINIX_BSIZE): Removed.
19714 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19715 (grub_minix_ino_t): New type.
19716 (grub_minix_le_to_cpu_ino): New macro.
19717 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19718 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19719 (grub_minix_data): New field block_size.
19720 (grub_minix_read_file): Handle 64-bit correctly.
19721 * grub-core/fs/minix3.c: New file.
19722
19723 2011-05-15 Tristan Gingold <gingold@free.fr>
19724 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
19725 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 IA64 support.
19728
19729 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19730 * configure.ac: Add ia64-efi target.
19731 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19732 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19733 * gentpl.py: Add ia64_efi platform.
19734 Rename x86_efi to efi and Add ia64-efi. All users updated.
19735 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19736 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19737 Remove kern/generic/rtc_get_time_ms.c on EFI.
19738 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19739 kern/ia64/dl_helper.c on ia64-efi.
19740 Add kern/emu/cache.c on emu.
19741 (linux): Use on loader/ia64/efi/linux.c on ia64.
19742 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19743 whether symbol is a function.
19744 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19745 (grub_symbol): New field 'isfunc'.
19746 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19747 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19748 (grub_dl_load_segments): Place all sections into the same region.
19749 [__ia64__]: Create trampolines and got.
19750 [GRUB_MACHINE_EMU]: Call mprotect.
19751 (grub_dl_resolve_symbols): Resolve symbol type as well.
19752 [__ia64__]: Create function descriptors.
19753 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19754 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19755 (grub_get_rtc): New function.
19756 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19757 * grub-core/kern/emu/cache.S: Renamed to ...
19758 * grub-core/kern/emu/cache_s.S: ... this.
19759 [__ia64__]: Add a nop.
19760 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19761 [__ia64__]: New function.
19762 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19763 * grub-core/kern/ia64/dl.c: New file.
19764 * grub-core/kern/ia64/dl_helper.c: Likewise.
19765 * grub-core/kern/ia64/efi/init.c: New file.
19766 * grub-core/kern/ia64/efi/startup.S: Likewise.
19767 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19768 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19769 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19770 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19771 * grub-core/loader/ia64/efi/linux.c: New file.
19772 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19773 (GRUB_MOD_DEP): Likewise.
19774 (grub_dl) [__ia64__]: New fields got and tramp.
19775 (grub_dl): New field 'base'.
19776 (grub_dl_register_symbol): New argument isfunc. All users updated.
19777 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19778 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19779 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19780 (grub_ia64_dl_get_tramp_got_size): New proto.
19781 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19782 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19783 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19784 * include/grub/efi/api.h: Skip call wrappers on ia64.
19785 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19786 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19787 * include/grub/elf.h (ELF_ST_INFO): New definition.
19788 * include/grub/ia64/efi/kernel.h: New file.
19789 * include/grub/ia64/efi/memory.h: Likewise.
19790 * include/grub/ia64/efi/time.h: Likewise.
19791 * include/grub/ia64/kernel.h: Likewise.
19792 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19793 * include/grub/ia64/time.h: New file.
19794 * include/grub/ia64/types.h: Likewise.
19795 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19796 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19797 New protos.
19798 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19799 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19800 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19801 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19802 All users updated.
19803 (EFI64_HEADER_SIZE): New definition. All users updated.
19804 (image_targets): Add ia64-efi.
19805 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19806 jumpers_addr. All users updated.
19807 Create function descriptors.
19808 (count_funcs): New function.
19809 (unaligned_uint32): New struct.
19810 (MASK20): New definition.
19811 (MASK19): Likewise.
19812 (MASKF21): Likewise.
19813 (add_value_to_slot_20b): New function.
19814 (add_value_to_slot_21_real): Likewise.
19815 (add_value_to_slot_21): Likewise.
19816 (ia64_kernel_trampoline): New struct.
19817 (nopm): New variable.
19818 (jump): Likewise.
19819 (make_trampoline): New function.
19820 (relocate_addresses): Handle ia64.
19821 (make_reloc_section): Likewise.
19822 (load_image): Likewise.
19823
19824 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19827 warning. Move variables before code while on it.
19828
19829 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19830
19831 Fuloong support.
19832
19833 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19834 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19835 * grub-core/boot/mips/loongson/fuloong.S: New file.
19836 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19837 Explicitly init CS5536.
19838 [FULOONG]: Don't use serial until CS5536 is available.
19839 Set GPIO based on dumps.
19840 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19841 [FULOONG]: Handle GPIO and memory controller differences.
19842 Parse machine type in $a2.
19843 * grub-core/boot/mips/startup_raw.S: Determine and save the
19844 architecture.
19845 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19846 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19847 init on architecture type.
19848 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19849 SIS315E. Don't init at_keyboard on fuloong.
19850 (grub_halt): Support Fuloong.
19851 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19852 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19853 (loongson_machtypes): New array.
19854 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19855 type.
19856 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19857 config. All users updated. Handle CS5536 serial.
19858 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19859 default port on machine type. Register serial as inactive.
19860 * grub-core/video/sis315pro.c: New file.
19861 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19862 definition.
19863 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19864 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19865 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19866 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19867 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19868 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19869 to ...
19870 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19871 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19872 definition.
19873 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19874 (grub_arch_machine): New extern var.
19875 * include/grub/mips/loongson/serial.h
19876 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19877 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19878 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19879 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19880 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19881 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19882 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19883 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19884 * include/grub/term.h (grub_term_register_input_inactive): New inline
19885 function.
19886 (grub_term_register_output_inactive): Likewise.
19887 * include/grub/video.h (grub_video_driver_id): New value
19888 GRUB_VIDEO_DRIVER_SIS315PRO.
19889 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19890 New field "names". All users updated.
19891 New field value IMAGE_FULOONG_FLASH.
19892 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19893
19894 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19895
19896 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19897 and add some clarification.
19898
19899 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19900
19901 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19902 platforms if kernel is compressed.
19903
19904 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19905
19906 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19907 unused modules since currently referrence counter isn't reliable and
19908 there isn't much memory to recover there anyway.
19909
19910 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19911
19912 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19913 rather than resetting it to allow modules to reference themselves
19914 in init.
19915
19916 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19919 counter on dependencies since grub_dl_unref already handles this.
19920
19921 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19924 on error if not already done.
19925
19926 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19927
19928 Fix few potential memory misusage.
19929
19930 * grub-core/font/font.c (load_font_index): Don't free char_index to
19931 avoid double free.
19932 (grub_font_load): Zero-fill font at alloc for safety.
19933 Close file on error.
19934 (free_font): Free bmp_idx.
19935
19936 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19937
19938 * docs/grub.texi (Installation): Fix several outdated claims.
19939
19940 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 Handle module_license on windows.
19943
19944 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19945 sections shifted.
19946 (insert_string): Make argument const char * instead of char *.
19947 (write_section_data): Handle long section names.
19948 Handle module_license.
19949
19950 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19951
19952 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19953 handle class-free menuentries.
19954 (grub_normal_add_menu_entry): Add a check to be sure.
19955
19956 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19957
19958 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19959 PgUp and PgDown.
19960
19961 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19962
19963 * configure.ac: Bump version to 1.99.
19964
19965 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 Give ATA device a bit more time on first try in order to allow disks
19968 to spin up.
19969
19970 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19971 if dev->present is 1. Reset dev->present on failure.
19972 (grub_ata_device_initialize): Set dev->present to 1.
19973 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19974 (grub_ata_device): New member 'present'.
19975
19976 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19977
19978 * util/grub-mkimage.c (generate_image): Update hash.
19979
19980 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19981
19982 Flush caches on DMA memory.
19983
19984 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19985 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19986 (grub_dma_free): Likewise.
19987 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19988
19989 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19990
19991 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19992 to avoid asm treating ld and sd as macros.
19993
19994 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19997 decompressor.
19998
19999 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
20002 grub_decompress_core since later would fail if grub_decompress_core
20003 is too far.
20004
20005 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
20008 R_MIPS_JALR since it's used by newer compiler.
20009
20010 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
20013
20014 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20015
20016 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
20017 file_path to 0 for surety.
20018 (grub_chainloader_boot): Set exit_data to NULL.
20019 Unset the loader once done.
20020 (grub_cmd_chainloader): Fix confusing error message if file is empty.
20021
20022 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
20025 unknown key into a dprintf.
20026
20027 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
20030 on first non-existant partition.
20031
20032 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
20035 openning fails.
20036 Reported by: Mark Korenberg.
20037
20038 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20039
20040 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
20041 overflow.
20042
20043 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * util/grub-mkimage.c (main): Explicitely flush and sync the output
20046 before closing to ensure that it will be readable by grub-setup.
20047
20048 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
20051 (devpath_1): Use MAKE_PIWG_PATH.
20052 (devpath_2): Likewise.
20053 (devpath_3): Likewise.
20054 (devpath_4): Likewise.
20055 (devpath_5): Likewise.
20056 (devpath_6): Likewise.
20057
20058 The appleldr.mod was checked that to be binary identical to previous
20059 version.
20060
20061 2011-05-05 Zach <mikezackles>
20062
20063 Support 2010 Macbooks.
20064
20065 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
20066 (devs): Add devpath_6.
20067
20068 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
20071 /dev/random. /dev/urandom is good enough for our purposes (salting).
20072
20073 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20074
20075 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
20076
20077 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20078
20079 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
20080 hexadecimal.
20081
20082 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20083
20084 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
20085 and not 0 on failure.
20086
20087 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20088
20089 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
20090 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
20091 disk; otherwise grub_fs_probe will not fall back to the next
20092 filesystem.
20093 (grub_pxefs_open): Likewise, for consistency.
20094 Reported and tested by: Ezekiel Grave.
20095
20096 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20097
20098 * tests/partmap_test.in: Don't hardcode path to parted.
20099 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
20100
20101 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
20102
20103 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
20104 of `ls' to find out which devices are available.
20105
20106 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20107
20108 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
20109 than source address for efi mmap buffer.
20110
20111 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
20114 wrong action on non-detecting the magic.
20115
20116 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
20119 already supplied by another part of the module (fixes compilation on
20120 FreeBSD).
20121
20122 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20123
20124 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
20125 match the one used by mdadm.
20126
20127 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20128
20129 * po/README: Add instructions for creating po/LINGUAS.
20130
20131 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20132
20133 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
20134 #551428.
20135
20136 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20137 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20138 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20139 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20140 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20141 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20142 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20143 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20144 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20145 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20146 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20147 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20148 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20149 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20150 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20151 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20152 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20153 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20154 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20155 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20156 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20157 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20158
20159 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20160
20161 * grub-core/kern/emu/getroot.c
20162 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20163 test that was incorrectly reintroduced in r3214.
20164 Reported by: Ian Dall. Fixes Savannah bug #33133.
20165
20166 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20167
20168 Fix stack pointer handling in 16-bit relocator.
20169
20170 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20171 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20172 Fixes Ubuntu bug #683904.
20173
20174 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20175
20176 * configure.ac: Bump version to 1.99~rc2.
20177
20178 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20181 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20182 * grub-core/lib/x86_64/setjmp.S: Likewise.
20183 * grub-core/lib/mips/setjmp.S: Likewise.
20184 * grub-core/lib/powerpc/setjmp.S: Likewise.
20185 * grub-core/lib/sparc64/setjmp.S: Likewise.
20186
20187 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20190 * grub-core/lib/efi/datetime.c: Likewise.
20191
20192 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20193
20194 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20195 New function.
20196 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20197 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20198 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20199
20200 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20203 bitmap.
20204 (grub_gfxterm_term_init): Likewise.
20205
20206 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 Take into account the decorations the computing menu entry width.
20209
20210 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20211 (grub_gfxmenu_create_box): Register get_border_width.
20212 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20213 if available.
20214 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20215 get_border_width.
20216
20217 2011-04-18 Endres Puschner <code@e7p.de>
20218
20219 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20220 Don't skip first class.
20221
20222 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20223
20224 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20225 chunks.
20226 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20227
20228 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 Complete 64-bit division support.
20231
20232 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20233 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20234 * include/grub/misc.h (grub_divmod64): Rename to ...
20235 (grub_divmod64_full): ... this.
20236 (grub_divmod64): New inline function.
20237
20238 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20241
20242 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20245 performing the necessary test.
20246
20247 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20248
20249 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20250 (kfreebsd.elf): Likewise.
20251 (pc-chainloader.elf): Likewise.
20252 (ntldr.elf): Likewise.
20253
20254 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 Identify RAID by its UUID rather than (guessed) name.
20257
20258 * grub-core/disk/raid.c (ascii2hex): New function.
20259 (grub_raid_open): Accept mduuid/%s specification.
20260 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20261 (get_mdadm_uuid): ... this.
20262 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20263
20264 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20265
20266 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20267 to negative size.
20268
20269 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20270
20271 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20272 btrfs subvolume.
20273 * util/grub.d/20_linux_xen.in: Likewise.
20274
20275 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20276
20277 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20278 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20279
20280 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20281 Build a list of relevant visible mounts using the mnt_id and
20282 parent_mnt_id fields, and then scan that list at the end.
20283
20284 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20285
20286 * docs/grub.texi (normal): New section.
20287 (normal_exit): New section.
20288 (Embedded configuration): Add reference to normal.
20289 (GRUB only offers a rescue shell): Likewise.
20290 * docs/grub-dev.texi (Error Handling): Fix typo.
20291
20292 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20293
20294 * NEWS: Drop obsolete entry about probe-only btrfs support.
20295
20296 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20297
20298 * util/import_gcry.py: Fix typo.
20299
20300 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * NEWS: Add btrfs support.
20303
20304 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20305 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20306
20307 BtrFS support. Written by me (Vladimir) with important bugfixes and
20308 even more important testing by Colin.
20309
20310 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20311 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20312 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20313 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20314 mem_input_off and mem_input. All users updated to accept in-RAM input.
20315 (gzio_seek): New function.
20316 (test_zlib_header): Likewise.
20317 (grub_gzio_read): Likewise.
20318 (grub_zlib_decompress): Likewise.
20319 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20320 Accept partial and non-virtual mounts.
20321 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20322 avoid receiving /dev/dm-X as device.
20323 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20324 Handle bind and partial mounts.
20325 * grub-core/lib/crc.c: New file.
20326 * include/grub/deflate.h: Likewise.
20327 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20328 proto.
20329 * include/grub/lib/crc.h: New file.
20330
20331 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20332
20333 Implement automatic module license checking according to new GNU
20334 guidelines.
20335
20336 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20337 (grub_dl_load_core): Use grub_dl_check_license.
20338 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20339 (GRUB_MOD_LICENSE): Likewise.
20340 (GRUB_MOD_DUAL_LICENSE): Likewise.
20341 All modules updated.
20342
20343 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20344
20345 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20346 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20347 loaders.
20348 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20349
20350 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20351
20352 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20353
20354 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20357 failed.
20358
20359 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20360
20361 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20362 parenthesis in the middle of the filename.
20363
20364 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20365
20366 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20367 rather than trying to put initrd way too high.
20368 Reported by: Ryan Lortie <desrt@desrt.ca>
20369
20370 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20371
20372 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20373 improperly removed string.
20374
20375 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20376
20377 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20378 is_disk.
20379 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20380 (open_device) Likewise.
20381 (grub_util_biosdisk_close): Likewise.
20382 Reported by: Mark Korenberg.
20383
20384 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20385
20386 * util/grub-mkconfig_lib.in: Add missing quotes.
20387
20388 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
20389
20390 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20391 is NULL.
20392
20393 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20394
20395 Dynamically count the number of lines for the lower banner.
20396
20397 * grub-core/normal/menu_entry.c (per_term_screen): New member
20398 num_entries.
20399 (print_down): Use num_entries.
20400 (update_screen): Likewise.
20401 (grub_menu_entry_run): Set num_entries.
20402 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20403 num_entries.
20404 (grub_print_message_indented): Move real part to ...
20405 (grub_print_message_indented_real): ... here. Additional argument
20406 dry_run.
20407 (draw_border): Additional argument num_entries.
20408 (print_message): Additional argument dry_run.
20409 (print_entries): Receive menu viewer data.
20410 (grub_menu_init_page): New argment num_entries.
20411 (menu_text_set_chosen_entry): Use num_entries.
20412 (grub_menu_try_text): Likewise.
20413 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20414 All users updated.
20415 (grub_ucs4_count_lines): New function.
20416 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20417 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20418 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20419 (grub_term_border_height): Likewise.
20420 (grub_term_num_entries): Likewise.
20421
20422 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20423
20424 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20425 Remove now unused string.
20426
20427 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20428
20429 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20430 build system.
20431 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20432
20433 (Comment): Fix typo.
20434 (Getting started): General copy-editing.
20435 (Typical Development Experience): Likewise.
20436 (Error Handling): Likewise.
20437 (Video API): Likewise.
20438
20439 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20440
20441 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20442 throughout.
20443
20444 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20445
20446 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20447 directory.
20448
20449 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20450
20451 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20452 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20453 "development".
20454
20455 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20456
20457 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20458 grub_strcpy since the lines aren't necessarily 0-terminated.
20459
20460 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20461
20462 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20463 root on legacy.
20464
20465 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20468 (GRUB_MOD_INIT): DEVICE isn't optional.
20469
20470 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20473 word on new line if it's too long anyway. Fixes a hang.
20474
20475 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20478 const.
20479 * util/grub-setup.c (main): Reuse md device name if available.
20480 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20481 not GRUB name as argument.
20482 Based on patch by: Florian Wagner <fwagner>.
20483
20484 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20485
20486 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20487 Place mbi on low memory for better compatibility.
20488
20489 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20492
20493 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20494 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20495
20496 * autogen.sh: Ensure that collate and ctype locale is C.
20497 * conf/Makefile.common: Likewise.
20498
20499 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20500
20501 * grub-core/normal/menu.c: Add missing include.
20502
20503 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
20506
20507 2011-04-08 Martin Zuther <mzuther@mzuther.de>
20508
20509 * util/grub-mkconfig.in: Ignore emacsen backup.
20510
20511 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20512
20513 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20514 on open.
20515 (grub_util_biosdisk_close): Likewise.
20516
20517 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20520 const attribute and use grub_isdigit.
20521
20522 2011-04-06 Andrey <dev_null@ukr.net>
20523
20524 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20525 gcc warning.
20526
20527 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20530 useful grub_dprintf's.
20531
20532 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20533
20534 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20535
20536 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20537
20538 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20539
20540 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 Output errors if theme loading failed.
20543
20544 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20545 grub_gfxterm_fullscreen on error paths to ...
20546 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20547 theme loading error.
20548
20549 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20550
20551 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20552 space for older compilers.
20553 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20554
20555 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20556
20557 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20558 and report them as not RAID members since they are useless for GRUB.
20559 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20560
20561 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 Increase LVM implementation robustness in order not to crash on
20564 configurations like pvmove. Previously code assumed that in some places
20565 only lvs or only pvs are used whereas it seems that they are used
20566 interchangeably.
20567
20568 * grub-core/disk/lvm.c (read_node): New function.
20569 (read_lv): Use read_node.
20570 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20571 Match volumes only at the end when all lvs are found. Take both
20572 pvs (first) and lvs (second) into account.
20573 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20574 mirror_* into node_*. All users updated.
20575 (grub_lvm_stripe): Merge this ...
20576 (grub_lvm_mirror): ... and this ...
20577 (grub_lvm_node): ... into this. All users updated.
20578
20579 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20580
20581 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20582 of function to allow further scanning for LVMs.
20583
20584 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20585
20586 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20587 on failed seek as it breaks open fd reusage.
20588
20589 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20590
20591 * util/grub-install.in: Add a recommendation to use --recheck before
20592 reporting bugs.
20593
20594 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20595
20596 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20597 are obtained.
20598
20599 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20600
20601 GRUB developper manual based on existing Internals section and
20602 contributions by the various authors with active copyright assignment.
20603
20604 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20605 * docs/font_char_metrics.png: New file.
20606 * docs/font_char_metrics.txt: Likewise.
20607 * docs/grub-dev.texi: Likewise.
20608 * docs/grub.texi (Internals): Move from here ...
20609 * docs/grub-dev.texi: ... here.
20610
20611 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20612
20613 Store the loopback device as data on loopback grub_disk structures,
20614 rather than the file it points to. This fixes use of freed memory
20615 if an existing loopback device is replaced.
20616
20617 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20618 disk->data, not dev->file.
20619 (grub_loopback_read): Adjust file assignment to match.
20620 Fixes Ubuntu bug #742967.
20621
20622 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20623
20624 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20625 when replacing an existing device.
20626
20627 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20628
20629 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20630 memory corruptions.
20631
20632 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20633 unsigned.
20634 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20635 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20636 (grub_jfs_read_inode): Likewise.
20637 (grub_jfs_opendir): Likewise. Remove now useless casts.
20638 (grub_jfs_getent): Likewise.
20639 Make ino a grub_uint32_t rather than int.
20640 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20641 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20642 division and module with bit operations.
20643 (grub_jfs_find_file): Make ino a grub_uint32_t.
20644 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20645
20646 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20647
20648 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20649 warning. (This was in fact always initialised before use, but GCC
20650 wasn't smart enough to prove that.)
20651 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20652
20653 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20656 stack alignment.
20657 (efi_wrap_1): Likewise.
20658 (efi_wrap_2): Likewise.
20659 (efi_wrap_3): Likewise.
20660 (efi_wrap_4): Likewise.
20661 (efi_wrap_5): Likewise.
20662 (efi_wrap_6): Likewise.
20663 (efi_wrap_10): Likewise.
20664 Based on information by: Red Hat/Peter Jones.
20665
20666 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20667
20668 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20669 set-but-not-used variable.
20670
20671 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20672
20673 * docs/grub.texi (Simple configuration): Be more explicit about
20674 GRUB_DEFAULT, and add an example.
20675 Reported by: Leslie Rhorer.
20676
20677 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20678
20679 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20680 shell".
20681
20682 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20683
20684 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20685 * util/grub.d/20_linux_xen.in: Likewise.
20686
20687 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * util/grub.d/10_linux.in: Try alternative config filenames where
20690 we parse config file.
20691 * util/grub.d/20_linux_xen.in: Likewise.
20692
20693 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20694
20695 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20696 * util/grub.d/20_linux_xen.in: Likewise.
20697
20698 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20699
20700 * grub-core/disk/raid.c (insert_array): Add few potentially
20701 useful grub_util_info.
20702 (grub_raid_register): Likewise.
20703
20704 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20705
20706 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20707 Preserve partition number in mdadm code path.
20708
20709 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20710
20711 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20712 few potentially useful grub_util_info.
20713
20714 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20715
20716 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20717
20718 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20719
20720 * docs/grub.texi (default): Use @example rather than nested
20721 itemized lists to avoid breaking gendocs.
20722
20723 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20724
20725 * docs/grub.texi (Future): Update.
20726
20727 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20728
20729 * docs/grub.texi (Environment): New chapter.
20730 (Changes from GRUB Legacy): Link to "Environment block" section for
20731 details of limitations.
20732 (Simple configuration): Likewise. Link to documentation of gfxmode
20733 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20734 respectively.
20735 (Shell-like scripting): Note that normal variables are stored in the
20736 environment.
20737 (gettext): Link to documentation of lang and locale_dir.
20738 (list_env): New section.
20739 (load_env): New section.
20740 (save_env): New section.
20741
20742 (Reporting bugs): Fix typo.
20743
20744 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20745
20746 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20747 the example.
20748
20749 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20750
20751 * grub-core/term/at_keyboard.c (set_scancodes)
20752 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20753
20754 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20755
20756 * docs/grub.texi (Menu-specific commands): Remove some semantics
20757 that were true in GRUB Legacy but not in GRUB 2.
20758 (submenu): New section.
20759 (false): New section.
20760 (read): New section.
20761 (true): New section.
20762
20763 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20764
20765 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20766
20767 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20768
20769 * docs/grub.texi (Simple configuration): Explain some of the
20770 current limitations of grub-mkconfig.
20771 Reported by: Leslie Rhorer.
20772
20773 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20774
20775 Old macs search for boot.efi rather than for bootia32.efi.
20776
20777 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20778 * util/grub-mkrescue.in: Likewise.
20779 Suggested by: Peter Jones.
20780
20781 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20782
20783 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20784
20785 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20786
20787 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20788 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20789 (grub_lvm_mirror): New struct.
20790 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20791 (grub_lvm_iterate): Iterate only visible volumes.
20792 (grub_lvm_read): Factor out to ..
20793 (read_lv): ... this. Support mirrors.
20794 (grub_lvm_read): New wrapper function.
20795 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20796 stripped or mirrored.
20797
20798 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20799
20800 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20801
20802 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20803
20804 * docs/grub.texi (loopback): New section.
20805
20806 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20807
20808 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20809 removed -p option.
20810
20811 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20812
20813 * docs/grub.texi (BIOS installation): New section, partly based on
20814 previous text in other sections.
20815 (Installing GRUB using grub-install): Replace BIOS discussion with a
20816 cross-reference.
20817 (Images): Likewise.
20818
20819 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20820
20821 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20822 [HAVE_DIOCGDINFO]: Add safety checks.
20823
20824 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20825
20826 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20827 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20828
20829 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20830
20831 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20832 real_sb->size is zero (e.g. RAID-0), get the disk size from
20833 real_sb->data_size instead.
20834 Fixes Ubuntu bug #743136.
20835
20836 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20837
20838 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20839 printf clauses for printing size and start.
20840
20841 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20842
20843 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20844 Reported and tested by: Timothy Nikkel.
20845
20846 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20847
20848 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20849 (dirty_region_add_real): ... this.
20850 (dirty_region_add): Don't discard margin refresh when performing
20851 scheduled repaint.
20852
20853 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20854
20855 * grub-core/lib/relocator.c (allocate_regstart)
20856 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20857 terminals are capabple of malloc-free operation.
20858 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20859 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20860
20861 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20862
20863 * util/grub-setup.c: Copy the partition table zone if floppy support
20864 is disabled, even if no partition table is found.
20865
20866 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20867 during POST if an invalid partition table is contained in the PBR
20868 of the active partition when GRUB is installed to a partition.
20869
20870 2011-03-28 Colin Watson <cjwatson@debian.org>
20871
20872 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20873 comment.
20874
20875 2011-03-28 Colin Watson <cjwatson@debian.org>
20876
20877 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20878 to be specific about what kind of RAID device we're scanning for.
20879
20880 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20881
20882 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20883 return freed string.
20884
20885 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20886
20887 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20888
20889 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 Use libgeom on FreeBSD to detect partitions.
20892
20893 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20894 (grub-mkrelpath): Likewise.
20895 (grub-script-check): Likewise.
20896 (grub-editenv): Likewise.
20897 (grub-mkpasswd-pbkdf2): Likewise.
20898 (grub-fstest): Likewise.
20899 (grub-mkfont): Likewise.
20900 (grub-mkdevicemap): Likewise.
20901 (grub-probe): Likewise.
20902 (grub-setup): Likewise.
20903 (grub-ofpathname): Likewise.
20904 (grub-mklayout): Likewise.
20905 (example_unit_test): Likewise.
20906 (grub-menulst2cfg): Likewise.
20907 * grub-core/Makefile.core.def (grub-emu): Likewise.
20908 (grub-emu-lite): Likewise.
20909 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20910 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20911 define HAVE_DIOCGDINFO.
20912 (follow_geom_up) [FreeBSD]: New function.
20913 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20914 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20915 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20916 unconditionally of HAVE_DIOCGDINFO.
20917
20918 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20919
20920 Fix FreeBSD compilation problem.
20921
20922 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20923 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20924
20925 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
20926
20927 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20928 Switch back to page zero before loading a kernel, since some kernel
20929 drivers expect that.
20930 Thanks to: Felix Kuehling.
20931
20932 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20933
20934 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20935 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20936 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20937
20938 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20939
20940 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20941 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20942
20943 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20944
20945 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20946 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20947 malloc is disabled.
20948
20949 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20952 for modules headers when counting the needed allocation size.
20953
20954 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20955
20956 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20957 if no ASCII character is found to prevent crash.
20958
20959 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20960
20961 * grub-core/video/bitmap.c (match_extension): Ignore case.
20962
20963 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20964
20965 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20966
20967 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20968
20969 * grub-core/script/parser.y: Declare "time" as valid argument.
20970
20971 2011-03-23 Peter Jones <pjones@redhat.com>
20972
20973 Fix incorrect assert failure reporting.
20974
20975 * grub-core/tests/example_functional_test.c (example_test): Add
20976 a failure comment.
20977 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20978 (failure_start): ...this. Check that malloc succeeded.
20979 Don't call xvasprintf. Return failure struct.
20980 (failure_append_vtext): New function.
20981 (failure_append_text): Likewise.
20982 (add_failure): Likewise.
20983 (grub_test_assert_helper): Likewise.
20984 * include/grub/test.h (grub_test_assert_helper): New declaration.
20985 (grub_test_assert): Macro rewritten.
20986
20987 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20988
20989 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20990
20991 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20994
20995 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20996
20997 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20998 into GRUB-style one.
20999
21000 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21001
21002 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
21003 error and not grub_errno.
21004 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
21005
21006 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21007
21008 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
21009 GRUB_USB_SPEED_NONE in case of failure and not the error code.
21010
21011 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21012
21013 * grub-core/efiemu/i386/pc/cfgtables.c
21014 (grub_machine_efiemu_init_tables): Make declaration a prototype.
21015 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
21016 (grub_xnu_unlock): Likewise.
21017 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
21018
21019 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21020
21021 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
21022 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
21023 * grub-core/commands/hashsum.c (aliases): Likewise.
21024 * grub-core/commands/setpci.c (pci_registers): Likewise.
21025 * grub-core/disk/usbms.c (attach_hook): Likewise.
21026 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
21027 (zio_checksum_table): Likewise.
21028 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
21029 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
21030 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
21031 * grub-core/lib/relocator.c (leftovers): Likewise.
21032 (extra_blocks): Likewise.
21033 * grub-core/loader/i386/bsd.c (relocator): Likewise.
21034 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
21035 (modules_last): Likewise.
21036 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
21037 (devices): Likewise.
21038 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
21039 (modules_last): Likewise.
21040 * grub-core/normal/auth.c (users): Likewise.
21041 * grub-core/normal/context.c (initial_menu): Likewise.
21042 (current_menu): Likewise.
21043 * grub-core/normal/crypto.c (crypto_specs): Likewise.
21044 * grub-core/term/serial.c (grub_serial_ports): Likewise.
21045 (grub_serial_terminfo_input_template): Likewise.
21046 (grub_serial_terminfo_output_template): Likewise.
21047 (grub_serial_terminfo_input): Likewise.
21048 (grub_serial_terminfo_output): Likewise.
21049 (registered): Likewise.
21050 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
21051
21052 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21053
21054 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
21055 grub_video_mode_type_t.
21056 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
21057 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
21058 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
21059
21060 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21061
21062 * util/grub-install.in: Correct the x86-64 name as x86_64.
21063
21064 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
21065
21066 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
21067 initial chunk read from the kernel always includes GRUB's multiboot
21068 header, which is now outside the first sector.
21069
21070 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21071
21072 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
21073 cached mmap_size, so that this works correctly when called multiple
21074 times.
21075 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
21076
21077 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21078
21079 * docs/grub.texi (Simple configuration): Tidy up formatting.
21080
21081 2011-03-07 Szymon Janc <szymon@janc.net.pl>
21082
21083 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
21084 Set-but-not-used variable removed.
21085
21086 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 Workaround yet another IEEE1275 bug.
21089
21090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
21091 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
21092 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
21093 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
21094 is set.
21095 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21096 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
21097
21098 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21099
21100 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
21101 error.
21102
21103 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
21104
21105 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
21106 empty, since in that case we can only generate either nothing or a
21107 syntactically invalid configuration file.
21108 Reported by: Michal Suchanek. Fixes Debian bug #612898.
21109
21110 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21111
21112 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
21113 (Making a GRUB bootable CD-ROM): Likewise.
21114 (Invoking grub-mkrescue): New section.
21115 Reported by: Yann Dirson. Fixes Debian bug #612585.
21116
21117 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21118
21119 * util/grub-install.in: Remove unnecessary brackets from tr
21120 arguments.
21121 * util/grub.d/10_hurd.in: Likewise.
21122 * util/grub.d/10_kfreebsd.in: Likewise.
21123 * util/grub.d/10_linux.in: Likewise.
21124 * util/grub.d/20_linux_xen.in: Likewise.
21125 Reported by: Jamie Heilman. Fixes Debian bug #612564.
21126
21127 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
21128
21129 * include/grub/file.h (not_easly_seekable): Rename to ...
21130 (not_easily_seekable): ... this. Update all users.
21131
21132 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
21133
21134 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
21135 grub-mkrescue.
21136
21137 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21138
21139 * util/grub-mkimage.c (generate_image): Refuse to create the images
21140 bigger than the actual flash (512K) in Loongson machines. 512K is also
21141 the biggest chip supported by them.
21142
21143 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21144
21145 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21146
21147 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
21148
21149 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21150 super_offset field.
21151
21152 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * util/grub-install.in: Ignore install device on platforms
21155 where it doesn't make sense. Always use UUIDs except on pc, efi and
21156 sparc64.
21157 Reported by: Daniel Kahn Gillmor.
21158
21159 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21160
21161 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21162
21163 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21164
21165 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21166 (iterate_real): Don't rely on partition being non-NULL.
21167
21168 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21169
21170 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21171 supported platforms. Put a compile time assert for this rather than
21172 generate a warning with 32-bit shift.
21173
21174 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21177 logical expression more readable.
21178
21179 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21182 even if some elements have a name.
21183 Reported by: Alexander GQ Gerasiov.
21184
21185 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21186
21187 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21188 path unreadable if `grub-probe -t abstraction' fails, for example if
21189 memberlist fails on an LVM volume group.
21190 Reported by: Darius Jahandarie.
21191
21192 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21193
21194 * docs/grub.texi (Simple configuration): Document
21195 GRUB_PRELOAD_MODULES.
21196
21197 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
21198
21199 * .bzrignore: Remove nonexistent grub-pbkdf2.
21200
21201 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 * configure.ac: Bump version to 1.99~rc1.
21204
21205 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21208 for safety.
21209
21210 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21211
21212 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21213 module.
21214
21215 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21216
21217 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21218
21219 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21220
21221 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21222 diskdevid.
21223
21224 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21225
21226 Fix compilation on cygwin.
21227
21228 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21229 -R .drectve on cygwin.
21230 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21231 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21232 (COND_CYGWIN): New condition.
21233 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21234 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21235 not @TARGET_OBJ2ELF@.
21236 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21237 type to determine whether aux is to be used.
21238
21239 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21240
21241 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21242 realpath'ed device string.
21243 Handle floppy (somewhat).
21244 Issue error in unknown case rather than garbage.
21245 Reported by: Axel Beckert.
21246
21247 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21248
21249 * util/grub.d/00_header.in (load_video): Handle the case when no video
21250 drivers available.
21251 Thanks to: Axel Beckert.
21252
21253 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21254
21255 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21256 variable. Fixes problem on big endian platforms.
21257
21258 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21259
21260 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21261 It doesn't work well there.
21262
21263 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21264
21265 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21266 warning.
21267 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21268 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21269 counter.
21270
21271 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21272
21273 Use alias->path rather than buggy "canon".
21274
21275 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21276 (ofdisk_hash_add): New argument curcan. All users updated.
21277
21278 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21279
21280 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21281
21282 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21285 loadmask before doing any calculations. Use correct type for offset.
21286 (grub_linux_load64): Likewise.
21287
21288 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21289
21290 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21291 with NULL.
21292 (console_grub_equivalences_unshift): Likewise.
21293 Reported by: Daniel Dehennin.
21294
21295 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21296
21297 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21298 (set_env_limn_ro): Likewise.
21299 (GRUB_MOD_INIT): Likewise.
21300 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21301 ARRAY_SIZE while on it.
21302 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21303 * grub-core/normal/context.c (grub_env_export): Move from here ...
21304 * grub-core/kern/env.c (grub_env_export): ... here.
21305 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21306 prefix.
21307 * grub-core/kern/main.c (grub_main): Export root and prefix.
21308 * include/grub/env.h (grub_env_export): Export.
21309 Reported by: Seth Goldberg.
21310
21311 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21312
21313 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21314 Take into account space used by ELF sections and multiboot palette.
21315 Reported by: Grégoire Sutre.
21316
21317 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21318
21319 * BUGS: New file.
21320
21321 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 Pass more appropriate video id to Linux.
21324
21325 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21326 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21327 fill have_vga.
21328 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21329 shift params->lfb_size.
21330 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21331
21332 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21333
21334 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21335
21336 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21337
21338 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21339 separator and pass bootpath/devid even if only one of them is available.
21340 Reported by: Seth Goldberg.
21341
21342 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21343
21344 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21345 implementations bug on them.
21346
21347 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21348 memory.
21349 (filter_memory_map): Likewise.
21350
21351 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21352
21353 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21354 Reported by: nebuchadnezzar.
21355
21356 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21357
21358 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21359 Reported by: nebuchadnezzar.
21360
21361 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21362
21363 Submenu default support.
21364
21365 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21366 auto_boot. All users updated.
21367 Declared static.
21368 Handle chosen and default with submenus.
21369 (grub_menu_execute_with_fallback): Declared static.
21370 Don't notify failure if autobooted. Upper level does it.
21371 (menuentry_eq): New function.
21372 (get_entry_number): Use menuentry_eq.
21373 (show_menu): New parameter "autobooted". All users updated.
21374 (grub_show_menu): Likewise.
21375 * include/grub/normal.h (grub_show_menu): Likewise.
21376 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21377 (grub_menu_execute_with_fallback): Likewise.
21378
21379 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 * util/grub-mklayout.c (usage): Update help text.
21382
21383 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21384
21385 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21386
21387 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21388
21389 * util/grub-menulst2cfg.c (main): Trim the line.
21390
21391 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21394 (grub_machine_init): Don't check amount of low memory as reportedly
21395 INT 12h can be broken and if low memory is too low we wouldn't have
21396 gotten into grub_machine_init anyway.
21397
21398 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21399
21400 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21401 (grub_machine_mmap_iterate): Take low memory into account
21402
21403 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21406 badfs.
21407 Reported by: TiCPU.
21408
21409 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21410
21411 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21412 members errors.
21413
21414 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21415
21416 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21417 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21418
21419 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21420
21421 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21422 openbsd and netbsd types being in part_bsd module.
21423
21424 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21425
21426 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21427 (_FILE_OFFSET_BITS): Likewise.
21428 Reported by: Seth Goldberg.
21429
21430 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21431
21432 * configure.ac: Check for libdevmapper header.
21433
21434 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21435
21436 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21437 avoid aliasing.
21438 (fzap_lookup): Likewise.
21439 (dnode_get): Likewise.
21440 (make_mdn): Likewise.
21441 (zfs_mount): Likewise.
21442 (fzap_iterate): Use temporary pointer to avoid aliasing.
21443 (grub_zfs_read): Likewise.
21444 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21445 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21446 pointers to avoid aliasing.
21447 (grub_cmd_xnu_kernel64): Likewise.
21448 (grub_xnu_load_driver): Likewise.
21449
21450 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21451
21452 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21453 aliasing warning.
21454 (grub_cmd_terminal_output): Likewise.
21455 Reported and tested by: Grégoire Sutre.
21456
21457 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21460 warning.
21461 Reported and tested by: Grégoire Sutre.
21462
21463 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21464
21465 * configure.ac: Do CPU substitution even if it's specified explicitly.
21466 Reported and tested by: Alain Greppin.
21467
21468 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21469
21470 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21471 Reported and tested by: Alain Greppin.
21472
21473 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21474
21475 Satisfy some bison versions need for inttypes.h.
21476
21477 * grub-core/lib/posix_wrap/inttypes.h: New file.
21478 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21479 (int16_t): Likewise.
21480 (int32_t): Likewise.
21481 (int64_t): Likewise.
21482 Reported and tested by: Alain Greppin.
21483
21484 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21485
21486 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21487 Silence spurious warning.
21488 Reported and tested by: Alain Greppin.
21489
21490 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21491
21492 * docs/grub.texi (Support automatic decompression): Update with xz
21493 decompression support.
21494
21495 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21496
21497 Improve loaders' kernel command line handling.
21498
21499 * grub-core/lib/cmdline.c: New file.
21500 * include/grub/lib/cmdline.h: Likewise.
21501 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21502 grub_create_loader_cmdline to create kernel command line.
21503 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21504 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21505 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21506 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21507 (linux): Add lib/cmdline.c on common.
21508
21509 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21510
21511 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21512 inopos might be unaligned.
21513
21514 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21515
21516 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21517 endian transformations.
21518 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21519 Based on report by: Doug Nazar.
21520
21521 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
21522
21523 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21524 array->members[i].start_sector.
21525 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21526
21527 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21528
21529 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21530 Reported and tested by: Grégoire Sutre.
21531
21532 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21533
21534 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21535 avoid causing test failures by clearing the screen.
21536
21537 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21538
21539 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21540 Fix prefix check to handle the case where dir ends with a slash
21541 (most significantly, "/" itself).
21542 Reported by: Michael Vogt.
21543
21544 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21545
21546 Run terminfo_cls on initing terminfo output to clear the screen and
21547 move the cursor to (0,0).
21548
21549 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21550 Call grub_terminfo_output_init.
21551 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21552 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21553 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21554
21555 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21556
21557 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21558 only when needed.
21559
21560 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21561
21562 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21563 CTRL.
21564
21565 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21566
21567 The E820 type 5 is BADRAM, not EXEC_CODE.
21568
21569 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21570 (GRUB_E820_BADRAM): New define.
21571 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21572 into reserved. Propagate BADRAM.
21573 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21574 (GRUB_E820_BADRAM): New define.
21575
21576 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21579 Ignore the memory post-4G.
21580 (grub_relocator_firmware_alloc_region): Additional debug statement.
21581
21582 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21583
21584 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21585 names.
21586 Reported by: David Pravec.
21587
21588 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21591 BIOSes.
21592
21593 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21594
21595 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21596 Prevent overflow.
21597 (grub_reed_solomon_recover): Likewise.
21598
21599 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21600
21601 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21602
21603 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21604
21605 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21606 variable.
21607
21608 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
21609
21610 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21611 descriptions of extract_legacy_entries_source and
21612 extract_legacy_entries_configfile.
21613 Reported by: Seung Soo, Ha.
21614
21615 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
21616
21617 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21618 on devices that do not implement function 0.
21619
21620 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21621
21622 * grub-core/fs/hfsplus.c: Make parent unsigned.
21623 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21624 overflows.
21625 (grub_hfsplus_cmp_extkey): Likewise
21626
21627 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21628
21629 * util/grub-install.in: Correctly use bootloader_id and not
21630 GRUB_DISTRIBUTOR on efibootmgr line.
21631
21632 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21633
21634 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21635
21636 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
21637
21638 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21639 Xen and reorder menu item wording to make it clearer that this entry
21640 will launch Xen. Print separate messages when loading Xen and
21641 Linux.
21642
21643 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21644
21645 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21646 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21647 loop in case of incorrect amiga partmap.
21648
21649 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21650
21651 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21652 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21653 Reported by:EHeM.
21654
21655 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21656
21657 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21658 spurious warning.
21659 Reported by: crocket
21660
21661 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21662
21663 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21664 Preload EFIemu.
21665 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21666
21667 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21668
21669 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21670 is loaded
21671 (grub_cmd_xnu_kextdir): Likewise.
21672 (grub_cmd_xnu_splash): Likewise.
21673
21674 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21675
21676 Avoid using Reed-Solomon with 0 redundancy.
21677
21678 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21679 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21680 or 0 redundancy.
21681 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21682 (grub_reed_solomon_recover): Likewise.
21683
21684 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21685
21686 Don't use disk subsystem in freebsd_boot.
21687
21688 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21689 (freebsd_biosdev): Likewise.
21690 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21691 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21692
21693 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 Handling of files of unknown size is currently limited. They can't be
21696 used e.g. for initrd or modules. Moreover gzip handling of not
21697 easily seekable files is buggy. Disable unknown file size for now. May
21698 be inefficient but works.
21699
21700 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21701 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21702
21703 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21704
21705 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21706 floppy probe.
21707
21708 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21709
21710 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21711
21712 2010-12-25 Shea Levy <shlevy>
21713
21714 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21715
21716 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21717
21718 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21719 Windows Server 2008.
21720 Reported by: Devin Giddings.
21721
21722 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21723
21724 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21725 writing an error message because of async power management.
21726 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21727 (grub_reboot): Likewise.
21728
21729 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21730
21731 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21732 keep unit tests from failing when they shouldn't.
21733
21734 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21735
21736 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21737 previous patch increased the size of the RS code by 20 bytes (at
21738 least with gcc-4.4), so increase this by 20 bytes to match.
21739 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21740
21741 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21742
21743 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21744 scratch area. Make sure to initialise chosen in standalone mode as
21745 well as non-standalone.
21746 Reported by: Robert Hooker and Andy Whitcroft.
21747 Tested by: Andy Whitcroft.
21748
21749 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21750
21751 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21752 constructing a new unescaped string and passing it to grub_xputs in
21753 one go, rather than passing characters to grub_printf one at a time.
21754
21755 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21756
21757 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21758 initialising utf16.
21759
21760 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21761
21762 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21763 comment. Add an extra layer of quotation, requiring the output of
21764 this function to be used in a printf format string.
21765 (gettext_printf): New function.
21766 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21767 Extract translatable strings from here-documents and use a temporary
21768 variable instead, so that xgettext can find them.
21769 * util/grub.d/10_kfreebsd.in: Likewise.
21770 * util/grub.d/10_linux.in: Likewise.
21771 * util/grub.d/20_linux_xen.in: Likewise.
21772
21773 * po/grub.d.sed: New file.
21774 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21775 arguments. Set c-format flags on all strings extracted from
21776 util/grub.d/ (xgettext refuses to include these itself for strings
21777 it extracted from a shell file, but these really are c-format).
21778
21779 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21780
21781 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21782 Avoid next pointing to nowhere.
21783
21784 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21785
21786 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21787 rather than assuming than rootblock is exactly in the middle.
21788 (grub_affs_label): Likewise.
21789
21790 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21791
21792 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21793 reserved_first_sector to 0.
21794 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21795 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21796 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21797
21798 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21799
21800 Fix handling of UTF-16 UDF labels.
21801
21802 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21803 (read_string): .. here.
21804 (grub_udf_label): Use read_string.
21805
21806 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21807
21808 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21809 editor under argument scope.
21810 Reported by: Jordan Uggla
21811
21812 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21813
21814 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21815
21816 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
21817
21818 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21819 line, and other keys scroll an entire page (previous handling was
21820 for \r and \n to scroll a page and other keys to scroll two lines).
21821
21822 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21823
21824 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21825 Set ptrdest to correct get_physical_target_address rather than
21826 incorrect get_virtual_current_address.
21827
21828 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21829
21830 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21831 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21832
21833 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21834
21835 * .bzrignore: Ignore grub-core/rs_decoder.S.
21836
21837 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21838
21839 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21840 .mo/.mo.gz opening sequence to ...
21841 (grub_mofile_open_lang): ... here.
21842 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21843 * util/grub.d/00_header.in (grub_lang): Include country part of
21844 locale.
21845 Reported by: Mario Limonciello.
21846
21847 2010-12-09 Robert Millan <rmh@gnu.org>
21848
21849 * NEWS: Document addition of ZFS support.
21850
21851 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
21852
21853 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21854 rather than `/ 2', as the latter requires -Wa,--divide which would
21855 require bumping our minimum binutils version.
21856
21857 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21858
21859 * util/grub-script-check.c (main): Print script line number on
21860 error.
21861
21862 2010-12-01 Robert Millan <rmh@gnu.org>
21863
21864 * grub-core/fs/zfs/zfs.c: New file.
21865 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21866 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21867 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21868 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21869
21870 * include/grub/zfs/dmu.h: Likewise.
21871 * include/grub/zfs/dmu_objset.h: Likewise.
21872 * include/grub/zfs/dnode.h: Likewise.
21873 * include/grub/zfs/dsl_dataset.h: Likewise.
21874 * include/grub/zfs/dsl_dir.h: Likewise.
21875 * include/grub/zfs/sa_impl.h: Likewise.
21876 * include/grub/zfs/spa.h: Likewise.
21877 * include/grub/zfs/uberblock_impl.h: Likewise.
21878 * include/grub/zfs/vdev_impl.h: Likewise.
21879 * include/grub/zfs/zap_impl.h: Likewise.
21880 * include/grub/zfs/zap_leaf.h: Likewise.
21881 * include/grub/zfs/zfs.h: Likewise.
21882 * include/grub/zfs/zfs_acl.h: Likewise.
21883 * include/grub/zfs/zfs_znode.h: Likewise.
21884 * include/grub/zfs/zil.h: Likewise.
21885 * include/grub/zfs/zio.h: Likewise.
21886 * include/grub/zfs/zio_checksum.h: Likewise.
21887
21888 * Makefile.util.def: Build ZFS into libgrubmods.
21889 * grub-core/Makefile.core.def: Build zfs.mod.
21890
21891 2010-11-30 Szymon Janc <szymon@janc.net.pl>
21892
21893 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21894 variable.
21895 * grub-core/commands/wildcard.c (match_files): Likewise.
21896
21897 2010-11-30 Robert Millan <rmh@gnu.org>
21898
21899 * grub-core/loader/i386/bsd.c
21900 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21901 whether kernel is loaded using grub_loader_is_loaded(), rather
21902 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21903 certain error conditions.
21904
21905 2010-11-30 Robert Millan <rmh@gnu.org>
21906
21907 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21908 (grub_cmd_echo): Call grub_refresh() after printing a message.
21909
21910 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21911
21912 Avoid using tricks for initialising endian variables.
21913
21914 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21915 Make const.
21916 (GRUB_MOD_INIT): Don't byte-swap.
21917 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21918 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21919 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21920 (grub_swap_bytes32_compile_time): Likewise.
21921 (grub_cpu_to_le32_compile_time): Likewise.
21922 (grub_cpu_to_le16_compile_time): Likewise.
21923
21924 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21925
21926 * util/grub-setup.c (setup): Stop recommending --force. People who
21927 understand the dangers of blocklists are able to find this option
21928 anyway and the ones who don't shouldn't use it anyway.
21929
21930 2010-11-26 Robert Millan <rmh@gnu.org>
21931
21932 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21933 Update all users.
21934
21935 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
21936
21937 Fix LVM-on-RAID probing.
21938
21939 * util/grub-probe.c (probe): Remember which disk was detected as
21940 RAID (perhaps an LVM physical volume). Use that disk's raidname
21941 rather than that of the top-level disk.
21942
21943 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
21944
21945 Fix cmdline argument quotes for setparams command of menuentry
21946 definitions.
21947
21948 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21949 quotes for arguments.
21950 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
21951 grub_strchrsub function instead.
21952
21953 * include/grub/misc.h (grub_strchrsub): New function.
21954
21955 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21956
21957 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21958 effort by skipping "." and ".." entries up-front.
21959 Suggested by: Michael Lazarev.
21960
21961 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21962
21963 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21964 ldflags to ldadd, to fix link line ordering.
21965 (none_decompress): Likewise.
21966
21967 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21968
21969 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21970 platforms.
21971 (grub-emu-lite): Remove kern/emu/cache.S.
21972
21973 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21974
21975 * util/deviceiter.c (compare_devices): If the by-id link for a
21976 device couldn't be resolved, fall back to sorting by the by-id link
21977 rather than segfaulting.
21978 Reported and tested by: Daniel Mierswa.
21979
21980 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21981
21982 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21983 ldflags, to fix link line ordering.
21984
21985 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21986
21987 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21988 linkers are picky about this.
21989
21990 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21991
21992 * grub-core/Makefile.am (command.lst): Adjust sed expression
21993 ordering so that extended and priority commands aren't treated as
21994 ordinary commands.
21995
21996 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21997
21998 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21999 Remove byte-swapping function calls, which are not valid in
22000 structure initialisers.
22001 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
22002 non-const.
22003 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
22004 grub_gpt_partition_type_bios_boot.
22005
22006 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22007
22008 Fix test program build on GNU/kFreeBSD.
22009
22010 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
22011 $(LIBNVPAIR)' library dependencies.
22012
22013 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22014
22015 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
22016
22017 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22018
22019 * util/grub-install.in: Remove excessive quoting that broke
22020 installations to RAID devices.
22021
22022 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22023
22024 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
22025 bootloader version instead of 0.
22026
22027 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22028
22029 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
22030 warning.
22031
22032 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22033
22034 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
22035 retrieve the metadat sector if size isn't known.
22036 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22037
22038 2010-11-18 Robert Millan <rmh@gnu.org>
22039
22040 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
22041 with grub_memcmp().
22042
22043 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
22044
22045 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
22046 arrow.
22047 Reported by: Jordan Uggla.
22048
22049 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22050
22051 Make better UTF compliant.
22052
22053 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
22054 sequences as incorrect.
22055 (grub_is_valid_utf8): Likewise.
22056 (grub_utf8_to_ucs4): Likewise.
22057 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
22058 (grub_ucs4_to_utf8_alloc): Likewise.
22059 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
22060
22061 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22062
22063 Make legacy_source behave like source.
22064
22065 * grub-core/commands/legacycfg.c (legacy_file): Don't call
22066 grub_show_menu.
22067 (grub_cmd_legacy_source): Call grub_show_menu if needed.
22068
22069 2010-11-16 Colin Watson <cjwatson@debian.org>
22070
22071 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
22072 (-Wunused implies -Wunused-parameter, but not vice versa).
22073
22074 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
22075
22076 * configure.ac: Make error messages less confusing by testing for
22077 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
22078 accepted, but produces a diagnostic if something else is wrong).
22079
22080 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22081
22082 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
22083 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
22084 (now unused).
22085 (grub_keyboard_controller_init)
22086 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
22087 read the initial state since controller isn't inited yet.
22088
22089 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22090
22091 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
22092 allocate_regbeg may need to create new chunk header.
22093
22094 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22095
22096 Fix quoting in legacy parser.
22097
22098 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
22099 single quotes.
22100 (grub_legacy_parse): Likewise.
22101 Reported by: Jordan Uggla.
22102 Tested by: Jordan Uggla.
22103
22104 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22105
22106 Don't add -lgcc on i386 and x86_64.
22107
22108 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
22109 * conf/Makefile.common (LDADD_KERNEL): Likewise.
22110 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
22111
22112 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 * configure.ac: Add -Wno-trampolines when supported.
22115
22116 2010-11-14 Modestas Vainius <modax@debian.org>
22117
22118 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
22119 fakeraid.
22120
22121 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22122
22123 Add generic logical block size support for UDF.
22124
22125 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
22126 (GRUB_UDF_BLKSZ): Removed.
22127 (struct grub_udf_data): New field "lbshift" to hold the logical block
22128 size of the file system in log2 format. All users updated.
22129 (sblocklist): Change type to unsigned.
22130 (grub_udf_mount): Change type of "sblklist" to unsigned.
22131 Move AVDP search before VRS recognition, because the latter requires
22132 knowledge of the logical block size, which is detected during the
22133 former.
22134 Detect and validate logical block size during AVDP search, adding
22135 support for block sizes 512, 1024 and 4096.
22136 Make VRS recognition independent of block size.
22137
22138 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22139
22140 Properly handle deleted files on UDF.
22141
22142 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22143 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22144 set.
22145
22146 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22147
22148 Support reading files larger than 2 GiB.
22149
22150 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22151 "offset" to grub_off_t.
22152 (grub_udf_read_file): Likewise for parameter "pos".
22153
22154 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22155
22156 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22157 unavailable.
22158 (Simple configuration): Refer to Changes from GRUB Legacy about
22159 save_env availability.
22160
22161 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22162
22163 * util/grub-install.in: Ignore empty partition table detection
22164 instead of trying to include part_ module.
22165
22166 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22167
22168 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22169 LVM on RAID support.
22170
22171 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22172
22173 Properly define WORDS_BIGENDIAN in wrapped environments.
22174
22175 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22176 definition.
22177 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22178
22179 Reported by: Manoel Rebelo Abranches.
22180 Tested by: Manoel Rebelo Abranches.
22181
22182 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22183
22184 * util/grub-mkconfig.in: Fix quoting.
22185
22186 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 Support big ext2 files.
22189
22190 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22191 (grub_ext2_read_block): Support triple indirect blocks.
22192 (grub_ext2_read_file): Use 64-bit types and read size_high.
22193 (grub_ext2_open): Read size_high.
22194 Reported by: Ximin Luo.
22195 Tested by: Manoel Rebelo Abranches.
22196
22197 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22198
22199 * util/grub-install.in: Handle filenames containing spaces.
22200 Reported by: Jordan Uggla.
22201 Tested by: Jordan Uggla.
22202
22203 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22204
22205 * util/grub-mkconfig.in (grub_script_check): New variable.
22206 Use grub_script_check instead of grub-script-check.
22207 Reported by: Barry Jackson.
22208
22209 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22210
22211 * docs/grub.texi (menu): Correct the order.
22212 Reported by: D. Hugh Redelmeier.
22213
22214 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22215
22216 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22217 jump.
22218
22219 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22220
22221 * include/grub/elfload.h (grub_elf32_size): New parameter.
22222 All users updated.
22223 Return maximum segments alignment.
22224 (grub_elf64_size): Likewise.
22225 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22226 Return maximum segments alignment.
22227 (grub_elf64_size): Likewise.
22228 * grub-core/loader/powerpc/ieee1275/linux.c:
22229 (grub_linux_claimmap_iterate): New function. Uses the
22230 "available" property in the "memory" node for memory allocation
22231 for kernel in the PowerPC loader.
22232 (grub_linux_load32): Correctly find linux entry point offset.
22233 (grub_linux_load64): Likewise.
22234
22235 2010-11-07 Robert Millan <rmh@gnu.org>
22236
22237 On mips-yeeloong, build with -march=loongson2f when this flag is
22238 available (GCC >= 4.4).
22239 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22240 `-march=mips3'.
22241 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22242 or otherwise add -march=mips3.
22243
22244 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22245
22246 Suppress shell expansion on echo '*' and echo "*" like cases.
22247 Reported by: Jordan Uggla.
22248
22249 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22250 string arguments before shell expansion.
22251 * tests/grub_cmd_echo.in: New testcases.
22252
22253 2010-11-07 Robert Millan <rmh@gnu.org>
22254
22255 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22256 transition.
22257
22258 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22259
22260 * grub-core/kern/emu/hostdisk.c
22261 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22262
22263 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22264
22265 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22266 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22267 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22268
22269 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22270
22271 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22272
22273 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22274
22275 * util/grub-install.in: Replace useless recomendation to pass
22276 --modules with a recomendation to report a bug.
22277
22278 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22279
22280 Properly register serial terminfo.
22281 Reported by: Jordan Uggla
22282
22283 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22284 const.
22285 (grub_serial_terminfo_output_template): Likewise.
22286 (grub_cmd_serial): Register "serial" with terminfo.
22287 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22288 grub_serial_terminfo_output.
22289
22290 2010-11-05 Robert Millan <rmh@gnu.org>
22291
22292 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22293 needed).
22294
22295 2010-11-05 Robert Millan <rmh@gnu.org>
22296
22297 On Yeeloong, pass machine type information to Linux.
22298
22299 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22300 (LOONGSON_MACHTYPE): New macro, set to
22301 "machtype=lemote-yeeloong-2f-8.9inches".
22302 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22303 additional argument to Linux.
22304
22305 2010-11-04 Robert Millan <rmh@gnu.org>
22306
22307 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22308 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22309 (its SATA disks are detected as slaveless IDE master drives on
22310 kFreeBSD).
22311 Reported by Carsten Aulbert.
22312
22313 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
22314
22315 * util/bin2h.c (main): Fix spelling error in generated output.
22316
22317 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22318
22319 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22320
22321 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22322
22323 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22324 vga= option is supplied.
22325
22326 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22327
22328 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22329 * util/grub.d/10_kfreebsd.in: Likewise.
22330 * util/grub.d/10_linux.in: Likewise.
22331 * util/grub.d/20_linux_xen.in: Likewise.
22332
22333 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22334
22335 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22336 argument as an argument to no-argument option.
22337
22338 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22339
22340 * util/grub.d/10_linux.in: Add missing load_video with explicit
22341 GRUB_GFXPAYLOAD_LINUX.
22342
22343 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22344
22345 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22346
22347 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22348
22349 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22350 elements with invlid index.
22351 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22352 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22353 members.
22354 * include/grub/raid.h (grub_raid_member): New struct.
22355 (grub_raid_array): Transform devices and start_sector into usage of
22356 grub_raid_member. All users updated
22357 (allocated_devs): New member.
22358
22359 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22360
22361 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22362 is modified
22363
22364 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22365
22366 NetBSD build fix for getline function conflict from gnulib.
22367
22368 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22369 components that depend on gnulib headers.
22370 (libgrubmods.a): Renamed from earlier libgrub.a.
22371 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22372
22373 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22374
22375 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22376 install rather than creating a broken install.
22377
22378 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22379
22380 * util/grub-setup.c (argp): Remove misleading example of installing to
22381 a partition.
22382
22383 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22384
22385 * util/grub-setup.c (setup): Clarify the error message.
22386
22387 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22390
22391 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * grub-core/kern/emu/misc.c
22394 (grub_make_system_path_relative_to_its_root)
22395 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22396
22397 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 * grub-core/kern/emu/misc.c
22400 (grub_make_system_path_relative_to_its_root): Revert r2882.
22401
22402 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22403
22404 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22405 useless field head. All users updated.
22406 (free_subchunk): Correct handling of IN_REGION subchunk.
22407
22408 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
22409
22410 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22411 (Supported kernels): Likewise.
22412
22413 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22414
22415 Make mktemp invocations portable.
22416
22417 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22418 exit if mktemp fails.
22419 * tests/grub_script_blockarg.in: Likewise.
22420 * tests/partmap_test.in: Likewise.
22421 * tests/util/grub-shell-tester.in: Likewise.
22422 * tests/util/grub-shell.in: Likewise.
22423 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22424 * Makefile.am: Likewise, and chain shell commands with `&&'
22425 instead of ';'.
22426 * util/grub-mkrescue.in: Use the same explicit template as above, and
22427 exit if mktemp fails.
22428
22429 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22430
22431 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22432 Linux kernel, reported by Dennis Schridde.
22433
22434 2010-10-17 Szymon Janc <szymon@janc.net.pl>
22435
22436 * grub-core/normal/auth.c (grub_auth_check_authentication):
22437 Set-but-not-used variable removed.
22438
22439 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22440
22441 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22442 32-bit linux protocol.
22443
22444 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22447 cursor shape for sanity.
22448
22449 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 * docs/grub.texi (Installation): Document buggy BIOS install.
22452
22453 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22454
22455 * docs/grub.texi (Installation): Indent.
22456
22457 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22458
22459 * util/grub-setup.c (setup): New parameter allow_floppy.
22460 (arguments): New member allow_floppy.
22461 (argp_parser): Handle --allow-floppy.
22462 (main): Pass allow_floppy.
22463 * util/grub-install.in: New option --allow-floppy passed though to
22464 grub-setup.
22465
22466 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22467
22468 * util/grub-install.in: Handle partitionless disks.
22469
22470 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22471
22472 * util/grub-setup.c (setup): Don't clean blocklists before readability
22473 verfification.
22474
22475 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22476
22477 * docs/grub.texi (Installation): Document embedding zone. Remove
22478 obsolete grub-install example.
22479
22480 2010-10-16 Szymon Janc <szymon@janc.net.pl>
22481
22482 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22483 Set-but-not-used variable ifdef'ed.
22484 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22485 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22486 variable removed.
22487 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22488 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22489 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22490 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22491 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22492 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22493 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22494 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22495 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22496 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22497 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22498 Likewise.
22499
22500 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22501
22502 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22503 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22504 enum value.
22505
22506 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22507
22508 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22509 synonym to _S5_. Needed for some DSDTs.
22510
22511 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22512
22513 Userspace ACPI parser debugging.
22514
22515 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22516 headers and add relevant defines. Don't include standard headers.
22517 (main) [GRUB_DSDT_TEST]: New function.
22518 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22519 Don't declare functions.
22520
22521 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22522
22523 Remove dead grub_efi_mm_fini.
22524
22525 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22526 (ALLOCATED_PAGES_SIZE): Likewise.
22527 (MAX_ALLOCATED_PAGES): Likewise.
22528 (allocated_pages): Likewise.
22529 (grub_efi_allocate_pages): Don't record allocated pages.
22530 (grub_efi_free_pages): Likewise.
22531 (grub_efi_mm_init): Likewise.
22532 (grub_efi_mm_fini): Removed.
22533
22534 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22537 (grub_efi_mm_init): Take into account the memory map size increase.
22538
22539 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22540
22541 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22542 (serial_hw_put): Wait based on real time rather than port reads. Don't
22543 roken ports.
22544 * include/grub/serial.h (grub_serial_port): New field broken.
22545
22546 2010-10-16 Robert Millan <rmh@gnu.org>
22547
22548 * grub-core/kern/emu/misc.c
22549 (grub_make_system_path_relative_to_its_root): Fix premature return
22550 when processing non-root ZFS filesystems.
22551 Reported by Sergio Talens-Oliag.
22552
22553 2010-10-15 Robert Millan <rmh@gnu.org>
22554
22555 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22556 guarantee compressed ones are processed first.
22557
22558 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22561 grub_efiemu_autocore.
22562
22563 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22564
22565 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22566 rather than 0x1b.
22567 (grub_console_getkey): Use correct jae opcode rather than ja.
22568
22569 2010-10-12 Robert Millan <rmh@gnu.org>
22570
22571 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22572 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22573 variable. All references updated.
22574
22575 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22576
22577 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22578
22579 Correctly distinguish mdraid flavours.
22580
22581 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22582 (insert_array): New argument raid.
22583 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22584 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22585 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22586
22587 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22588
22589 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22590 handling of special keys.
22591
22592 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22593
22594 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22595 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
22596
22597 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22598
22599 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22600 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22601 users updated.
22602 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
22603 Use right endpoint when querying descriptor.
22604
22605 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22606
22607 Clear out 0x80 color bit on EFI.
22608 Tested by: decoder
22609 Reported by: decoder and meta tech.
22610
22611 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22612 (grub_console_setcolorstate): Clear out 0x80 bit.
22613 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22614 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22615 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22616
22617 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22620 Set to "auto".
22621
22622 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22623
22624 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22625 mo_file after freeing.
22626
22627 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22628
22629 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22630
22631 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22632
22633 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22634 flags.
22635
22636 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22637
22638 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22639 usage.
22640
22641 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22642
22643 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22644
22645 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22646 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22647 and terminfo.h when needed.
22648 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22649 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22650 (terminfo): Enable only on terminfokernel.
22651 (extcmd): Likewise.
22652 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22653 * include/grub/lib/arg.h: Likewise.
22654 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22655 incorrect usage of ->.
22656
22657 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22658
22659 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22660 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22661
22662 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22663
22664 Fix coreboot compilation.
22665
22666 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22667 Take VBE info into account even if only text is supported.
22668 (fill_vbe_info): Take into account the case when only VGA text
22669 is supported.
22670 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22671 on coreboot, multiboot and qemu.
22672
22673 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22676 debug messages.
22677 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22678
22679 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22680
22681 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22682 parameters.
22683
22684 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22685
22686 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22687 if they were BSD-style.
22688
22689 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22690
22691 * grub-core/boot/i386/pc/lnxboot.S: Replace
22692 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22693 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22694
22695 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22696
22697 Write embedding zone using Reed-Solomon.
22698
22699 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22700 * grub-core/Makefile.am (rs_decoder.S): New target.
22701 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22702 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22703 (multiboot): Move to RS part.
22704 (post_reed_solomon): New label.
22705 (grub_boot_drive): Move to non-RS part since it's modified in memory
22706 on boot.
22707 Include rs_decoder.S.
22708 * grub-core/lib/reed_solomon.c: New file.
22709 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22710 New definition.
22711 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22712 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22713 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22714 * include/grub/partition.h (grub_partition_map): Change prototype of
22715 embed to allow returning additional sectors.
22716 * include/grub/reed_solomon.h: New file.
22717 * util/grub-setup.c (setup): Handle Reed-Solomon.
22718
22719 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
22720
22721 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22722 i386 and x86-64 definedness tests.
22723
22724 2010-09-27 Yves Blusseau <blusseau@zetam.org>
22725
22726 Fix generation of kernel_syms.lst
22727
22728 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22729 ASM_PREFIX
22730
22731 2010-09-26 Robert Millan <rmh@gnu.org>
22732
22733 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22734
22735 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22736 the pool is an array of devices, iterate through it and return the
22737 first device that passes a stat() test (instead of blindly returning
22738 the first one).
22739
22740 2010-09-26 Robert Millan <rmh@gnu.org>
22741
22742 Build fixes for GNU/kFreeBSD.
22743
22744 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22745 to programs that require ZFS conversion.
22746 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22747 kernels that don't have FLOPPY_MAJOR.
22748
22749 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22750
22751 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22752
22753 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22754
22755 Fix grub-emu build.
22756
22757 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22758 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22759 mdraid09 and mdraid1x.
22760
22761 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
22762
22763 Re-enable grub-extras.
22764
22765 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22766 avoid confusing Automake. Run autogen only twice, once for the top
22767 level and once for grub-core. Add Makefile.util.def and
22768 Makefile.core.def from extra modules to the appropriate autogen
22769 invocations. If Makefile.common exists in an extra module, include
22770 it in both Makefile.util.am and grub-core/Makefile.core.am;
22771 similarly, include any Makefile.util.common file in Makefile.util.am
22772 and any Makefile.core.common file in grub-core/Makefile.core.am.
22773 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22774 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22775 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22776 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22777
22778 * gentpl.py (gvar_add): Turn GVARS into a set.
22779 (global_variable_initializers): Sort global variables on output.
22780 (vars_init): New function.
22781 (first_time): Likewise.
22782 (library): Ensure that non-global variable initialisations are
22783 emitted before the first time we emit code for a library block.
22784 Append to variables rather than setting them. Only emit
22785 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22786 each conditional path.
22787 (program): installdir() emits an Autogen macro, so must be passed to
22788 var_add rather than gvar_add.
22789 (data): Likewise.
22790 (script): Likewise.
22791 (rules): New function, centralising handling for different target
22792 types. Set up Guile association lists for first_time and vars_init,
22793 and send most output to a diversion so that variable initialisations
22794 can be emitted first.
22795 (module_rules): Use new rules function.
22796 (kernel_rules): Likewise.
22797 (image_rules): Likewise.
22798 (library_rules): Likewise.
22799 (program_rules): Likewise.
22800 (script_rules): Likewise.
22801 (data_rules): Likewise.
22802
22803 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22804
22805 * .bzrignore: Add contrib and grub-core/contrib. Remove
22806 grub-core/Makefile.gcry.am.
22807
22808 2010-09-24 Yves Blusseau <blusseau@zetam.org>
22809
22810 * grub-core/lib/LzFind.c: Add missing include.
22811 * grub-core/lib/LzmaEnc.c: Likewise.
22812 * grub-core/script/lexer.c: Likewise.
22813 * grub-core/script/yylex.l: Likewise.
22814 * util/grub-macho2img.c: Likewise.
22815 * util/grub-menulst2cfg.c: Likewise.
22816 * util/grub-mklayout.c: Likewise.
22817 * util/grub-mkpasswd-pbkdf2.c
22818 * util/grub-mkrelpath.c: Likewise.
22819 * util/resolve.c: Likewise.
22820
22821 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22822
22823 * Makefile.util.def (example_unit_test): Add
22824 grub-core/gnulib/libgnu.a.
22825
22826 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22827
22828 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22829
22830 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22831
22832 Support xz compression on yeeloong.
22833
22834 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22835 * configure.ac: Check for LZMA.
22836 * grub-core/Makefile.core.def (xz_decompress): New target.
22837 (none_decompress): Likewise.
22838 * grub-core/boot/decompressor/minilib.c: New file.
22839 * grub-core/boot/decompressor/none.c: Likewise.
22840 * grub-core/boot/decompressor/xz.c: Likewise.
22841 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22842 * grub-core/kern/mips/cache_flush.S: Likewise.
22843 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22844 * grub-core/kern/mips/startup.S: Move first stage to ...
22845 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22846 nomacro.
22847 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22848 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22849 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22850 Allocate statically.
22851 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22852 Allocate statically or use scratch. Don't check CRC32.
22853 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22854 Allocate statically. Don't check CRC32.
22855 * include/grub/decompressor.h: New file.
22856 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22857 Removed.
22858 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22859 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22860 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22861 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22862 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22863 * util/grub-mkimage.c (grub_compression_t): New type.
22864 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22865 (image_target_desc): New field default_compression.
22866 (image_targets): Adjust yeeloong targets.
22867 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22868 (compress_kernel): New parameter comp.
22869 (generate_image): Likewise. Handle new compression case.
22870 (options): New option --compression
22871 (help): Likewise.
22872 (main): Handle new option.
22873
22874 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22875
22876 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22877
22878 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
22879
22880 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22881 typo in __i386__ conditional.
22882
22883 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22884
22885 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22886 include.
22887
22888 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22889
22890 Implement EFI and ACPI multiboot2 extensions.
22891
22892 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22893 new tags as supported.
22894 (acpiv2_size): New function.
22895 (grub_multiboot_get_mbi_size): Take new tags into account.
22896 (grub_multiboot_make_mbi): Add new tags.
22897 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
22898
22899 2010-09-21 Aleš Nesrsta <starous@volny.cz>
22900
22901 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22902 Added missing configuration of USB device.
22903
22904 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22905
22906 * grub-core/normal/menu_entry.c (run): Make sure we always return
22907 a value.
22908
22909 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22910
22911 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22912 NumberOfPages is UINT64 according to the UEFI specification, not
22913 UINTN. Fix printf format.
22914
22915 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22916
22917 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22918 `err' to grub_usb_err_t.
22919 Reported and tested by: KESHAV P.R.
22920
22921 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22922
22923 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22924 tpart non-const, so that we can assign to it. (Since this is a
22925 typedef, the constness refers to the pointer rather than what it
22926 points to.)
22927
22928 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22929
22930 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22931 $(top_srcdir)/grub-core/gnulib as well as
22932 $(top_builddir)/grub-core/gnulib.
22933 Reported by: KESHAV P.R.
22934
22935 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22936
22937 * util/grub-install.in: Fix the bootloader ID option to be
22938 consistently --bootloader-id, not --bootloader_id.
22939 Reported by: KESHAV P.R.
22940
22941 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22942
22943 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22944 check hash checksum." consistently translatable.
22945
22946 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22947
22948 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22949 $(top_builddir).
22950
22951 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22952
22953 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22954 (GRUB_MOD_INIT): Register sha1sum command.
22955 (GRUB_MOD_FINI): Unregister sha1sum command.
22956
22957 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22958
22959 Keep boot and grub directory names in sync with utils scripts
22960
22961 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22962 * config.h.in: Add previous macros.
22963 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22964 * util/grub-install.in: Use $bootdir and $grubdir variables.
22965
22966 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22967
22968 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22969 convert partition names to disk names if the new `convert' parameter
22970 is set.
22971 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22972 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22973 disk in its own right. This can happen with Xen disk images.
22974
22975 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22976
22977 * util/grub-editenv.c: Update strings to avoid warnings when generating
22978 grub.pot file.
22979 * util/grub-setup.c: Likewise.
22980
22981 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22982
22983 * configure.ac: Change version to 1.99~beta0.
22984
22985 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22986
22987 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22988 Add BADRAM.
22989 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22990 Likewise.
22991 * include/multiboot.h: Resynced with specification.
22992 * include/multiboot2.h: Likewise.
22993
22994 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22995
22996 Fix po directory handling.
22997
22998 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22999 * grub-core/gnulib/Makefile.am: Import gettext module.
23000 * m4/gnulib-cache.m4: Likewise.
23001 * m4/gnulib-comp.m4: Likewise.
23002 * m4/gettext.m4: New file, from gnulib.
23003 * m4/glibc2.m4: Likewise.
23004 * m4/iconv.m4: Likewise.
23005 * m4/intdiv0.m4: Likewise.
23006 * m4/intl.m4: Likewise.
23007 * m4/intldir.m4: Likewise.
23008 * m4/intlmacosx.m4: Likewise.
23009 * m4/intmax.m4: Likewise.
23010 * m4/inttypes-pri.m4: Likewise.
23011 * m4/lcmessage.m4: Likewise.
23012 * m4/lib-ld.m4: Likewise.
23013 * m4/lib-link.m4: Likewise.
23014 * m4/lib-prefix.m4: Likewise.
23015 * m4/lock.m4: Likewise.
23016 * m4/nls.m4: Likewise.
23017 * m4/po.m4: Likewise.
23018 * m4/printf-posix.m4: Likewise.
23019 * m4/progtest.m4: Likewise.
23020 * m4/threadlib.m4: Likewise.
23021 * m4/uintmax_t.m4: Likewise.
23022 * m4/visibility.m4: Likewise.
23023 * po/Makefile.am: Remove.
23024 * po/Makefile.in.in: New file, from gettext.
23025 ($(DOMAIN).pot-update): Support POTFILES-shell.
23026 * po/Makevars: New file.
23027 * po/POTFILES-shell: Rename to ...
23028 * po/POTFILES-shell.in: ... this. Update.
23029 * po/POTFILES: Rename to ...
23030 * po/POTFILES.in: ... this. Update.
23031 * po/Rules-quot: New file, from gettext.
23032 * po/boldquot.sed: Likewise.
23033 * po/en@boldquot.header: Likewise.
23034 * po/en@quot.header: Likewise.
23035 * po/insert-header.sin: Likewise.
23036 * po/quot.sed: Likewise.
23037 * po/remove-potcdate.sin: Likewise.
23038
23039 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23040
23041 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
23042
23043 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23044
23045 * util/grub.d/20_linux_xen.in: Use submenus.
23046
23047 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23048
23049 Support submenus.
23050
23051 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
23052 parameter submenu. All users updated.
23053 * grub-core/normal/main.c (free_menu): Rename to ...
23054 (grub_normal_free_menu): ... this. Made global.
23055 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
23056 if requested.
23057 * grub-core/normal/menu_entry.c (screen): New field submenu.
23058 (make_screen): Set submenu.
23059 (run): Open new context if requested.
23060 * include/grub/menu.h (grub_menu_entry): New field submenu.
23061 * include/grub/normal.h (grub_normal_free_menu): New proto.
23062
23063 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 Menu entries extractor.
23066
23067 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
23068 variants.
23069 (GRUB_MOD_INIT): Register new variants.
23070 (GRUB_MOD_FINI): Unregister new variants.
23071 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
23072 into grub_cmd_legacy_source.
23073 (grub_cmd_legacy_source): Implement extractor variants.
23074 (GRUB_MOD_INIT): Register new variants.
23075 (GRUB_MOD_FINI): Unregister new variants.
23076 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
23077 as an extractor.
23078 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
23079 search as an extractor.
23080 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
23081 test as an extractor.
23082 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
23083 as an extractor.
23084 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
23085 (grub_env_new_context): New function.
23086 (grub_env_context_open): Likewise.
23087 (grub_env_extractor_open): Likewise.
23088 (grub_env_extractor_close): Likewise.
23089 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23090 grub_extractor_level.
23091 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
23092 * include/grub/env.h (grub_env_extractor_open): New proto.
23093 (grub_env_extractor_close): Likewise.
23094 * include/grub/normal.h (grub_extractor_level): New external variable.
23095
23096 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 Make cutmem accept a region specification.
23099 Suggested by: Samuel Thibault
23100
23101 * grub-core/mmap/mmap.c (parsemem): New function.
23102 (grub_cmd_cutmem): Handle new arguments.
23103
23104 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23105
23106 New command cutmem.
23107
23108 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
23109 (GRUB_MOD_INIT): Register new command.
23110 (GRUB_MOD_FINI): Unregister new command.
23111
23112 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23113
23114 Support some annoying BSD and Minix subpartitions.
23115
23116 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
23117 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
23118 Properly handle concatenation.
23119 * grub-core/kern/device.c (grub_device_iterate): Likewise.
23120 * grub-core/normal/completion.c (iterate_partition): Likewise.
23121 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
23122 contain partition. All users updated.
23123 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
23124 struct.
23125 (grub_openbsdlabel_partition_map): Likewise.
23126 (bsdlabel_partition_map_iterate): Rename to ..
23127 (iterate_real): ... this. New arguments sector, freebsd and pmap.
23128 (bsdlabel_partition_map_iterate): New function.
23129 (netopenbsdlabel_partition_map_iterate): Likewise.
23130 (netbsdlabel_partition_map_iterate): Likewise.
23131 (openbsdlabel_partition_map_iterate): Likewise.
23132 (GRUB_MOD_INIT): Register new partmaps.
23133 (GRUB_MOD_FINI): Unregister new partmaps.
23134 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
23135 (grub_partition_msdos_iterate): ... this. All users updated.
23136 Don't support embedding other than in a minix partition.
23137 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23138 proto.
23139 * include/grub/partition.h (grub_partition): New field msdostype.
23140 * util/grub-install.in: Handle openbsd and netbsd types being in
23141 part_bsd module.
23142
23143 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23146
23147 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23148 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23149 (mdraid09): ... this.
23150 (mdraid1x): New module.
23151 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23152 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23153
23154 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23155
23156 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23157 vsprintf.
23158
23159 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23160
23161 * grub-core/commands/efi/lsefimmap.c: Correct header.
23162 * NEWS: Update.
23163
23164 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23165
23166 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23167 as printf format strings; the translations might contain '%' which
23168 could cause a crash.
23169 (main): Likewise.
23170 * util/grub-fstest.c (argp_parser): Likewise.
23171 * util/grub-setup.c (argp_parser): Likewise.
23172 (main): Likewise.
23173
23174 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23175
23176 Use argp in grub-fstest.
23177
23178 * util/grub-fstest.c: Don't include getopt.h.
23179 Include argp.h.
23180 (root): New variable.
23181 (args_count): Likewise.
23182 (nparm): Likewise.
23183 (num_disks): Likewise.
23184 (images): Likewise.
23185 (cmd): Likewise.
23186 (debug_str): Likewise.
23187 (args): Likewise.
23188 (options): Transformed to argp.
23189 (usage): Removed.
23190 (main): Split argument parsing into ...
23191 (argp_parser): ... this. Changed to argp format.
23192 (argp): New variable.
23193 (main): Use argp_parse.
23194
23195 2010-09-20 Tristan Gingold <gingold@free.fr>
23196 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
23197 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23198
23199 * grub-core/commands/efi/lsefimmap.c: New file.
23200 * grub-core/Makefile.core.def (lsefimmap): New module.
23201 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23202
23203 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23204
23205 Pause the execution (10s max) if any errors are displayed so the user
23206 has a chance to see them.
23207
23208 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23209 (grub_print_error): Increment grub_err_printed_errors.
23210 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23211 execution if any errors were displayed.
23212 (show_menu): Remove old code for pause.
23213 * grub-core/normal/menu_entry.c (run): Likewise.
23214 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23215 users updated.
23216 (grub_normal_get_char_counter): Likewise.
23217 * include/grub/err.h (grub_err_printed_errors): New external variable.
23218 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23219
23220 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23221
23222 Support multiboot VBE info.
23223
23224 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23225 Take VBE info into account.
23226 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23227 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23228 Call fill_vbe_info when appropriate.
23229 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23230 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23231 as supported.
23232 (grub_multiboot_get_mbi_size): Take new tags into account.
23233 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23234 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23235 Call fill_vbe_tag when appropriate.
23236 (grub_multiboot_make_mbi): Properly align tags.
23237 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23238 function.
23239 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23240 proto.
23241 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23242
23243 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23244
23245 Suport manual terminal geometry specification.
23246
23247 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23248 Save state in grub_ofconsole_terminfo_output.
23249 (grub_ofconsole_term): Use grub_terminfo_getwh.
23250 (grub_ofconsole_getwh): Removed.
23251 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23252 (grub_serial_term): Use grub_terminfo_getwh.
23253 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23254 (options): New struct.
23255 (OPTION_*): New enum.
23256 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23257 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23258 width and height.
23259 (grub_terminfo_getwh): New proto.
23260 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23261
23262 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23263
23264 Handle legacy "terminal" command.
23265
23266 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23267 and FLAG_TERMINAL.
23268 (legacy_commands): Add terminal and title.
23269 (grub_legacy_parse): Handle terminal. Simplify title handling.
23270
23271 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23272
23273 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23274 parameters overflow.
23275
23276 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23277
23278 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23279 widthspec.h.
23280
23281 * docs/grub.texi (Shell-like scripting): Document `!'.
23282 (Network): Simplify using new i386-pc-pxe format. Mention
23283 grub-mknetdir.
23284
23285 * NEWS: Update.
23286
23287 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23288
23289 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23290 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23291 when needed.
23292
23293 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23294
23295 * grub-core/commands/efi/lsefisystab.c: Correct header.
23296 * grub-core/commands/efi/lssal.c: Likewise.
23297 * grub-core/commands/testload.c: Likewise.
23298
23299 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23300
23301 * util/grub-mkrescue.in: Add explicit root argument to --set to
23302 prevent the UUID being interpreted as an argument to --set (matches
23303 previous change to prepare_grub_to_access_device).
23304
23305 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23306
23307 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23308 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23309 the verbosity of later #ifs.
23310 (find_partition_start): Define this function on FreeBSD too.
23311 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23312 function.
23313 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23314 on FreeBSD.
23315
23316 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23317
23318 * util/grub-editenv.c: Use argp instead of getopt.
23319
23320 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23321
23322 * util/grub-setup.c: Use argp instead of getopt.
23323
23324 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23325
23326 Use gnulib-tool to create gnulib source files.
23327
23328 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23329 grub-core/gnulib directories
23330 * .bzignore: Add **/.deps and autogenerated gnulib files
23331 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23332 of gnulib macros, add grub-core/gnulib/Makefile
23333 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23334 include m4 directory to aclocal.
23335 * Makefile.util.def: Remove direct compilation of gnulib source files
23336 and use the new grub-core/gnulib/libgnu.a.
23337 * build-aux/config.rpath: move config.rpath from top directory to
23338 build-aux
23339 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23340 in gnulib headers
23341 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23342 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23343 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23344 header.
23345 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23346 string.
23347
23348 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23349
23350 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23351 grub-core/genmod.sh and grub-core/gensyminfo.sh
23352
23353 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23354
23355 Add a test for echo command options.
23356
23357 * tests/grub_cmd_echo.in: New test.
23358 * Makefile.util.def: Rules for new test.
23359
23360 2010-09-20 Szymon Janc <szymon@janc.net.pl>
23361
23362 Remove crc.mod and move crc command to hashsum.mod.
23363 Remove lib/crc.c - users updated to use gcrypt implementation.
23364
23365 * grub-core/commands/crc.c: Removed.
23366 * grub-core/Makefile.core.def (crc): Module removed.
23367 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23368 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23369 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23370 * grub-core/lib/crc.c: Removed.
23371 * include/grub/lib/crc.h: Removed.
23372 * Makefile.util.def (crc): Remove lib/crc.c
23373 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23374 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23375 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23376 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23377 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23378 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23379
23380 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23381
23382 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23383
23384 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23385
23386 Split config.h for util and core.
23387
23388 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23389 (ADDR32): Likewise.
23390 (DATA32): Likewise.
23391 (BSS_START_SYMBOL): Likewise.
23392 (END_SYMBOL): Likewise.
23393 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23394 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23395 * config.h.in: New file.
23396 * configure.ac: Use config-util.h as config define file.
23397 Rename MACHINE into GRUB_MACHINE. All users updated.
23398 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23399 updated.
23400 (NESTED_FUNC_ATTR): Likewise.
23401 Substitue new variables.
23402 (COND_HAVE_ASM_USCORE): New conditional.
23403 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23404 (kernel_syms.lst): Use ASM_PREFIX.
23405 * grub-core/kern/emu/console.c: Include config-util.h.
23406 * grub-core/kern/emu/misc.c: Likewise.
23407 * grub-core/kern/emu/mm.c: Likewise.
23408 * include/grub/emu/misc.h: Likewise.
23409 * include/grub/libgcc.h: Likewise.
23410
23411 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23412
23413 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23414 constants usage.
23415 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23416 Fix GRUB_TERM_KEY_* constants usage.
23417 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23418
23419 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23420
23421 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23422 print pointer.
23423 * grub-core/bus/usb/uhci.c: Remove empty define.
23424 (grub_uhci_check_transfer): Add missing cast.
23425 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23426 print pointer.
23427 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23428 PRIuGRUB_SIZE.
23429 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23430
23431 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23432
23433 * grub-core/Makefile.core.def (legacycfg): Add
23434 lib/i386/pc/vesa_modes_table.c on emu.
23435
23436 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23437
23438 Reduce number of temporary files generated by build system.
23439
23440 * grub-core/gencmdlist.sh: Removed.
23441 * grub-core/genfslist.sh: Removed.
23442 * grub-core/genhandlerlist.sh: Removed.
23443 * grub-core/genmodsrc.sh: Removed.
23444 * grub-core/genpartmaplist.sh: Removed.
23445 * grub-core/genparttoollist.sh: Removed.
23446 * grub-core/gentermiinallist.sh: Removed.
23447 * grub-core/genvideolist.sh: Removed.
23448
23449 * grub-core/genmod.sh.in: New file.
23450 * grub-core/gensyminfo.sh.in: New file.
23451
23452 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23453 * conf/Makefile.extra-dist: Update with new files.
23454 * gentpl.py: Remove rules related to unnecessary temporary files.
23455 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23456 and und-* files.
23457 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23458 genmod.sh scripts.
23459 * grub-core/bus/usb/uhci.c: Remove empty #define.
23460 * grub-core/genmoddep.awk: Updated with new syminfo format.
23461 * util/bash-completion.d/Makefile.am: Add config.log to
23462 CLEANFILES.
23463
23464 2010-09-19 Yves Blusseau <blusseau@zetam.org>
23465
23466 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23467
23468 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23469
23470 * util/grub-mkconfig.in: Check the config script for syntax errors
23471 before saving.
23472
23473 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
23474 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23475
23476 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23477 platforms.
23478 * util/grub-install.in: Add EFI and IEEE1275 support.
23479 * util/i386/efi/grub-install.in: Removed.
23480 * util/ieee1275/grub-install.in: Likewise.
23481
23482 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23483
23484 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23485 (grub_cmd_cmosclean): Likewise.
23486 (GRUB_MOD_INIT): Register command cmosclean.
23487 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23488 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23489
23490 2010-09-18 Carles Pina i Estany <carles@pina.cat>
23491 2010-09-18 Aleš Nesrsta <starous@volny.cz>
23492 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23493
23494 Add keyboard layouts support.
23495
23496 * Makefile.util.def (grub-mklayout): New file.
23497 (grub-kbdcomp): New script.
23498 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23499 Add keyboard_layouts.h.
23500 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23501 commands/boot.c on yeeloong.
23502 (keylayouts): New module.
23503 * grub-core/bus/usb/ohci.c
23504 * grub-core/bus/usb/uhci.c
23505 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23506 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23507 (attach_root_port): Likewise.
23508 (poll_nonroot_hub): Likewise.
23509 (grub_usb_poll_devices): Likewise.
23510 (detach_device): Close transfer.
23511 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23512 function.
23513 (grub_usb_bulk_setup_readwrite): Likewise.
23514 (grub_usb_bulk_finish_readwrite): Likewise.
23515 * grub-core/commands/keylayouts.c: New file.
23516 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23517 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23518 aliases.
23519 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23520 support scancode 2.
23521 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23522 * include/grub/keyboard_layouts.h: New file.
23523 * util/grub-mklayout.c: New file.
23524 * util/grub-kbdcomp.in: Likewise.
23525
23526 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23527
23528 Unify memory types.
23529
23530 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23531 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23532 types.
23533 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23534 (grub_upper_mem): Likewise.
23535 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23536 * include/grub/memory.h (grub_memory_type_t): New enum.
23537 All users updated.
23538
23539 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23540
23541 * grub-core/Makefile.core.def (lsapm): New module.
23542 * grub-core/commands/i386/pc/lsapm.c: New file.
23543 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23544 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23545 Likewise.
23546 * include/grub/i386/pc/apm.h: New file.
23547 * include/multiboot.h (multiboot_apm_info): New struct.
23548
23549 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 GRUB-legacy configuration file support.
23552
23553 * Makefile.util.def (grub-menulst2cfg): New util.
23554 * docs/man/grub-menulst2cfg.h2m: New file.
23555 * grub-core/Makefile.core.def (legacycfg): New module.
23556 * grub-core/commands/legacycfg.c: New file.
23557 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23558 (grub_normal_add_menu_entry): ... this.
23559 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23560 (grub_normal_set_password): ...this.
23561 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23562 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23563 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23564 * grub-core/lib/legacy_parse.c: New file.
23565 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23566 * include/grub/i386/pc/vesa_modes_table.h: New file.
23567 * include/grub/legacy_parse.h: Likewise.
23568 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23569 * util/grub-menulst2cfg.c: New file.
23570
23571 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23572
23573 * grub-core/kern/emu/hostdisk.c
23574 (convert_system_partition_to_system_disk): Initialise node.
23575
23576 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23577
23578 * grub-core/kern/emu/hostdisk.c
23579 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23580 leak.
23581 Reported and based on patch by: Modestas Vainius.
23582
23583 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23584
23585 Fix DM-RAID probing with recent versions of device-mapper udev
23586 rules.
23587
23588 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23589 canonicalise device paths under /dev/mapper/.
23590 (convert_system_partition_to_system_disk): Compare the
23591 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23592 path, since device nodes under /dev/mapper/ are often symlinks.
23593
23594 2010-09-17 Yves Blusseau <blusseau@zetam.org>
23595
23596 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23597
23598 2010-09-16 Yves Blusseau <blusseau@zetam.org>
23599
23600 * configure.ac: Avoid some annoying error messages if freetype-config
23601 program is not found.
23602
23603 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23604
23605 Support RAID on virtio devices, and others.
23606
23607 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23608 Rename to ...
23609 [__MINGW32__] (grub_find_device): ... this.
23610 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23611 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23612 reasonable default if dir is NULL.
23613 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23614 ...
23615 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23616 (grub_guess_root_device): Update callers.
23617 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23618
23619 * util/raid.c (grub_util_getdiskname): Remove.
23620 (grub_util_raid_getmembers): Use grub_find_device rather than
23621 grub_util_getdiskname.
23622
23623 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23624
23625 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23626 needing to be compiled with serial support.
23627 (ls): Indicate that multiple files are accepted.
23628 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23629 indicate that multiple files are accepted.
23630
23631 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23632
23633 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23634 libgrub_a_init.c, and util/bash-completion.d/grub.
23635
23636 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23637
23638 * util/grub-setup.c (setup): Fix incorrect container semantics.
23639
23640 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23641
23642 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23643 misusage.
23644 Reported by: J. Nick Terry
23645
23646 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23647
23648 Move embedding routines to partmap sources files.
23649
23650 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23651 [GRUB_UTIL]: New variable.
23652 (gpt_partition_map_iterate): Set part.parent.
23653 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23654 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23655 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23656 New function.
23657 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23658 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23659 (grub_partition_map) [GRUB_UTIL]: New field embed.
23660 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23661 (setup): Use ->embed.
23662
23663 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23664
23665 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23666 function.
23667 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23668 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23669
23670 2010-09-15 Yves Blusseau <blusseau@zetam.org>
23671
23672 Add function to get completions from usage.
23673
23674 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23675 completions from usage. Use LC_ALL=C to get options properly.
23676
23677 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23678
23679 * grub-core/gnulib/basename-lgpl.c: Imported.
23680 * grub-core/gnulib/basename.c: Likewise.
23681 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23682 * grub-core/gnulib/dirname.c: Likewise.
23683 * grub-core/gnulib/dirname.h: Likewise.
23684 * grub-core/gnulib/stripslash.c: Likewise.
23685
23686 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23687
23688 * grub-core/gnulib/error.c: Resynced.
23689 * grub-core/gnulib/getopt.c: Likewise.
23690 * grub-core/gnulib/getopt_int.h: Likewise.
23691 * grub-core/gnulib/regex.h: Likewise.
23692 * grub-core/gnulib/regex_internal.c: Likewise.
23693 * grub-core/gnulib/regex_internal.h: Likewise.
23694
23695 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23696
23697 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23698 CRC calculations and validity checks.
23699 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23700 calculations.
23701
23702 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23703
23704 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23705
23706 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23707
23708 Fix incorrect echo options handling.
23709 Reported by: Yves Blusseau.
23710
23711 * include/grub/command.h (grub_command_flags_t): New flags
23712 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23713 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23714 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23715
23716 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23717
23718 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23719 users updated.
23720 (GRUB_COMMAND_FLAG_MENU): Likewise.
23721 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23722 (GRUB_COMMAND_FLAG_TITLE): Removed.
23723 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23724 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23725 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23726 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23727 (grub_command_flags_t): New enum. All users updated.
23728
23729 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23730
23731 Fix solaris compilation.
23732
23733 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23734 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23735 (grub-emu-list): Likewise.
23736
23737 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23738
23739 Remove deprecated root command.
23740
23741 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23742 updated.
23743
23744 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23745
23746 * util/i386/pc/grub-setup.c: Merge this ...
23747 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23748 * util/grub-setup.c: ... into this.
23749 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23750 New struct.
23751
23752 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23753
23754 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23755 possible.
23756
23757 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23758
23759 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23760 allocate p.
23761
23762 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23763
23764 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23765 explicit root argument to set to prevent UUID to be interpreted as
23766 argument to set.
23767
23768 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23769
23770 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23771
23772 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23773
23774 Don't export grub_gate_a20.
23775
23776 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23777 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23778 to ...
23779 (grub_gate_a20): ... this. All users updated.
23780 * include/grub/i386/pc/init.h: Removed. All users updated.
23781
23782 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23783
23784 Create euro.pf2 which supports most European languages.
23785
23786 * Makefile.am (grubdata_DATA): Add euro.pf2.
23787 (euro.pf2): New target.
23788 (CLEANFILES): Add euro.pf2.
23789
23790 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23791
23792 * configure.ac: Disable emu-usb by default to prevent inadvertent
23793 device takeover.
23794
23795 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23796
23797 Disable usbserial on grub-emu since our libusb code isn't good enough
23798 yet.
23799
23800 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23801 (usbserial_pl2303): Likewise.
23802 (usbserial_ftdi): Likewise.
23803
23804 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23805
23806 * include/grub/disk.h (grub_disk): Remove has_partitions.
23807 All users updated.
23808 * disk/loopback.c (grub_loopback): Remove has_partitions.
23809 All users updated.
23810 (options): Remove partitions. All users updated.
23811 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23812 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23813 actual partition table is found.
23814
23815 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23816
23817 Remove readability checks (too many false negatives).
23818
23819 * util/grub-install.in: Remove readability checks.
23820 * util/grub-mkconfig.in: Likewise.
23821 * util/grub.d/10_hurd.in: Likewise.
23822 * util/grub.d/10_kfreebsd.in: Likewise.
23823 * util/grub.d/10_linux.in: Likewise.
23824 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23825 way.
23826
23827 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23828
23829 Enable acpi shutdown on all ACPI platforms.
23830
23831 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23832 on coreboo, multiboot and EFI.
23833 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23834 (grub_acpi_halt): Likewise.
23835 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23836 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23837 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23838 * grub-core/lib/i386/halt.c (grub_halt)
23839 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23840
23841 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23842
23843 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23844 context.
23845
23846 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23849 * grub-core/video/efi_uga.c: Likewise.
23850
23851 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23852
23853 Filter devaliases and never open same device twice.
23854
23855 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23856 (last_ihandle): Likewise.
23857 (ofdisk_hash_ent): New member shortest.
23858 (ofdisk_hash_add): Add canonical path too.
23859 (scan): New function.
23860 (grub_ofdisk_iterate): Iterate over hashed entries.
23861 (compute_dev_path): Don't add :0.
23862 (grub_ofdisk_open): Don't really open the disk.
23863 (grub_ofdisk_close): Avoid closing unrelated disk.
23864 (grub_ofdisk_read): Implement reopen logic.
23865 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23866 New function.
23867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23868 New proto.
23869
23870 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23871
23872 Fix sparc64.
23873
23874 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23875 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23876 right address. Add sparc64_ieee1275_ldflags.
23877 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23878 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23879 to grub_host_to_target_addr
23880 (load_image): Likewise.
23881
23882 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23883
23884 * grub-core/normal/completion.c (complete_file): Handle device
23885 containing slash.
23886 Fix based on patch by Doug Nazar.
23887
23888 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23889
23890 grub-mknetdir script.
23891
23892 * Makefile.util.def (grub-mknetdir): New module.
23893 * tests/util/grub-shell.in: Support boot=net
23894 * util/grub-mknetdir.in: New file.
23895
23896 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23897
23898 videoinfo on non-vbe.
23899
23900 * grub-core/Makefile.core.def (vbeinfo): Removed.
23901 (vbetest): Removed.
23902 (videoinfo): New module.
23903 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23904 * grub-core/commands/i386/pc/vbetest.c: Removed.
23905 * grub-core/commands/videoinfo.c: New file.
23906 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23907 specification.
23908 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23909 as vbetest.
23910 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23911 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23912 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23913 mode_number. New parameter mode. All users updated.
23914 (grub_video_gop_iterate): New function.
23915 (grub_video_efi_gop): New member iterate.
23916 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23917 (grub_vbe_set_video_mode): Remove setting useless fields.
23918 (vbe2videoinfo): New function.
23919 (grub_video_vbe_iterate): Likewise.
23920 (grub_video_vbe_setup): Use vbe2videoinfo.
23921 (grub_video_vbe_print_adapter_specific_info): New function.
23922 (grub_video_vbe_adapter): New fields iterate and
23923 print_adapter_specific_info.
23924 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23925 All users updated.
23926 (grub_video_mode_info): New field mode_number.
23927 (grub_video_adapter): New fields iterate and
23928 print_adapter_specific_info.
23929
23930 2010-09-13 Tristan Gingold <gingold@free.fr>
23931 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
23932 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23933
23934 * grub-core/commands/efi/lsefisystab.c: New file.
23935 * grub-core/commands/efi/lssal.c: Likewise.
23936 * grub-core/Makefile.core.def (lsacpi): New module.
23937 (lsefisystab): Likewise.
23938 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23939 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23940 (grub_efi_sal_system_table): New struct.
23941 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23942 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23943 (grub_efi_sal_system_table_platform_features): Likewise.
23944 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23945 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23946 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23947 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23948
23949 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23950
23951 Support explicit user claim that a device is BIOS-visible.
23952
23953 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23954 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23955 * grub-core/kern/emu/hostdisk.c
23956 (convert_system_partition_to_system_disk): Support mdX.
23957 (find_system_device): New parameter add. All users updated.
23958 (grub_util_biosdisk_is_present): New function.
23959 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23960 proto.
23961
23962 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23963
23964 Search hints support.
23965
23966 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23967 All users updated.
23968
23969 2010-09-13 Yves Blusseau <blusseau@zetam.org>
23970
23971 Bash completion script for util commands
23972
23973 * Makefile.am: Add util/bash-completion.d directory
23974 * configure.ac: Likewise.
23975 * util/bash-completion.d/Makefile.am: New file.
23976 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23977
23978 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23979
23980 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23981 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23982 Reported by: Yves Blusseau.
23983
23984 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23985
23986 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23987 partition size and offset.
23988
23989 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23990
23991 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23992
23993 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23994
23995 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23996
23997 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23998
23999 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
24000 (grub_xvasprintf): Likewise.
24001
24002 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24003
24004 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
24005
24006 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24007
24008 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
24009 args ending with NULL.
24010
24011 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24012
24013 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
24014 pointer.
24015
24016 2010-09-11 Szymon Janc <szymon@janc.net.pl>
24017
24018 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
24019
24020 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24021
24022 Shutdown using ACPI.
24023
24024 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
24025 * grub-core/commands/acpihalt.c: New file.
24026 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
24027 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
24028 (grub_acpi_halt): New proto.
24029 (GRUB_ACPI_SLP_EN): New const.
24030 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
24031 (GRUB_ACPI_OPCODE_*): New enum.
24032 (GRUB_ACPI_EXTOPCODE_*): Likewise.
24033
24034 2010-09-11 Tristan Gingold <gingold@free.fr>
24035 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
24036 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24037
24038 * commands/lsacpi.c: New file.
24039 * grub-core/Makefile.core.def (lsacpi): New module.
24040 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
24041 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
24042 (grub_acpi_madt_entry_header): New struct.
24043 (grub_acpi_madt): Likewise.
24044 (grub_acpi_madt_entry_interrupt_override): Likewise.
24045 (grub_acpi_madt_entry_sapic): Likewise.
24046 (grub_acpi_madt_entry_lsapic): Likewise.
24047 (grub_acpi_madt_entry_platform_int_source): Likewise.
24048 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
24049 (PRIuGRUB_UINT32_T): Likewise.
24050 (PRIxGRUB_UINT64_T): Likewise.
24051
24052 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 Implement loading palette on ieee1275_fb.
24055
24056 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
24057 (have_setcolors): Likewise.
24058 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
24059 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
24060 (grub_video_ieee1275_set_palette): Implement.
24061
24062 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24063 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
24064
24065 * util/grub-install.in (grub_partition): New variable.
24066 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
24067 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
24068 Fixes a bug reported by Yves Blusseau.
24069
24070 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24071
24072 Fix emu on mipsel.
24073
24074 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
24075 =grub_cpu_flush_cache on all mips and not only yeeloong.
24076 * configure.ac (COND_mips): New conditional.
24077 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
24078 platforms.
24079 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
24080 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
24081 [GRUB_LINKER_HAVE_INIT]: New function.
24082 (grub_emu_post_init): Likewise.
24083 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
24084 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
24085 * include/grub/cache.h (_mips): Include mips/cache.h.
24086 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
24087 LVM and RAID prototypes.
24088 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
24089 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
24090 function.
24091
24092 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24093
24094 * util/grub-install.in: Don't try to verify core.img until after
24095 running grub-mkimage to create it.
24096
24097 2010-09-10 Robert Millan <rmh@gnu.org>
24098
24099 * util/grub.d/10_hurd.in: Add misc readability checks.
24100 * util/grub.d/10_kfreebsd.in: Likewise.
24101 * util/grub.d/10_linux.in: Likewise.
24102
24103 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24104
24105 * util/grub-install.in: ${imgext} won't be defined here until the
24106 install branch is merged. For the meantime, only verify core.img on
24107 i386-pc and sparc64-ieee1275 platforms.
24108
24109 2010-09-10 Robert Millan <rmh@gnu.org>
24110
24111 Solaris support in grub_find_zpool_from_dir(). Thanks
24112 Seth Goldberg for referring to getextmntent() facility.
24113
24114 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
24115 `sys/mkdev.h'.
24116 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
24117 `<sys/mnttab.h>'.
24118 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
24119 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
24120 method for finding zpool name.
24121
24122 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24123
24124 grub-fstest needs the host and hostfs modules while other utilities
24125 actively require those modules to be absent, so grub-fstest needs
24126 its own initialisation and finalisation code.
24127
24128 * Makefile.am (grub_fstest.pp): New target.
24129 (grub_fstest_init.lst): Likewise.
24130 (grub_fstest_init.c): Likewise.
24131 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
24132
24133 2010-09-10 Robert Millan <rmh@gnu.org>
24134
24135 * configure.ac: Check for `struct statfs.f_fstypename' and
24136 `struct statfs.f_mntfromname'.
24137
24138 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24139 kFreeBSD-specific code.
24140
24141 2010-09-10 Robert Millan <rmh@gnu.org>
24142
24143 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24144 on ZFS. Now non-main filesystems are supported as / too.
24145
24146 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
24147
24148 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24149 and grub-core/disk/host.c to ...
24150 (grub-fstest): ... here. Having the host disk implementation
24151 present confuses grub-probe and other utility programs.
24152
24153 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24154 when writing to a file, not when writing to stdout.
24155
24156 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24157
24158 * tests/partmap_test.in: New test for partitions.
24159 * Makefile.util.def: Rules for new test.
24160
24161 2010-09-09 Robert Millan <rmh@gnu.org>
24162
24163 * util/grub-probe.c (probe): Fix a pair of unhandled error
24164 conditions.
24165
24166 2010-09-09 Robert Millan <rmh@gnu.org>
24167
24168 Basic Btrfs support (detection and UUID).
24169
24170 * grub-core/fs/btrfs.c: New file.
24171 * Makefile.util.def (library): Register btrfs.c.
24172 * grub-core/Makefile.core.def: Likewise.
24173
24174 2010-09-08 Robert Millan <rmh@gnu.org>
24175
24176 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24177 with (optional) parameters to specify device and relative path.
24178 * util/grub-install.in: Use is_path_readable_by_grub() to
24179 verify readability of a few critical files.
24180 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24181 verify readability of grub.cfg.new.
24182
24183 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24184
24185 Split minix.mod into minix.mod and minix2.mod.
24186
24187 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24188 * grub-core/Makefile.core.def (minix2): New module.
24189 * grub-core/fs/minix.c: Use definitions instead of runtime version
24190 checking.
24191 * grub-core/fs/minix2.c: New file.
24192
24193 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24194
24195 Add new --boot-directory option to replace --root-directory
24196
24197 * util/grub-install.in: Add new --boot-directory option
24198 * util/grub-reboot.in: Likewise.
24199 * util/grub-set-default.in: Likewise.
24200
24201 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24202
24203 * util/grub-mkconfig.in: Use new variable.
24204
24205 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24206
24207 * configure.ac: Define some useful variables.
24208
24209 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24212 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24213 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24214 Use terminfo and don't use cursor-on/cursor-off unless it's known
24215 to work.
24216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24217 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24218
24219 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
24220
24221 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24222 starts with "(,", fill the drive containing the loaded image in
24223 between those two characters, but expect that a full partition
24224 specification including partition map names will follow.
24225
24226 2010-09-08 Robert Millan <rmh@gnu.org>
24227
24228 * configure.ac: Remove `--enable-grub-fstest' option.
24229 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24230
24231 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24232 `grub-fstest' instead of `grub-probe' for readability verification.
24233 * util/grub-probe.c (probe): Remove readability verification kludge.
24234
24235 2010-09-08 Robert Millan <rmh@gnu.org>
24236
24237 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24238 initializing `GRUB_FS'.
24239
24240 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24241
24242 Not command (!) support to GRUB script.
24243
24244 * tests/grub_script_not.in: New test.
24245 * Makefile.util.def: Rules for new test.
24246
24247 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24248 ! command as a special case.
24249 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24250
24251 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24252
24253 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24254 grub_free.
24255
24256 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24257
24258 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24259
24260 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24261
24262 * docs/grub.texi (Shell-like scripting): Documentation for break,
24263 continue, shift and return commands.
24264
24265 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24266
24267 Rename CD-ROM to cd on BIOS.
24268
24269 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24270 "cd".
24271 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24272
24273 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24274
24275 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24276 * util/grub-probe.c (main): Likewise.
24277 * util/i386/pc/grub-setup.c (main): Likewise.
24278 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24279 Reported and debugged by: alexxy
24280
24281 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24282
24283 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24284 diagnostic info.
24285
24286 2010-09-05 Jo Shields <directhex@apebox.org>
24287
24288 * util/grub.d/30_os-prober.in: Add missing classes.
24289
24290 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24291
24292 * docs/grub.texi (Theme file format): Document new position format.
24293
24294 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24295
24296 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24297 a table. Use @code instead of @verbatim.
24298
24299 2010-09-05 Colin D Bennett <colin@gibibit.com>
24300
24301 Gfxmenu documentation.
24302
24303 * docs/grub.texi (Theme file format): New chapter.
24304
24305 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24306
24307 * grub-core/Makefile.core.def (xzio): New module.
24308 * grub-core/io/xzio.c: New file.
24309 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24310 * grub-core/lib/xzembed/xz_config.h: Likewise.
24311 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24312 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24313 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24314 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24315 * grub-core/lib/xzembed/xz_private.h: Likewise.
24316 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24317 * include/grub/file.h (grub_file_filter_id): New compression filter
24318 GRUB_FILE_FILTER_XZIO.
24319
24320 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24321
24322 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24323 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24324 size.
24325
24326 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24327
24328 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24329 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24330
24331 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 Uncompressed checksum support.
24334
24335 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24336 (check_list): New parameter uncompress.
24337 (grub_cmd_hashsum): Handle --uncompress.
24338
24339 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24340
24341 Reintroduce testload.
24342
24343 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24344 from here ...
24345 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24346 (GRUB_MOD_INIT): New function.
24347 (GRUB_MOD_FINI): Likewise.
24348 * grub-core/Makefile.core.def (testload): New module.
24349
24350 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24351
24352 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24353 (uint8_t): New type.
24354 (uint16_t): Likewise.
24355 (uint32_t): Likewise.
24356 (uint64_t): Likewise.
24357
24358 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24359
24360 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24361
24362 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24363
24364 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24365 Made static.
24366 (grub_gzfile_open): Removed. All users updated.
24367 (GRUB_MOD_INIT): New function.
24368 (GRUB_MOD_FINI): Likewise.
24369 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24370 (grub_file_filters_enabled): Likewise.
24371 (grub_file_open): Handle filters.
24372 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24373 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24374 * include/grub/file.h (grub_file_filter_id_t): New type.
24375 (grub_file_filter_t): Likewise.
24376 (grub_file_filters_all): New extern variable.
24377 (grub_file_filters_enabled): Likewise.
24378 (grub_file_filter_register): New inline function.
24379 (grub_file_filter_unregister): Likewise.
24380 (grub_file_filter_disable): Likewise.
24381 (grub_file_filter_disable_compression): Likewise.
24382 * include/grub/gzio.h: Removed.
24383
24384 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24385
24386 Filename expansion support for wildcards in GRUB script.
24387
24388 * tests/grub_script_expansion.in: New test.
24389 * Makefile.util.def: Rule for new test.
24390
24391 * grub-core/commands/wildcard.c: New file, implements filename
24392 expansion support for GRUB script.
24393 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24394 * grub-core/script/argv.c: Cosmetic changes.
24395 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24396 Refactored to perform wildcard expansion on arguments.
24397 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24398 struct.
24399
24400 * tests/util/grub-shell.in: Fix quoting for read input.
24401
24402 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24403
24404 Support for updating environment variables with matched substrings
24405 of regexp.
24406
24407 * tests/grub_cmd_regexp.in: New test.
24408 * Makefile.util.def: Rule for new test.
24409
24410 * grub-core/commands/regexp.c: New option -s to update environment
24411 variables with regexp matches.
24412
24413 2010-09-04 Szymon Janc <szymon@janc.net.pl>
24414
24415 * include/grub/file.h (grub_file): New member not_easly_seekable.
24416 (grub_file_seekable): New inline function.
24417 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24418 easily seekable.
24419 (grub_gzio_open): Set not_easly_seekable.
24420 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24421 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24422
24423 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24424
24425 Support for options to appear multiple times on cmdline.
24426
24427 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24428 * grub-core/commands/extcmd.c: Support for repeatable option.
24429 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24430 repeatable option support.
24431
24432 Refactor menuentry into a regular command.
24433
24434 * grub-core/commands/menuentry.c: New file, menuentry command
24435 implementation.
24436 * grub-core/Makefile.core.def: Rule update for normal.mod.
24437 * grub-core/normal/main.c: Moved menuentry creation to
24438 grub-core/commands/menuentry.c.
24439 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24440 (grub_menu_execute_entry_real): Removed.
24441 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24442 function.
24443 (grub_script_execute_menuentry): Removed.
24444 * grub-core/script/parser.y (menuentry): Removed.
24445 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24446 * grub-core/script/yylex.l (menuentry): Removed.
24447 * include/grub/menu.h (grub_menu_init): New prototype.
24448 (grub_menu_fini): New prototype.
24449 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24450 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24451 (grub_script_execute_sourcecode): New prototype.
24452
24453 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24454
24455 "return" command for GRUB script functions.
24456
24457 * tests/grub_script_return.in: New test.
24458 * Makefile.util.def: Rules for new test.
24459
24460 * grub-core/script/execute.c (grub_script_return): New function.
24461 * grub-core/script/main.c: Register/unregister return commaond.
24462 * include/grub/script_sh.h (grub_script_return): New prototype.
24463
24464 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24465
24466 "setparams" command to update positional parameters.
24467
24468 * tests/grub_script_setparams.in: New test.
24469 * Makefile.util.def: Rules for new test.
24470
24471 * grub-core/script/argv.c (grub_script_argv_make): New function.
24472 * grub-core/script/execute.c (replace_scope): New function.
24473 (grub_script_setparams): New function.
24474 * grub-core/script/lexer.c: Remove unused variables.
24475 * grub-core/script/main.c: Register/unregister setparams command.
24476 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24477 (grub_script_setparams): New prototype.
24478
24479 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24480
24481 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24482 grub_free order.
24483
24484 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24485
24486 Support for passing block of commands as an argument to extcmds.
24487
24488 * Makefile.util.def: Rules for new test.
24489 * tests/grub_script_blockarg.in: New test.
24490 * grub-core/tests/test_blockarg.c: New file, block argument
24491 command used in the test.
24492
24493 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24494 (grub_register_extcmd_prio): New function prototype.
24495 (grub_extcmd_dispatcher): New function prototype.
24496 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24497 type.
24498 * include/grub/script_sh.h (struct grub_script): New members
24499 `children', `next_siblings' and `refcnt' for block arguments and
24500 reference counting.
24501 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24502 (grub_script_arg): New member `script' for block argument.
24503 (grub_script_argv): New member `script' for block argument.
24504 (grub_parser_param): New member `scripts' for block argument.
24505 (grub_script_mem_free): New extern function prototype.
24506 (grub_script_ref): New function prototype.
24507 (grub_script_unref): New function prototype.
24508
24509 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24510 extcmd form to support block arguments.
24511 * grub-core/script/argv.c: Block arguments support.
24512 * grub-core/script/execute.c: Likewise.
24513 * grub-core/script/lexer.c: Likewise.
24514 * grub-core/script/main.c: Likewise.
24515 * grub-core/script/script.c: Likewise.
24516 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24517 non-terminals.
24518
24519 * grub-core/commands/acpi.c: Update extcmd implementations with
24520 grub_extcmd_context_t.
24521 * grub-core/commands/cat.c: Likewise.
24522 * grub-core/commands/echo.c: Likewise.
24523 * grub-core/commands/extcmd.c: Likewise.
24524 * grub-core/commands/hashsum.c: Likewise.
24525 * grub-core/commands/hdparm.c: Likewise.
24526 * grub-core/commands/help.c: Likewise.
24527 * grub-core/commands/hexdump.c: Likewise.
24528 * grub-core/commands/i386/cpuid.c: Likewise.
24529 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24530 * grub-core/commands/i386/pc/halt.c: Likewise.
24531 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24532 * grub-core/commands/iorw.c: Likewise.
24533 * grub-core/commands/keystatus.c: Likewise.
24534 * grub-core/commands/loadenv.c: Likewise.
24535 * grub-core/commands/ls.c: Likewise.
24536 * grub-core/commands/lspci.c: Likewise.
24537 * grub-core/commands/memrw.c: Likewise.
24538 * grub-core/commands/probe.c: Likewise.
24539 * grub-core/commands/search_wrap.c: Likewise.
24540 * grub-core/commands/setpci.c: Likewise.
24541 * grub-core/commands/sleep.c: Likewise.
24542 * grub-core/disk/loopback.c: Likewise.
24543 * grub-core/hello/hello.c: Likewise.
24544 * grub-core/loader/i386/bsd.c: Likewise.
24545 * grub-core/loader/xnu.c: Likewise.
24546 * grub-core/term/gfxterm.c: Likewise.
24547 * grub-core/term/serial.c: Likewise.
24548 * grub-core/tests/lib/functional_test.c: Likewise.
24549
24550 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24551
24552 Multi-line quoted strings support.
24553
24554 * grub-core/script/lexer.c (append_newline): Removed.
24555 (grub_script_lexer_yywrap): Refactored.
24556 (grub_script_lexer_init): Refactored.
24557 * grub-core/script/yylex.l (yywrap): New function.
24558 (grub_lexer_resplit): New function.
24559 (grub_lexer_unput): New function.
24560 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24561 and resplit.
24562 * tests/grub_script_echo1.in: Added few more testcases.
24563
24564 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24565
24566 * grub-core/kern/misc.c: Don't add abort alias in utils.
24567 Reported by: echoline.
24568
24569 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24570
24571 Add missing files into "make dist" tarball for other platforms.
24572
24573 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24574 * conf/Makefile.common (dist_noinst_DATA): New variable.
24575 * conf/Makefile.extra-dist: Added missing make dist files.
24576 * grub-core/Makefile.core.def: Likewise.
24577
24578 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24579
24580 Compress grub_prefix.
24581
24582 * grub-core/boot/i386/pc/lnxboot.S: Use
24583 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24584 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24585 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24586 GRUB_MACHINE_PREFIX_END. All users updated.
24587 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24588 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24589 + 0x40.
24590 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24591 * util/grub-mkimage.c (image_target_desc): Change data_end to
24592 prefix_end. All users updated.
24593
24594 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24595
24596 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24597 value.
24598 (grub_openbsd_boot): Likewise.
24599 (grub_netbsd_boot): Likewise.
24600 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24601 (grub_xnu_boot): Likewise.
24602
24603 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24604
24605 * configure.ac: Clean LIBS variable after tests.
24606
24607 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24608
24609 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24610
24611 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24612
24613 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24614 echo if libdevmapper will be used.
24615
24616 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24617
24618 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24619 constant for the same file.
24620
24621 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24622
24623 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24624
24625 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24626
24627 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24628 grub-core/*.pp.
24629
24630 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24631
24632 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24633 required by the boot protocol.
24634
24635 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24636 ebp and edi members.
24637 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24638 state.ebp and state.edi.
24639 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24640 %ebp and %edi according to grub_relocator32_ebp and
24641 grub_relocator32_edi respectively.
24642 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24643 and state.edi.
24644
24645 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24646
24647 Add i386-pc-pxe image target.
24648
24649 * util/grub-mkimage.c (image_target_desc): New enum value
24650 IMAGE_I386_PC_PXE.
24651 (image_targets): New target i386-pc-pxe.
24652 (generate_image): Handle i386-pc-pxe image.
24653
24654 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24655
24656 Fix grub_pxe_scan.
24657
24658 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24659 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24660 All users updated.
24661 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24662 (grub_pxe_pxenv): Correct type.
24663
24664 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24665
24666 * NEWS: Document most of the important changes since 1.98.
24667
24668 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24669
24670 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24671 generated manual page) a little.
24672
24673 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24674
24675 * docs/grub.texi: Add myself as an author.
24676
24677 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24678
24679 * Makefile.util.def (libgrub.a): Add missing sunpc.
24680 Reported by: Seth Goldberg.
24681
24682 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24683
24684 Interrupt wrapping and code simplifications.
24685
24686 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24687 x86_noieee1275 which are functionaly equivalent in this case.
24688 (grub-install): Make source on each platform explicit. Enable on
24689 all noemu.
24690 * gentpl.py (x86_efi_pc): Removed group.
24691 (x86_noefi): Likewise.
24692 (i386_noefi): Likewise.
24693 (x86_noieee1275): Likewise.
24694 (i386_noieee1275): Likewise.
24695 (i386_noefi_noieee1275): Likewise.
24696 (i386_pc_qemu_coreboot): Likewise.
24697 (i386_coreboot_multiboot): Likewise.
24698 (i386_pc_coreboot_multiboot_qemu): Likewise.
24699 (x86_noefi_mips): Likewise.
24700 (noieee1275): Likewise.
24701 (ieee1275_mips): Likewise.
24702 (noemu_noieee1275): Likewise.
24703 (cmos): New group.
24704 (usb): Likewise.
24705 (videoinkernel): Likewise.
24706 (videomodules): Likewise.
24707 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
24708 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24709 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24710 include/grub/loader.h, include/grub/msdos_partition.h,
24711 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24712 include/grub/machine/console.h, include/grub/machine/vga.h,
24713 include/grub/machine/vbe.h, include/grub/machine/init.h,
24714 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24715 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
24716 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
24717 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24718 * grub-core/Makefile.core.def (kernel): Explicit the source for
24719 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24720 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24721 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24722 Use videoinkernel tag.
24723 (usb): Enable on all usb.
24724 (usbserial_common): Likewise.
24725 (usbserial_pl2303): Likewise.
24726 (usbserial_ftdi): Likewise.
24727 (uhci): Enable on all x86.
24728 (ohci): Enable on all pci.
24729 (cmostest): Enable on all CMOS.
24730 (acpi): Include commands/acpi.c on all platforms.
24731 (halt): Add relevant lib/*/halt.c.
24732 (hdparm): Enable on all pci.
24733 (lspci): Likewise.
24734 (usbtest): Enable on all usb.
24735 (ata): Enable on all pci.
24736 (ata_pthru): Likewise.
24737 (usbms): Enable on all usb.
24738 (usb_keyboard): Likewise.
24739 (font): Use tag videomodules.
24740 (bufio): Likewise.
24741 (datetime): Use tag cmos. Enable on all noemu.
24742 (mmap): Use tags common and x86.
24743 (gfxterm): Use tag videomodules.
24744 (bitmap): Likewise.
24745 (bitmap_scale): Likewise.
24746 (video_fb): Likewise.
24747 (video): Likewise.
24748 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24749 adjust padding accordingly. All users updated.
24750 (grub_ohci_transaction): Fix bad format specification.
24751 (GRUB_MOD_INIT): Add asserts for struct size.
24752 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24753 (grub_alloc_td): Likewise.
24754 (grub_free_queue): Likewise.
24755 (grub_uhci_transfer): Likewise.
24756 (grub_uhci_transaction): Fix bad format specification.
24757 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24758 (grub_usb_bulk_readwrite): Likewise.
24759 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24760 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24761 Made static.
24762 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24763 Made static.
24764 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24765 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24766 Transformed into C.
24767 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24768 Moved from here ...
24769 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24770 ... here. Transformed into C. Made static.
24771 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24772 Moved from here ...
24773 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24774 ... here. Transformed into C. Made static.
24775 * grub-core/kern/i386/pc/startup.S
24776 (grub_biosdisk_check_int13_extensions): Moved from here ...
24777 * grub-core/disk/i386/pc/biosdisk.c
24778 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24779 Made static.
24780 * grub-core/kern/i386/pc/startup.S
24781 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24782 * grub-core/disk/i386/pc/biosdisk.c
24783 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24784 Transformed into C. Made static.
24785 * grub-core/kern/i386/pc/startup.S
24786 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24787 * grub-core/disk/i386/pc/biosdisk.c
24788 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24789 Transformed into C. Made static.
24790 * grub-core/kern/i386/pc/startup.S
24791 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24792 * grub-core/disk/i386/pc/biosdisk.c
24793 (grub_biosdisk_get_diskinfo_standard): ... here.
24794 Transformed into C. Made static.
24795 * grub-core/kern/i386/pc/startup.S
24796 (grub_biosdisk_get_num_floppies): Moved from here ...
24797 * grub-core/disk/i386/pc/biosdisk.c
24798 (grub_biosdisk_get_num_floppies): ... here.
24799 Transformed into C. Made static.
24800 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24801 New function.
24802 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24803 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24804 Transformed into C. Made static.
24805 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24806 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24807 Transformed into C. Made static.
24808 * grub-core/kern/i386/ieee1275/init.c: Removed.
24809 * grub-core/kern/i386/misc.S: Likewise.
24810 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24811 Splitted from here ...
24812 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24813 Transformed into C. Made static. All users updated.
24814 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24815 Transformed into C. Made static. All users updated.
24816 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24817 Moved from here...
24818 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24819 Transformed into C. Made static. All users updated.
24820 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24821 Moved from here...
24822 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24823 Transformed into C. Made static. All users updated.
24824 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24825 Removed (replaced by C version).
24826 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24827 Moved from here...
24828 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24829 Transformed into C. Made static.
24830 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24831 Moved from here...
24832 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24833 ... here. Transformed into C.
24834 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24835 Moved from here...
24836 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24837 ... here. Transformed into C.
24838 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24839 Moved from here...
24840 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24841 ... here. Transformed into C. Made static.
24842 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24843 Moved from here...
24844 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24845 ... here. Transformed into C.
24846 * grub-core/kern/i386/pc/startup.S
24847 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24848 * grub-core/video/i386/pc/vbe.c
24849 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
24850 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24851 Moved from here...
24852 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24853 ... here. Transformed into C.
24854 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24855 Moved from here...
24856 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24857 ... here. Transformed into C.
24858 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24859 Moved from here...
24860 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24861 ... here. Transformed into C.
24862 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24863 Moved from here...
24864 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24865 ... here. Transformed into C.
24866 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24867 Moved from here...
24868 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24869 ... here. Transformed into C. Made static.
24870 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24871 Moved from here...
24872 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24873 ... here. Transformed into C. Made static.
24874 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24875 Moved from here...
24876 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24877 ... here. Transformed into C. Made static.
24878 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24879 pxe_rm_entry as third argument.
24880 (grub_bios_interrupt): New function.
24881 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24882 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24883 of calling grub_stop.
24884 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24885 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24886 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24887 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24888 * grub-core/lib/i386/halt.c: Moved from here ...
24889 * grub-core/lib/i386/halt.c: ... here.
24890 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24891 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24892 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24893 grub_stop_floppy.
24894 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24895 * include/grub/i386/coreboot/init.h: Removed.
24896 * include/grub/i386/multiboot/init.h: Likewise.
24897 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24898 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24899 * include/grub/i386/pc/int.h: New file.
24900 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24901 (grub_pxe_scan): Removed.
24902 (grub_pxe_call): Update prototype.
24903 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24904 prototypes.
24905 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24906 * include/grub/i386/qemu/init.h: Removed.
24907 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24908 noreturn.
24909 (grub_halt): Likewise.
24910 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24911 (grub_reboot): Likewise.
24912 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24913 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
24914 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24915
24916 2010-08-30 Robert Millan <rmh@gnu.org>
24917
24918 * NEWS: Document addition of ZFS support in `grub-install' and
24919 `grub-mkconfig'.
24920
24921 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24922
24923 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24924 dprintf output.
24925
24926 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24927
24928 Remove leftover embedding of font objects.
24929
24930 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24931 * util/grub-install.in (font): Removed.
24932 * util/grub-mkimage.c (generate_image): Remove font support. All users
24933 updated.
24934
24935 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24936
24937 Remove leftover embedding of font objects.
24938
24939 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24940 * util/grub-install.in (font): Removed.
24941 * util/grub-mkimage.c (generate_image): Remove font support. All users
24942 updated.
24943
24944 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24945
24946 * docs/grub.texi (Network): Fix reference to pxe_blksize.
24947 Reported by: Ian Turner
24948
24949 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24950
24951 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24952 timeout to avoid indefinite boot stalling.
24953
24954 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24955
24956 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24957 (grub_env_write_color_highlight): Likewise.
24958
24959 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24960
24961 * grub-core/normal/term.c (print_more): Return to normal and not
24962 to standard state after printing "---MORE---".
24963
24964 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24965
24966 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24967 Mask out the bit 0x80 since it has other meaning that specifiing color.
24968
24969 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24970
24971 New relocator. Allows for more kernel support and more straightforward
24972 loader writing.
24973
24974 * Makefile.am (BOOTTARGET): New variable.
24975 (QEMU32): Likewise.
24976 (linux.init.x86_64): New target.
24977 (linux.init.i386): Likewise.
24978 (multiboot.elf): Likewise.
24979 (kfreebsd.elf): Likewise.
24980 (kfreebsd.aout): Likewise.
24981 (pc-chainloader.elf): Likewise.
24982 (pc-chainloader.bin): Likewise.
24983 (ntldr.elf): Likewise.
24984 (ntldr.bin): Likewise.
24985 (multiboot2.elf): Likewise.
24986 (kfreebsd.init.x86_64): Likewise.
24987 (kfreebsd.init.i386): Likewise.
24988 (knetbsd.init.i386): Likewise.
24989 (kopenbsd.init.i386): Likewise.
24990 (knetbsd.init.x86_64): Likewise.
24991 (kopenbsd.init.x86_64): Likewise.
24992 (linux-initramfs.i386): Likewise.
24993 (linux-initramfs.x86_64): Likewise.
24994 (kfreebsd-mfsroot.i386.img): Likewise.
24995 (knetbsd.image.i386): Likewise.
24996 (kopenbsd.image.i386): Likewise.
24997 (kopenbsd.image.x86_64): Likewise.
24998 (knetbsd.miniroot-image.i386.img): Likewise.
24999 (kfreebsd-mfsroot.x86_64.img): Likewise.
25000 (knetbsd.image.x86_64): Likewise.
25001 (knetbsd.miniroot-image.x86_64.img): Likewise.
25002 (kfreebsd-mfsroot.i386.gz): Likewise.
25003 (bootcheck-kfreebsd-i386): Likewise.
25004 (kfreebsd-mfsroot.x86_64.gz): Likewise.
25005 (bootcheck-kfreebsd-x86_64): Likewise.
25006 (knetbsd.miniroot-image.i386.gz): Likewise.
25007 (bootcheck-knetbsd-i386): Likewise.
25008 (bootcheck-kopenbsd-i386): Likewise.
25009 (bootcheck-kopenbsd-x86_64): Likewise.
25010 (knetbsd.miniroot-image.x86_64.gz): Likewise.
25011 (bootcheck-knetbsd-x86_64): Likewise.
25012 (bootcheck-linux-i386): Likewise.
25013 (bootcheck-linux-x86_64): Likewise.
25014 (bootcheck-linux16-i386): Likewise.
25015 (bootcheck-linux16-x86_64): Likewise.
25016 (bootcheck-multiboot): Likewise.
25017 (bootcheck-multiboot2): Likewise.
25018 (bootcheck-kfreebsd-aout): Likewise.
25019 (bootcheck-pc-chainloader): Likewise.
25020 (bootcheck-ntldr): Likewise.
25021 (CLEANFILES): Add new targets.
25022 (BOOTCHECKS): New variable.
25023 (.PHONY): Add bootchecks.
25024 (SUCCESSFUL_BOOT_STRING): New variable.
25025 (BOOTCHECK_TIMEOUT): Likewise.
25026 (bootcheck): New target
25027 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
25028 * configure.ac: Correct efiemu excuse.
25029 * docs/grub.texi (Supported kernels): New chapter.
25030 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
25031 include/grub/mm_private.h. Simplify inclusion of
25032 include/grub/boot.h, include/grub/loader.h
25033 and include/grub/msdos_partition.h
25034 (KERNEL_HEADER_FILES) [i386_coreboot]:
25035 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
25036 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
25037 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
25038 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
25039 include/grub/machine/loader.h.
25040 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
25041 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
25042 extra_dist.
25043 (pci.mod): Enable on i386-multiboot.
25044 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
25045 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
25046 i386-qemu.
25047 (relocator.mod): Rewritten.
25048 (aout.mod): Enable on all x86.
25049 (bsd.mod): Likewise.
25050 (ntldr.mod): New module.
25051 (linux.mod): Use loader/i386/linux.c on all x86.
25052 (xnu.mod): Enable on all x86.
25053 (vga_text.mod): disable on EFI and QEMU.
25054 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
25055 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
25056 * grub-core/efiemu/loadcore.c: Likewise.
25057 * grub-core/efiemu/main.c: Likewise.
25058 (grub_efiemu_exit_boot_services): Removed.
25059 (grub_efiemu_finish_boot_services): Likewise.
25060 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
25061 function.
25062 * grub-core/efiemu/i386/nocfgtables.c: New file.
25063 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
25064 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
25065 (grub_efi_finish_boot_services): Moved from here ...
25066 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
25067 Fille finish memory map and related data.
25068 (finish_mmap_buf): New variable.
25069 (grub_efi_uintn_t finish_mmap_size): Likewise.
25070 (grub_efi_uintn_t finish_key): Likewise.
25071 (grub_efi_uintn_t finish_desc_size): Likewise.
25072 (grub_efi_uint32_t finish_desc_version): Likewise.
25073 (grub_efi_is_finished): Likewise.
25074 (grub_efi_get_memory_map): Use saved memory map if EFI is already
25075 finished.
25076 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
25077 (grub_elf64_phdr_iterate): Likewise.
25078 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
25079 (grub_os_area_size): Likewise.
25080 (grub_machine_init): Don't reserve os area.
25081 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
25082 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
25083 * grub-core/kern/i386/loader.S: Removed.
25084 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
25085 (grub_os_area_size): Likewise.
25086 (grub_machine_init): Don't reserve os area.
25087 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
25088 Don't call grub_dl_unload_all.
25089 Don't include loader.S.
25090 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
25091 Declare the memory after _end as available.
25092 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
25093 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
25094 (GRUB_MM_ALLOC_MAGIC): Moved from here...
25095 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
25096 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
25097 * include/grub/mm_private.h (grub_mm_header): ... here.
25098 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
25099 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
25100 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
25101 (grub_mm_region): ..here. Removed addr. Added pre_size.
25102 All users updated.
25103 * grub-core/kern/mm.c (base): Renamed to ...
25104 (grub_mm_base): ... this. Made global.
25105 (grub_real_malloc): Alloc from end of region.
25106 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
25107 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
25108 * grub-core/kern/powerpc/cache_flush.S: ... here.
25109 * grub-core/lib/efi/relocator.c: New file.
25110 * grub-core/lib/i386/relocator.c: Rewritten.
25111 * grub-core/lib/i386/relocator16.S: New file.
25112 * grub-core/lib/i386/relocator32.S: Likewise.
25113 * grub-core/lib/i386/relocator64.S: Likewise.
25114 * grub-core/lib/i386/relocator_asm.S: Rewritten.
25115 * grub-core/lib/i386/relocator_common.S: New file.
25116 * grub-core/lib/ieee1275/relocator.c: Likewise.
25117 * grub-core/lib/mips/relocator.c: Rewritten.
25118 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
25119 stylistic adjustments.
25120 * grub-core/lib/powerpc/relocator.c: New file.
25121 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
25122 * grub-core/lib/relocator.c: Rewritten.
25123 * grub-core/lib/x86_64/relocator_asm.S: New file.
25124 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
25125 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
25126 (bsd_tag): New struct.
25127 (tags): New variable.
25128 (tags_last): Likewise.
25129 (netbsd_module): New struct.
25130 (netbsd_mods): New variable.
25131 (netbsd_mods_last): Likewise.
25132 (openbsd_opts): New parameter "serial".
25133 (OPENBSD_SERIAL_ARG): New definition.
25134 (netbsd_opts): New parameter "serial".
25135 (NETBSD_SERIAL_ARG): New definition.
25136 (grub_freebsd_add_meta): Reorganised into ...
25137 (grub_bsd_add_meta): ...this. All users updated.
25138 (grub_freebsd_add_mmap): Reorganised into ...
25139 (generate_e820_mmap): ...this...
25140 (grub_bsd_add_mmap): ...and this. All users updated.
25141 (grub_freebsd_list_modules): Use tags.
25142 (grub_netbsd_add_meta_module): New function.
25143 (grub_netbsd_list_modules): Likewise.
25144 (grub_freebsd_boot): Use relocator and finish EFI.
25145 (grub_openbsd_boot): Likewise.
25146 (grub_netbsd_setup_video): New function.
25147 (grub_netbsd_add_modules): Likewise.
25148 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25149 and finish EFI.
25150 (grub_bsd_unload): Unload tags.
25151 (grub_bsd_load_aout): Use relocator.
25152 (grub_bsd_elf32_size_hook): New function.
25153 (grub_bsd_elf32_hook): Use relocator.
25154 (grub_bsd_elf64_size_hook): New function.
25155 (grub_bsd_elf64_hook): Use relocator.
25156 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25157 (grub_bsd_load): Zero-out openbsd_ramdisk.
25158 (grub_bsd_load): Use relocator.
25159 (grub_cmd_openbsd): Support serial.
25160 (grub_cmd_netbsd): Support modules.
25161 (grub_cmd_freebsd_module): Use relocator.
25162 (grub_netbsd_module_load): New function.
25163 (grub_cmd_netbsd_module): Likewise.
25164 (grub_cmd_openbsd_ramdisk): Likewise.
25165 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25166 kopenbsd_ramdisk.
25167 (GRUB_MOD_FINI): Unregister new commands.
25168 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25169 (grub_freebsd_load_elfmodule_obj): Use relocator.
25170 (grub_freebsd_load_elfmodule): Likewise.
25171 (grub_freebsd_load_elf_meta): Likewise.
25172 (grub_netbsd_load_elf_meta): New function.
25173 (grub_openbsd_find_ramdisk): Likewise.
25174 * grub-core/loader/i386/bsd_helper.S: Removed.
25175 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25176 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25177 * grub-core/loader/i386/efi/linux.c: Likewise.
25178 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25179 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25180 (DEFAULT_VIDEO_MODE): Likewise.
25181 (real_mode_target): New variable.
25182 (prot_mode_target): Likewise.
25183 (initrd_mem_target): Likewise.
25184 (relocator): Likewise.
25185 (efi_mmap_buf): Likewise.
25186 (efi_mmap_size): Likewise.
25187 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25188 (free_pages): Use relocator.
25189 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25190 (grub_linux_setup_video): Return error.
25191 (grub_linux_trampoline_start): Removed.
25192 (grub_linux_trampoline_end): Likewise.
25193 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25194 andd video parameters depending on firmware.
25195 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25196 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25197 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25198 (grub_cmd_initrd): Use relocator.
25199 * grub-core/loader/i386/linux_trampoline.S: Removed.
25200 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25201 (elf_sec_entsize): Likewise.
25202 (elf_sec_shstrndx): Likewise.
25203 (elf_sections): Likewise.
25204 (grub_multiboot_load): Use relocator.
25205 (grub_multiboot_get_mbi_size): Account for sections.
25206 (grub_multiboot_make_mbi): Use relocator and support sections.
25207 (grub_multiboot_add_elfsyms): New function.
25208 (grub_multiboot_free_mbi): Free sections.
25209 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25210 (grub_linux_real_target): Likewise.
25211 (grub_linux_real_chunk): Likewise.
25212 (grub_linux16_prot_size): Likewise.
25213 (grub_linux16_boot): Use relocator.
25214 (grub_linux_unload): Unload relocator.
25215 (grub_cmd_linux): Use relocator.
25216 (grub_cmd_initrd): Likewise.
25217 * grub-core/loader/i386/pc/ntldr.c: New file.
25218 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25219 Don't try to guess CPU frequency.
25220 (grub_xnu_set_video): Stretch bitmap.
25221 (grub_xnu_boot): Use relocator.
25222 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25223 (grub_linux_unload): Free relocator.
25224 (grub_linux_load32): Use relocator.
25225 (grub_linux_load64): Likewise.
25226 (grub_cmd_initrd): Likewise.
25227 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25228 (grub_multiboot_unload): Unload relocator.
25229 (grub_cmd_multiboot): Use relocator.
25230 (grub_cmd_module): Likewise.
25231 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25232 Use relocator and support sections.
25233 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25234 (elf_sec_entsize): Likewise.
25235 (elf_sec_shstrndx): Likewise.
25236 (elf_sections): Likewise.
25237 (grub_multiboot_load): Use relocator.
25238 (grub_multiboot_get_mbi_size): Account for sections.
25239 (grub_multiboot_make_mbi): Use relocator and support sections.
25240 (grub_multiboot_add_elfsyms): New function.
25241 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25242 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25243 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25244 Prototype changed. All users updated.
25245 (grub_xnu_align_heap): Simplified.
25246 (grub_xnu_writetree_toheap): Likewise.
25247 (grub_xnu_unload): Unload relocator.
25248 (grub_cmd_xnu_kernel): Use relocator.
25249 (grub_cmd_xnu_kernel64): Likewise.
25250 (grub_xnu_register_memory): Simplified.
25251 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
25252 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25253 EFI is finished.
25254 (grub_console_checkkey): Likewise.
25255 (grub_console_getkey): Likewise.
25256 (grub_console_getwh): Likewise.
25257 (grub_console_getxy): Likewise.
25258 (grub_console_gotoxy): Likewise.
25259 (grub_console_cls): Likewise.
25260 (grub_console_setcolorstate): Likewise.
25261 (grub_console_setcursor): Likewise.
25262 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25263 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25264 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25265 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25266 * grub-core/tests/boot/kernel-8086.S: Likewise.
25267 * grub-core/tests/boot/kernel-i386.S: Likewise.
25268 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25269 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25270 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25271 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25272 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25273 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25274 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25275 * grub-core/tests/boot/linux.cfg: Likewise.
25276 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25277 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25278 * grub-core/tests/boot/linux16.cfg: Likewise.
25279 * grub-core/tests/boot/multiboot.cfg: Likewise.
25280 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25281 * grub-core/tests/boot/ntldr.cfg: Likewise.
25282 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25283 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25284 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25285 New definition.
25286 * include/grub/dl.h (grub_dl_unload_all): Removed.
25287 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25288 (grub_efi_finish_boot_services): Change prototype.
25289 (grub_efi_is_finished): New variable.
25290 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25291 Changed prototype.
25292 (grub_efiemu_finish_boot_services): Removed.
25293 (grub_machine_efiemu_init_tables): New prototype.
25294 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25295 (grub_elf64_phdr_iterate): Likewise.
25296 * include/grub/i386/bsd.h: Include relocator.h.
25297 (freebsd_tag_header): New struct.
25298 (grub_openbsd_bios_mmap): Removed.
25299 (grub_unix_real_boot): Removed.
25300 (grub_freebsd_load_elfmodule32): Changed prototype.
25301 (grub_freebsd_load_elfmodule_obj64): Likewise.
25302 (grub_freebsd_load_elf_meta32): Likewise.
25303 (grub_freebsd_load_elf_meta64): Likewise.
25304 (grub_freebsd_add_meta): Removed.
25305 (grub_netbsd_load_elf_meta32): New prototype.
25306 (grub_netbsd_load_elf_meta64): Likewise.
25307 (grub_bsd_add_meta): Likewise.
25308 (grub_openbsd_ramdisk_descriptor): New struct.
25309 (grub_openbsd_find_ramdisk32): New prototype.
25310 (grub_openbsd_find_ramdisk64): Likewise.
25311 * include/grub/i386/coreboot/loader.h: Removed.
25312 * include/grub/i386/efi/loader.h: Likewise.
25313 * include/grub/i386/ieee1275/loader.h: Likewise.
25314 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25315 to grub_uint32_t.
25316 * include/grub/i386/loader.h: Removed.
25317 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25318 value.
25319 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25320 (grub_phys_addr_t): New type.
25321 (grub_vtop): New inline function.
25322 (grub_map_memory): Likewise.
25323 (grub_unmap_memory): Likewise.
25324 * include/grub/i386/multiboot/loader.h: Removed.
25325 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25326 (NETBSD_BTINFO_CONSOLE): New definition.
25327 (NETBSD_BTINFO_SYMTAB): Likewise.
25328 (NETBSD_BTINFO_MODULES): Likewise.
25329 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25330 (grub_netbsd_bootinfo): New struct.
25331 (grub_netbsd_btinfo_common): Use explicit bitsize.
25332 (grub_netbsd_btinfo_mmap_entry): Removed.
25333 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25334 (grub_netbsd_btinfo_bootdisk): New struct.
25335 (grub_netbsd_btinfo_symtab): Likewise.
25336 (grub_netbsd_btinfo_serial): Likewise.
25337 (grub_netbsd_btinfo_modules): Likewise.
25338 (grub_netbsd_btinfo_framebuf): Likewise.
25339 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25340 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25341 Likewise.
25342 (grub_openbsd_bootargs): Use explicit bitsize.
25343 (grub_openbsd_bootarg_console): New struct.
25344 (GRUB_OPENBSD_COM_MAJOR): New definition.
25345 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25346 * include/grub/i386/pc/efiemu.h: Removed.
25347 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25348 * include/grub/i386/qemu/loader.h: Removed.
25349 * include/grub/i386/relocator.h: Rewritten.
25350 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25351 * include/grub/mips/memory.h: New file.
25352 * include/grub/mips/multiboot.h: Rewritten.
25353 * include/grub/mips/relocator.h: Rewritten.
25354 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25355 (grub_vtop): New function.
25356 (grub_map_memory): Likewise.
25357 (grub_unmap_memory): Likewise.
25358 * include/grub/misc.h (ALIGN_DOWN): New definition.
25359 * include/grub/mm.h (grub_mm_check_real): New proto.
25360 (GRUB_MM_CHECK): New definition.
25361 * include/grub/mm_private.h: New file.
25362 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25363 (grub_multiboot_get_mbi_size): Removed.
25364 (grub_multiboot_make_mbi): Change prottype.
25365 (grub_multiboot_set_accepts_video): New proto.
25366 (grub_multiboot_add_elfsyms): Likewise.
25367 (grub_multiboot_payload_eip): New variable.
25368 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25369 New prototype.
25370 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25371 New definition.
25372 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25373 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25374 * include/grub/powerpc/ieee1275/loader.h: Removed.
25375 * include/grub/powerpc/memory.h: New file.
25376 * include/grub/powerpc/relocator.h: Likewise.
25377 * include/grub/relocator.h: Likewise.
25378 * include/grub/relocator_private.h: Likewise.
25379 * include/grub/sparc64/ieee1275/loader.h: Removed.
25380 * include/grub/x86_64/memory.h: New file.
25381 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25382 (grub_xnu_heap_malloc): Likewise.
25383 (grub_xnu_heap_real_start): Removed.
25384 (grub_xnu_heap_start): Likewise.
25385 (grub_xnu_relocator): New variable.
25386 (grub_xnu_heap_target_start): Likewise.
25387 * tests/util/grub-shell.in: Support non-pc.
25388 * util/grub-mkimage.c (image_targets): Fix multiboot target.
25389
25390 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25391
25392 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25393 on malloc error.
25394 (grub_bidi_logical_to_visual): Check that malloc succeded.
25395 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25396 puts.
25397 (grub_xputs_normal): Likewise.
25398
25399 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25400
25401 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25402 extra_dist.
25403
25404 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25405
25406 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25407
25408 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25409
25410 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25411
25412 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25413
25414 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25415 dprintf.
25416
25417 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25418
25419 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25420
25421 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25422
25423 * grub-core/normal/term.c (print_more): Fix a memory leak.
25424 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25425 (grub_xputs_normal): Likewise.
25426
25427 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25428
25429 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25430 the begining of the string
25431
25432 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25433
25434 * grub-core/script/script.c (grub_script_parse): Free parsed on
25435 failure.
25436
25437 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25438
25439 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25440 on failure.
25441
25442 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25445 return.
25446
25447 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25448
25449 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25450 (scroll_up): Fix a memory leak.
25451
25452 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25453
25454 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25455 errors.
25456
25457 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25458
25459 Handle USB pendrives exposed as floppies.
25460
25461 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25462 floppy.
25463 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25464 Check for partitions on all devices.
25465
25466 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25467
25468 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25469 (readkey): Likewise.
25470
25471 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25472
25473 Multiple variable names support to "export" command.
25474
25475 * normal/context.c (grub_cmd_export): "export" command supports
25476 multiple variable names.
25477
25478 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25479
25480 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25481 --target=drive output to Mach device name.
25482
25483 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25484
25485 New Automake based build system for GRUB.
25486
25487 * ABOUT-NLS: New file.
25488 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25489 in Makefile.util.def file.
25490 * Makefile.util.def: New file. Autogen build definitions file for
25491 GRUB host utils.
25492 * conf/Makefile.common: New file. Common variables for GRUB host
25493 utils and target modules.
25494 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25495 * docs/Makefile.am: New file. Automake file for docs.
25496 * gentpl.py: New file. Python script to generate Autogen
25497 template.
25498 * grub-core/Makefile.am: New file. GRUB target modules' rules
25499 that doesn't fit in Makefile.core.def file.
25500 * grub-core/Makefile.core.def: New file. Autogen build
25501 definitions file for GRUB target modules.
25502 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25503 specific setjmp.S file.
25504 * po/Makefile.am: New file.
25505
25506 * .bzrignore: New ignores.
25507 * INSTALL: New requirements, without Ruby.
25508 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25509 * autogen.sh: Updated to invoke autogen as necessary.
25510 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25511 and defines for Automake conditionals.
25512 * geninit.sh: Refactoring.
25513
25514 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25515 necessary.
25516 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25517 New prototype.
25518
25519 * include/grub/test.h: Fix functional test modules' naming.
25520 * grub-core/tests/example_functional_test.c: Fix test module name.
25521
25522 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25523 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25524 * util/grub-editenv.c: Likewise.
25525 * util/grub-fstest.c: Likewise.
25526 * util/grub-mkdevicemap.c: Likewise.
25527 * util/grub-mkfont.c: Likewise.
25528 * util/grub-mkimage.c: Likewise.
25529 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25530 * util/grub-probe.c: Likewise.
25531 * util/grub-script-check.c: Likewise.
25532 * util/i386/pc/grub-setup.c: Likewise.
25533 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25534
25535 * tests/util/grub-shell.in: Fix override directory path.
25536 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25537 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25538
25539 * util/lvm.c: Update #includes.
25540 * util/raid.c: Likewise.
25541 * util/resolve.c: Likewise.
25542 * grub-core/bus/emu/pci.c: Likewise.
25543 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25544 * grub-core/lib/posix_wrap/string.h: Likewise.
25545 * grub-core/kern/emu/main.c: Likewise.
25546
25547 * grub-core/gensymlist.sh: New file. Script for generating kernel
25548 symbols file.
25549 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25550
25551 * grub-core/gentrigtables.c: Fix unused variable warnings.
25552
25553 * Makefile.in: Removed.
25554 * conf/any-emu.rmk: Removed.
25555 * conf/common.rmk: Removed.
25556 * conf/i386-coreboot.rmk: Removed.
25557 * conf/i386-efi.rmk: Removed.
25558 * conf/i386-ieee1275.rmk: Removed.
25559 * conf/i386-multiboot.rmk: Removed.
25560 * conf/i386-pc.rmk: Removed.
25561 * conf/i386-qemu.rmk: Removed.
25562 * conf/i386.rmk: Removed.
25563 * conf/mips-yeeloong.rmk: Removed.
25564 * conf/mips.rmk: Removed.
25565 * conf/powerpc-ieee1275.rmk: Removed.
25566 * conf/sparc64-ieee1275.rmk: Removed.
25567 * conf/tests.rmk: Removed.
25568 * conf/x86-efi.rmk: Removed.
25569 * conf/x86_64-efi.rmk: Removed.
25570 * gendistlist.sh: Removed.
25571 * geninitheader.sh: Removed.
25572 * genkernsyms.sh.in: Removed.
25573 * genmk.rb: Removed.
25574 * gensymlist.sh.in: Removed.
25575 * mkinstalldirs: Removed.
25576 * boot: Moved ...
25577 * grub-core/boot: ... to here.
25578 * bus: Moved ...
25579 * grub-core/bus: ... to here.
25580 * commands: Moved ...
25581 * grub-core/commands: ... to here.
25582 * disk: Moved ...
25583 * grub-core/disk: ... to here.
25584 * efiemu: Moved ...
25585 * grub-core/efiemu: ... to here.
25586 * font: Moved ...
25587 * grub-core/font: ... to here.
25588 * fs: Moved ...
25589 * grub-core/fs: ... to here.
25590 * gencmdlist.sh: Moved ...
25591 * grub-core/gencmdlist.sh: ... to here.
25592 * genemuinit.sh: Moved ...
25593 * grub-core/genemuinit.sh: ... to here.
25594 * genemuinitheader.sh: Moved ...
25595 * grub-core/genemuinitheader.sh: ... to here.
25596 * genfslist.sh: Moved ...
25597 * grub-core/genfslist.sh: ... to here.
25598 * genhandlerlist.sh: Moved ...
25599 * grub-core/genhandlerlist.sh: ... to here.
25600 * genmoddep.awk: Moved ...
25601 * grub-core/genmoddep.awk: ... to here.
25602 * genmodsrc.sh: Moved ...
25603 * grub-core/genmodsrc.sh: ... to here.
25604 * genpartmaplist.sh: Moved ...
25605 * grub-core/genpartmaplist.sh: ... to here.
25606 * genparttoollist.sh: Moved ...
25607 * grub-core/genparttoollist.sh: ... to here.
25608 * genterminallist.sh: Moved ...
25609 * grub-core/genterminallist.sh: ... to here.
25610 * gentrigtables.c: Moved ...
25611 * grub-core/gentrigtables.c: ... to here.
25612 * genvideolist.sh: Moved ...
25613 * grub-core/genvideolist.sh: ... to here.
25614 * gettext: Moved ...
25615 * grub-core/gettext: ... to here.
25616 * gfxmenu: Moved ...
25617 * grub-core/gfxmenu: ... to here.
25618 * gnulib: Moved ...
25619 * grub-core/gnulib: ... to here.
25620 * hello: Moved ...
25621 * grub-core/hello: ... to here.
25622 * hook: Moved ...
25623 * grub-core/hook: ... to here.
25624 * io: Moved ...
25625 * grub-core/io: ... to here.
25626 * kern: Moved ...
25627 * grub-core/kern: ... to here.
25628 * lib: Moved ...
25629 * grub-core/lib: ... to here.
25630 * loader: Moved ...
25631 * grub-core/loader: ... to here.
25632 * mmap: Moved ...
25633 * grub-core/mmap: ... to here.
25634 * normal: Moved ...
25635 * grub-core/normal: ... to here.
25636 * partmap: Moved ...
25637 * grub-core/partmap: ... to here.
25638 * parttool: Moved ...
25639 * grub-core/parttool: ... to here.
25640 * script: Moved ...
25641 * grub-core/script: ... to here.
25642 * term: Moved ...
25643 * grub-core/term: ... to here
25644 * tests/example_functional_test.c: Moved ...
25645 * grub-core/tests/example_functional_test.c: ... to here.
25646 * tests/lib/functional_test.c: Moved ...
25647 * grub-core/tests/lib/functional_test.c: ... to here.
25648 * tests/lib/test.c: Moved ...
25649 * grub-core/tests/lib/test.c: ... to here.
25650 * video: Moved ...
25651 * grub-core/video: ... to here.
25652
25653 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25654
25655 Replace --enable-grub-emu-modules with grub-emu-lite.
25656
25657 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25658 cache.S.
25659
25660 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25661 * kern/emu/full.c: New file. For grub-emu specific initialization.
25662 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25663 * kern/emu/main.c: Call initialization function grub_emu_init.
25664
25665 * Makefile.in: Include grub-emu-lite in install.
25666 * commands/parttool.c: Use grub_no_autoload to differentiate
25667 between grub-emu and grub-emu-lite.
25668 * include/grub/misc.h: New variable grub_no_autoload.
25669
25670 * conf/any-emu.rmk: New rules for grub-emu-lite.
25671 * configure.ac: Remove --enable-grub-emu-modules.
25672 * genmk.rb: Cleanup unnecessary rules.
25673 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25674
25675 * normal/main.c: Don't load list files on grub-emu-lite.
25676 * util/misc.c (grub_arch_sync_caches): Removed.
25677
25678 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
25679
25680 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25681 grub-mkimage rather than grub-mkelfimage.
25682 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25683
25684 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25685
25686 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25687 a key after CapsLock or NumLock. It's just a qemu bug.
25688
25689 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25690
25691 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25692 needed by libusb wrapper.
25693
25694 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25695
25696 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25697
25698 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25699
25700 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25701 --nounzip is passed.
25702
25703 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25704
25705 USB hotunplugging and USB serial support.
25706
25707 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25708 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25709 (grub_uhci_transfer): Respect timeout and set *actual.
25710 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25711 non-standard length.
25712 (grub_usb_device_attach): Autoload modules.
25713 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25714 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25715 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25716 users updated.
25717 (grub_usb_add_hub): Fill nports and children.
25718 (attach_root_port): Receive hub instead of controller.
25719 All users updated. Fill hub->devices.
25720 (grub_usb_root_hub): Allocate hub->devices.
25721 (detach_device): New function.
25722 (poll_nonroot_hub): Fill children and detach devices.
25723 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25724 actual arguments. All users updated.
25725 (grub_usb_bulk_read_extended): New function.
25726 * bus/usb/serial/common.c: New file.
25727 * bus/usb/serial/ftdi.c: Likewise.
25728 * bus/usb/serial/pl2303.c: Likewise.
25729 * commands/terminal.c (handle_command): Support wildcard.
25730 * commands/usbtest.c: Output "Unknown" instead of empty string.
25731 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25732 (usbserial_common_mod_SOURCES): New variable.
25733 (usbserial_common_mod_CFLAGS): Likewise.
25734 (usbserial_common_mod_LDFLAGS): Likewise.
25735 (pkglib_MODULES): Add usbserial_pl2303.mod.
25736 (usbserial_pl2303_mod_SOURCES): New variable.
25737 (usbserial_pl2303_mod_CFLAGS): Likewise.
25738 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25739 (pkglib_MODULES): Add usbserial_ftdi.mod.
25740 (usbserial_ftdi_mod_SOURCES): New variable.
25741 (usbserial_ftdi_mod_CFLAGS): Likewise.
25742 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25743 (pkglib_MODULES): Add serial.mod.
25744 (serial_mod_SOURCES): New variable.
25745 (serial_mod_CFLAGS): Likewise.
25746 (serial_mod_LDFLAGS): Likewise.
25747 * conf/i386-pc.rmk: Likewise.
25748 * conf/mips-yeeloong.rmk: Likewise.
25749 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25750 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25751 * disk/usbms.c (first_available_slot): New variable.
25752 (grub_usbms_attach): Don't reuse free slots due to potential cache
25753 problems.
25754 * include/grub/serial.h: Moved to ..
25755 * include/grub/ns8250.h: ...this.
25756 * include/grub/serial.h: New file.
25757 * include/grub/term.h (grub_term_poll_usb): New variable.
25758 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25759 readkey. All users updated.
25760 (grub_terminfo_output_state): Pass term to put.
25761 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25762 (grub_usb_controller_dev): Add timeout and actual arguments to
25763 transfer. All users updated.
25764 (grub_usb_interface): New field detach_data.
25765 (grub_usb_device): New fields children and nports.
25766 (grub_usb_ep_type_t): New type.
25767 (grub_usb_get_ep_type): New function.
25768 (grub_usb_bulk_read_extended): Likewise.
25769 * include/grub/usbdesc.h (grub_usb_desc): New type.
25770 * include/grub/usbserial.h: New file.
25771 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25772 * kern/term.c (grub_term_poll_usb): New variable.
25773 (grub_getkey): Call grub_term_poll_usb if set.
25774 (grub_checkkey): Likewise.
25775 (grub_getkeystatus): Likewise.
25776 * term/serial.c: Moved controller-specific parts to ...
25777 * term/ns8250.c: ... here.
25778 * term/serial.c: Mostly rewritten.
25779 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25780 according to spec.
25781
25782 2010-08-20 Robert Millan <rmh@gnu.org>
25783
25784 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25785 a separate module and maybe other interesting combinations.
25786
25787 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25788 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25789 (kfreebsd_entry): Add generic filesystem module load routine.
25790 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25791
25792 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25793
25794 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25795 "numcenter" (I misunderstood the purpose of this entry).
25796 * docs/grub.texi (sendkey): Likewise.
25797
25798 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25799
25800 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25801 status flag options; simply omitting the option is equivalent and
25802 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25803 (keysym_table): Rename "num5numlock" to "numlock".
25804 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25805 can uniformly say that only the last of multiple `sendkey'
25806 invocations has any effect.
25807 * docs/grub.texi (sendkey): New section.
25808
25809 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
25810
25811 * commands/i386/pc/sendkey.c (options): Fix three typos.
25812
25813 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25814
25815 Implement sendkey support.
25816
25817 * commands/i386/pc/sendkey.c: New file.
25818 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25819 (sendkey_mod_SOURCES): New variable.
25820 (sendkey_mod_CFLAGS): Likewise.
25821 (sendkey_mod_LDFLAGS): Likewise.
25822
25823 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25824
25825 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25826 fix warnings from Autoconf.
25827
25828 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25829
25830 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25831 to avoid false positives with some assemblers that output things
25832 like "someprefix_func" as part of their output.
25833
25834 2010-08-15 Robert Millan <rmh@gnu.org>
25835
25836 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25837 errors.
25838 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25839 grub_get_libzfs_handle() errors.
25840
25841 2010-08-14 Robert Millan <rmh@gnu.org>
25842
25843 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25844 filesystem is not ZFS.
25845
25846 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25847
25848 Fix for misspelled color names defaulting to black/black (bug
25849 reported by Doug Nazar)
25850
25851 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25852 status to prototype.
25853 * normal/color.c (grub_parse_color_name_pair): Return failure
25854 status.
25855 (grub_env_write_color_normal): Ignore bad color names.
25856 (grub_env_write_color_highlight): Likewise.
25857 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25858
25859 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25860
25861 "shift" command support to GRUB script.
25862
25863 * include/grub/script_sh.h (grub_script_shift): New prototype.
25864 * script/execute.c (grub_script_shift): New function.
25865 * script/main.c (grub_script_init): Register shift command.
25866 (grub_script_fini): Unregister shift command.
25867 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25868
25869 * tests/grub_script_shift.in: New testcase.
25870 * conf/tests.rmk: Rules for new testcase.
25871
25872 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25873
25874 "continue" command support to GRUB script.
25875
25876 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25877 (grub_script_break): Continue support.
25878 * script/main.c (grub_script_init): Register continue command.
25879 (grub_script_fini): Unregister continue command.
25880
25881 * tests/grub_script_continue.in: New testcase.
25882 * conf/tests.rmk: Rules for new testcase.
25883
25884 2010-08-12 BVK Chaitanya <bvk@dbook>
25885
25886 "break" command support to GRUB script.
25887
25888 * conf/common.rmk: Rule updates to grub-script-check.
25889 * include/grub/misc.h (grub_min): New function.
25890 * include/grub/script_sh.h (grub_script_init): New prototype.
25891 (grub_script_fini): New prototype.
25892 (grub_script_break): New prototype.
25893 * script/main.c (grub_script_init): New function.
25894 (grub_script_fini): New function.
25895 * script/execute.c (grub_script_break): New function.
25896 * normal/main.c: Calls to grub_script_{init,fini}.
25897 * util/grub-script-check.c (grub_script_break): New function.
25898
25899 * tests/grub_script_break.in: New testcase.
25900 * conf/tests.rmk: Rules for new test case.
25901
25902 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25903
25904 Function parameters support to GRUB script.
25905
25906 * script/yylex.l (VARIABLE): Regular expression update.
25907 * script/function.c (grub_script_function_call): Moved ...
25908 * script/execute.c (grub_script_function_call): ... to here.
25909 (grub_script_execute_arglist_to_argv): Removed.
25910 (grub_script_arglist_to_argv): New function.
25911 * script/argv.c: New file.
25912 (grub_script_argv_free): New function.
25913 (grub_script_argv_next): Likewise.
25914 (grub_script_argv_append): Likewise.
25915 (grub_script_argv_split_append): Likewise.
25916 * include/grub/script_sh.h (grub_script_argv): New struct.
25917 (grub_script_argv_free): New function.
25918 (grub_script_argv_next): Likewise.
25919 (grub_script_argv_append): Likewise.
25920 (grub_script_argv_split_append): Likewise.
25921
25922 * conf/common.rmk (normal.mod): New source script/argv.c.
25923
25924 * tests/grub_script_echo1.in: More tests.
25925 * tests/grub_script_vars1.in: Likewise.
25926 * tests/grub_script_functions.in: New test case.
25927 * conf/tests.rmk: Rules for new testcase.
25928
25929 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25930
25931 Remove grub_script_cmdblock struct.
25932
25933 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25934 * script/parser.y: Likewise.
25935 * script/execute.c: Rename cmdblock suffix to cmdlist.
25936 * script/script.c: Likewise.
25937 * util/grub-script-check.c: Likewise.
25938
25939 2010-08-11 Yves Blusseau <blusseau@zetam.org>
25940
25941 * .bzrignore: add grub-macho2img
25942
25943 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25944
25945 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25946
25947 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25948
25949 Remove the dump of sm712 initialisation sequence.
25950
25951 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25952 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25953 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25954 (GRUB_VGA_CR_*): Added many registers.
25955 (GRUB_VGA_SR_*): Likewise.
25956 (GRUB_VGA_GR_*): Likewise.
25957 (grub_vga_write_arx): New function.
25958 (grub_video_hw_config): New struct.
25959 (grub_vga_set_geometry): New function.
25960 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25961 GRUB_PCI_CLASS_SUBCLASS_VGA.
25962 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25963 * video/sm712.c (grub_sm712_write_reg): New function
25964 (grub_sm712_read_reg): Likewise.
25965 (grub_sm712_sr_write): Likewise.
25966 (grub_sm712_gr_write): Likewise.
25967 (grub_sm712_cr_write): Likewise.
25968 (grub_sm712_write_arx): Likewise.
25969 (grub_sm712_cr_shadow_write): Likewise.
25970 (grub_sm712_write_dda_lookup): Likewise.
25971 (grub_video_sm712_setup): Initialise the video rather then
25972 blindly replay the dump.
25973 (main) [TEST]: Add a routine to be able to compile as standalone for
25974 tests.
25975 * video/sm712_init.c (sm712_init): Removed.
25976 (sm712_sr_seq1): New array.
25977 (sm712_sr_seq2): Likewise.
25978
25979 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25980
25981 * include/grub/vga.h: Add missing grub/pci.h include.
25982
25983 2010-08-10 Yves Blusseau <blusseau@zetam.org>
25984
25985 * util/grub-macho2img.c (main): fix typo
25986
25987 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25988
25989 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25990 (grub_vga_gr_read): Likewise.
25991 (grub_vga_cr_write): Likewise.
25992 (grub_vga_cr_read): Likewise.
25993 (grub_vga_sr_write): Likewise.
25994 (grub_vga_sr_read): Likewise.
25995 (grub_vga_palette_read): Likewise.
25996 (grub_vga_palette_write): Likewise.
25997 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25998 (grub_sm712_sr_read): New function.
25999 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
26000 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
26001
26002 2010-08-09 Robert Millan <rmh@gnu.org>
26003
26004 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
26005 out unused variables on non-ZFS build.
26006
26007 2010-08-08 Robert Millan <rmh@gnu.org>
26008
26009 Fix path generation for sub-filesystems in ZFS.
26010
26011 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
26012 missing slash.
26013
26014 2010-08-08 Robert Millan <rmh@gnu.org>
26015
26016 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
26017
26018 2010-08-08 Robert Millan <rmh@gnu.org>
26019
26020 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
26021 exist, issue a proper error message (rely on `ls' for translated
26022 strings).
26023
26024 2010-08-08 Robert Millan <rmh@gnu.org>
26025
26026 Fix grub-probe invocation.
26027
26028 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
26029
26030 2010-08-04 Robert Millan <rmh@gnu.org>
26031
26032 * configure.ac: Remove checks for getfsstat() and getmntany().
26033 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
26034 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
26035 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
26036 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
26037 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
26038 function.
26039 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
26040 via find_mount_point_from_dir() and getfsstat() / getmntany().
26041
26042 2010-08-04 Robert Millan <rmh@gnu.org>
26043
26044 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26045 (grub_find_zpool_from_mount_point): Merge into ...
26046 (grub_find_zpool_from_dir): ... this.
26047 * kern/emu/misc.c: Likewise.
26048
26049 * kern/emu/misc.c
26050 (grub_make_system_path_relative_to_its_root): Replace
26051 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
26052 with grub_find_zpool_from_dir().
26053 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
26054
26055 2010-08-04 Robert Millan <rmh@gnu.org>
26056
26057 Support OpenSolaris in ZFS device resolution.
26058
26059 * configure.ac: Check for getmntany().
26060 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
26061 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
26062 support.
26063
26064 2010-08-03 Robert Millan <rmh@gnu.org>
26065
26066 Fix grub-emu build.
26067
26068 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
26069 * include/grub/emu/misc.h: ... here.
26070
26071 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
26072 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
26073
26074 * util/misc.c: Remove `<grub/util/libzfs.h>'.
26075 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
26076 (grub_get_libzfs_handle): Move to ...
26077 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
26078 (grub_get_libzfs_handle): ... here.
26079
26080 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
26081
26082 * script/execute.c (grub_script_execute_cmdline): Check for NULL
26083 as command name case.
26084
26085 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
26086
26087 * disk/raid.c (insert_array): Select unique numbers for named arrays
26088 as well, for use as keys in the disk cache.
26089
26090 2010-08-01 Robert Millan <rmh@gnu.org>
26091
26092 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
26093 kFreeBSD device name, except on ZFS where the filesystem label is
26094 used.
26095 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
26096 `/boot/zfs/zpool.cache'.
26097 Set mountfrom kernel variable using ${kfreebsd_device}.
26098
26099 2010-08-01 Robert Millan <rmh@gnu.org>
26100
26101 Make it even harder to use uninitialized `libzfs_handle' (and
26102 make the interface a bit simpler).
26103
26104 * include/grub/util/misc.h (grub_util_init_libzfs)
26105 (libzfs_handle): Remove.
26106 (grub_get_libzfs_handle): New prototype.
26107
26108 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
26109 attribute.
26110 (grub_util_init_libzfs): Remove.
26111 (grub_get_libzfs_handle): New function.
26112
26113 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
26114 grub_get_libzfs_handle() to obtain a libzfs handle instead of
26115 accessing `libzfs_handle' directly.
26116
26117 2010-08-01 Robert Millan <rmh@gnu.org>
26118
26119 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26120 (grub_find_zpool_from_mount_point): New function prototypes.
26121
26122 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26123 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26124
26125 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26126 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26127 `static' attribute.
26128
26129 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26130 finding zpool from mount point into ...
26131 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26132
26133 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26134 requested path is part of a ZFS pool, use
26135 grub_find_zpool_from_mount_point() to detect its filesystem name,
26136 and generate a path with `/fsname@path' syntax.
26137
26138 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26139
26140 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26141 (void) rather than () so that this is a proper prototype.
26142
26143 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26144
26145 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26146
26147 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26148
26149 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26150 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26151
26152 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26153
26154 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26155
26156 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26157
26158 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26159
26160 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26161
26162 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26163 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26164 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26165 disable gfxpayload.
26166 (Shell-like scripting): Add real content.
26167 (Serial terminal): Suggest `terminal_input serial; terminal_output
26168 serial' rather than putting the two commands on separate lines,
26169 since console input will be inoperative after the first command.
26170 (menuentry): Document --class, --users, and --hotkey options.
26171 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26172 Vladimir Serbinenko).
26173
26174 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26175 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26176
26177 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26178
26179 2010-08-01 Robert Millan <rmh@gnu.org>
26180
26181 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26182 (grub_find_zpool_from_mount_point): New function prototypes.
26183
26184 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26185 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26186
26187 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26188 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26189 `static' attribute.
26190
26191 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26192 finding zpool from mount point into ...
26193 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26194
26195 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26196 requested path is part of a ZFS pool, use
26197 grub_find_zpool_from_mount_point() to detect its filesystem name,
26198 and generate a path with `/fsname@path' syntax.
26199
26200 2010-08-01 Robert Millan <rmh@gnu.org>
26201
26202 Prevent accidental use of uninitialized libzfs_handle.
26203
26204 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26205 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26206 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26207
26208 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26209
26210 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26211 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26212
26213 2010-08-01 Robert Millan <rmh@gnu.org>
26214
26215 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
26216
26217 2010-07-31 Robert Millan <rmh@gnu.org>
26218
26219 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26220
26221 2010-07-31 Robert Millan <rmh@gnu.org>
26222
26223 * kern/emu/misc.c: Add missing license header.
26224
26225 2010-07-31 Robert Millan <rmh@gnu.org>
26226
26227 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26228
26229 * include/grub/util/libnvpair.h: Include `<config.h>'.
26230 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26231 declaring libnvpair prototypes ourselves.
26232 * include/grub/util/libzfs.h: Include `<config.h>'.
26233 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26234 declaring libzfs prototypes ourselves.
26235
26236 (libzfs_handle): Moved to ...
26237 * include/grub/util/misc.h (libzfs_handle): ... here.
26238 Include `<grub/util/libzfs.h>'.
26239
26240 2010-07-30 Robert Millan <rmh@gnu.org>
26241
26242 * include/grub/emu/misc.h: Add missing license header.
26243
26244 2010-07-30 Robert Millan <rmh@gnu.org>
26245
26246 Enable `grub-probe -t device' resolution on ZFS.
26247
26248 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26249 * include/grub/util/libnvpair.h: New file.
26250 * include/grub/util/libzfs.h: New file.
26251
26252 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26253 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26254 `<grub/util/libnvpair.h>'.
26255 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26256
26257 (find_mount_point_from_dir): New static function.
26258 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26259 function.
26260 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26261 find_root_device_from_libzfs() before ressorting to find_root_device().
26262
26263 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26264 prototype.
26265 * util/misc.c: Include `<grub/util/libzfs.h>'.
26266 (grub_util_init_libzfs): New function.
26267 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26268 [HAVE_LIBZFS] (fini_libzfs): New static function.
26269 (grub_util_init_libzfs): New function.
26270 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26271
26272 2010-07-30 Robert Millan <rmh@gnu.org>
26273
26274 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26275 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26276 `warn_unused_result' attribute.
26277 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26278 (grub_xasprintf, grub_xvasprintf): Likewise.
26279 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26280
26281 2010-07-29 Robert Millan <rmh@gnu.org>
26282
26283 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26284 (probe): Handle `PRINT_FS_LABEL'.
26285 (main): Handle `-t fs_label'.
26286
26287 2010-07-29 Robert Millan <rmh@gnu.org>
26288
26289 * configure.ac: Remove grub-mkisofs checks.
26290
26291 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26292
26293 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26294 Reported by: Lennart Sorensen.
26295
26296 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26297
26298 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26299 prior to terminal_input/terminal_output separation. It's been over 1.5
26300 years and those versions weren't widely deployed.
26301
26302 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
26303
26304 * disk/raid.c (insert_array): Don't count named arrays when looking
26305 for unused array numbers.
26306 Reported and tested by: Michael Guntsche.
26307
26308 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26309
26310 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26311 implementation of this so that grub-emu links again, with a note
26312 that this should support hotplugging in the future.
26313
26314 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26315
26316 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26317
26318 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26319
26320 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26321 handle on failure.
26322 (grub_loopback_close): Remove empty function.
26323 (grub_loopback_dev): Remove close method.
26324
26325 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26326
26327 Disable EFI cursor when the EFI console becomes inactive.
26328
26329 * term/efi/console.c (grub_efi_console_init): New function.
26330 (grub_efi_console_fini): New function.
26331 (grub_console_term_output): Register init and fini methods.
26332
26333 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26334
26335 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26336 sh script.
26337
26338 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26339
26340 * disk/loopback.c (grub_loopback): Replace filename with file.
26341 (delete_loopback): Handle new semantics.
26342 (grub_cmd_loopback): Likewise.
26343 (grub_loopback_iterate): Likewise.
26344 (grub_loopback_close): Likewise.
26345
26346 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26347
26348 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26349 with -p "".
26350 Reported by: Tito Keitel.
26351
26352 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26353
26354 * docs/grub.texi (Naming convention): Document new naming convention.
26355
26356 2010-07-20 Vadim Solomin <vadic052@gmail.com>
26357 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26358
26359 Generate device.map in something closer to the old ordering.
26360
26361 * util/deviceiter.c (struct device): New declaration.
26362 (compare_file_names): Rename to ...
26363 (compare_devices): ... this. Sort by kernel name in preference to
26364 the stable by-id name, but keep the latter as a fallback comparison.
26365 Update header comment.
26366 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26367 of `struct device' rather than of plain file names.
26368
26369 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26370
26371 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26372 on i386.
26373
26374 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26375
26376 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26377 hardcoding size.
26378 (setv1table): Likewise.
26379
26380 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26381
26382 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26383 removing the homehost if present.
26384 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26385 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26386 removing the homehost if present.
26387 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26388 if possible.
26389 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26390
26391 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26392 parameter. Set its pointer target to 0.
26393 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26394 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26395 `data_offset' value from the superblock for 1.x metadata.
26396 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26397 data on the device.
26398 (insert_array): Record the start sector of data on the device.
26399 (grub_raid_register): Pass start_sector parameters to
26400 grub_raid_list->detect and insert_array.
26401 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26402 member.
26403 (struct grub_raid): Add start_sector parameter to `detect'.
26404
26405 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26406 __attribute__ ((packed)), leaving a comment.
26407 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26408 (grub_mdraid_detect_09): ... here and ...
26409 (grub_mdraid_detect_1x): ... here.
26410
26411 2010-07-20 Peter Henn <peter.henn@web.de>
26412
26413 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26414 chunk size and disk size, which are already given as sector counts
26415 as distinct from the 0.90 units. Fetch the correct device number
26416 from the role table instead of using the table index.
26417
26418 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
26419
26420 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26421 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26422 (WriteMostly1): New macro.
26423 Set array->name to NULL for metadata format 0.90. Add support for
26424 metadata 1.x. Fix some comments.
26425 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26426 few comments.
26427 * util/getroot.c (grub_util_get_grub_dev): Add support for
26428 /dev/md/name style devices.
26429
26430 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26431
26432 * .bzrignore: Ignore 20_linux_xen.
26433
26434 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
26435
26436 * util/import_unicode.py: Remove unnecessary imports.
26437
26438 2010-07-17 Aleš Nesrsta <starous@volny.cz>
26439
26440 Hotplugging and USB hub support.
26441
26442 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26443 (grub_ohci): Likewise.
26444 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26445 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26446 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26447 (GRUB_OHCI_CTRL_EDS): Likewise.
26448 (GRUB_OHCI_BULK_EDS): Likewise.
26449 (GRUB_OHCI_TDS): Likewise.
26450 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26451 (grub_ohci_ed_phys2virt): New function.
26452 (grub_ohci_virt_to_phys): Likewise.
26453 (grub_ohci_td_phys2virt): Likewise.
26454 (grub_ohci_td_virt2phys): Likewise.
26455 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26456 attachment.
26457 (grub_ohci_find_ed): New function.
26458 (grub_ohci_alloc_td): Likewise.
26459 (grub_ohci_free_td): Likewise.
26460 (grub_ohci_free_tds): Likewise.
26461 (grub_ohci_transfer): Use previously allocated memory.
26462 (grub_ohci_portstatus): Reset status changed bit.
26463 (grub_ohci_detect_dev): Supply status changed.
26464 (grub_ohci_fini_hw): Free memory.
26465 (grub_ohci_restore_hw): Reallocate memory.
26466 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26467 Reset status change.
26468 (grub_uhci_detect_dev): Supply status_change.
26469 * bus/usb/usb.c (attach_hooks): New var.
26470 (grub_usb_device_attach): New function.
26471 (grub_usb_register_attach_hook_class): Likewise.
26472 (grub_usb_unregister_attach_hook_class): Likewise.
26473 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26474 (grub_usb_add_hub): Reset connection changed bit.
26475 (attach_root_port): New function.
26476 (grub_usb_root_hub): Likewise.
26477 (poll_nonroot_hub): Likewise.
26478 (grub_usb_poll_devices): Likewise.
26479 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26480 * disk/usbms.c (grub_usbms_open): Use device hooks.
26481 (grub_usbms_iterate) :Poll devices.
26482 (grub_usbms_finddevs): Split into ...
26483 (grub_usbms_attach): ... this ...
26484 (grub_usbms_attach): ... and this.
26485 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26486 in detect_dev.
26487 (grub_usb_interface): New fields attached and detach_hook.
26488 (grub_usb_attach_hook_class): New type.
26489 (grub_usb_attach_desc): New struct.
26490 (grub_usb_register_attach_hook_class): New function.
26491 (grub_usb_unregister_attach_hook_class): Likewise.
26492 (grub_usb_poll_devices): Likewise.
26493 (grub_usb_device_attach): Likewise.
26494 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26495 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26496
26497 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26498
26499 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26500 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26501 delta determination style. Works with most NetBSD partitions too.
26502
26503 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26504
26505 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26506 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26507
26508 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26509
26510 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26511
26512 2010-07-14 Anton Blanchard <anton@samba.org>
26513
26514 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26515 ET_DYN files.
26516
26517 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26518
26519 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26520
26521 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26522
26523 * kern/partition.c (grub_partition_check_containment): New function to
26524 check that a partition is physically contained in a parent. Since
26525 offsets are relative (and non-negative), this reduces to checking that
26526 the partition ends before its parent.
26527 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26528 (grub_partition_iterate): Likewise.
26529 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26530 comments.
26531 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26532 partitions that start before their parent, and add debug printfs.
26533
26534 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26535
26536 * Makefile.in (.SUFFIX): Spell correctly, as ...
26537 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26538 bare module name without `.mod', e.g. `test') tried to invoke a
26539 Modula-2 compiler.
26540
26541 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26542
26543 * README: Point to the Info manual.
26544
26545 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
26546
26547 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26548 2nd superblock position from partition size.
26549
26550 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
26551
26552 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26553 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26554 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26555 outputs.
26556
26557 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26558
26559 Restructure SCSI .id handling.
26560 Reported and tested by: Aleš Nesrsta.
26561
26562 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26563 (grub_atapi_dev): Changed .name to "ata". New field .id.
26564 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26565 (grub_usbms_dev): New field .id.
26566 * disk/scsi.c (grub_scsi_iterate): Generate name.
26567 (grub_scsi_open): Parse name.
26568 * include/grub/scsi.h (grub_make_scsi_id): New function.
26569 (grub_scsi_dev): Change iterate and open to number instead of naming
26570 busses. All users updated.
26571 (grub_scsi): Remove name. Add .bus.
26572
26573 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26574
26575 * commands/help.c (grub_cmd_help): Fix a typo.
26576
26577 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26578
26579 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26580 Reported and tested by: Colin Watson.
26581
26582 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26583
26584 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26585 in this context.
26586
26587 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26588
26589 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26590
26591 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
26592
26593 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26594 indentation.
26595
26596 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26597
26598 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26599 and disk/raid6_recover.c.
26600 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26601 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26602
26603 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26604
26605 * term/gfxterm.c (repaint_schedulded): Rename to ...
26606 (repaint_scheduled): ... this. Update all callers.
26607 (repaint_was_schedulded): Rename to ...
26608 (repaint_was_scheduled): ... this. Update all callers.
26609
26610 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26611
26612 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26613 which we expect to be handled by upper layers.
26614
26615 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26616
26617 * bus/usb/usbhub.c: #include time.h header.
26618
26619 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26620
26621 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26622 entry_name also for entries without stat blocks (e.g. ".."); fixes
26623 corruption of the first entry in a directory.
26624
26625 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26626
26627 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26628 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26629 doesn't work otherwise.
26630
26631 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26632
26633 * docs/grub.texi (Features): Update list of supported file systems.
26634 (GNU/Linux): Update for GRUB 2.
26635 (Serial terminal): Remove mention of --disable-serial, which was a
26636 GRUB Legacy configure option. Update instructions to use
26637 `terminal_input' and `terminal_output' rather than `terminal'.
26638 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26639 configuration' and `Installing GRUB using grub-install'.
26640 (Menu entry editor): Update for GRUB 2.
26641 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26642 Document new -a, -u, and -v options.
26643 (initrd): New section.
26644 (initrd16): New section.
26645 (linux): New section.
26646 (linux16): New section.
26647 (search): The `var' argument to `--set' is optional.
26648 (GRUB only offers a rescue shell): Go into a little more detail on
26649 drive ordering.
26650
26651 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26652
26653 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26654
26655 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26656
26657 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26658 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26659
26660 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26661
26662 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26663 install_prefix, in line with install_dos_part and install_bsd_part.
26664 Add new prefix variable, which is copied to install_prefix after
26665 comparing core.img in memory with the one read from disk in the
26666 no-embedding case, and use that rather than overwriting
26667 install_prefix immediately when installing to a partition.
26668 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26669 Bicakci.
26670
26671 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26672
26673 * configure.ac: Avoid == in test command, it's not portable.
26674 * util/grub.d/30_os-prober.in: Likewise.
26675
26676 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
26677
26678 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26679
26680 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26681
26682 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26683 multiple (top-level) partmaps.
26684
26685 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26686
26687 * util/i386/efi/grub-install.in: Don't use empty grub_device.
26688 Reported by: Tino Keitel.
26689
26690 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26691
26692 Bidi and diacritics support.
26693
26694 * Makefile.in (widthspec.bin): New target.
26695 (widthspec.h): Likewise.
26696 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26697 * autogen.sh: Generate unidata.c.
26698 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26699 * commands/ls.c (grub_ls_list_devices): Likewise.
26700 (grub_ls_list_files): Likewise.
26701 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26702 (grub_mini_cmd_lsmod): Likewise.
26703 * commands/read.c: Likewise.
26704 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26705 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26706 * lib/arg.c (grub_arg_show_help): Likewise.
26707 * lib/crypto.c (grub_password_get): Likewise.
26708 * normal/auth.c (grub_username_get): Likewise.
26709 * normal/misc.c (grub_normal_print_device_info): Likewise.
26710 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26711 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26712 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26713 (normal/charset.c_DEPENDENCIES): New variable.
26714 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26715 (pkglib_MODULES): Remove charset.mod.
26716 (charset_mod_SOURCES): Removed.
26717 (charset_mod_CFLAGS): Likewise.
26718 (charset_mod_LDFLAGS): Likewise.
26719 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26720 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26721 and term/tparm.c.
26722 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26723 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26724 (kernel_img_HEADERS): Add terminfo.h.
26725 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26726 Fill ->font. Reverse ascii bitmaps.
26727 (grub_font_get_xheight): New function.
26728 * font/font.c (grub_font_get_string_width): Moved from here ...
26729 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26730 * font/font.c (grub_font_draw_string): Moved from here ...
26731 * gfxmenu/font.c (grub_font_draw_string): ... here.
26732 * font/font.c (grub_font_dup_glyph): New function.
26733 (grub_font_blit_glyph): Likewise.
26734 (grub_font_blit_glyph_mirror): Likewise.
26735 (blit_comb): Likewise.
26736 (grub_font_construct_dry_run): Likewise.
26737 (grub_font_get_constructed_device_width): Likewise.
26738 (grub_font_construct_glyph): Likewise.
26739 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26740 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26741 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26742 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26743 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26744 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26745 (grub_font_get_xheight): New proto.
26746 (grub_font_get_constructed_device_width): Likewise.
26747 (grub_font_construct_glyph): Likewise.
26748 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26749 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26750 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26751 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26752 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26753 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26754 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26755 (grub_console_getcharwidth): Likewise.
26756 * include/grub/misc.h (grub_xputs): New proto.
26757 (grub_puts): Inlined.
26758 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26759 (grub_normal_get_line_counter): Removed.
26760 (grub_install_newline_hook): Likewise.
26761 (grub_normal_get_char_counter): New proto.
26762 (grub_normal_reset_more): Likewise.
26763 (grub_xputs_normal): Likewise.
26764 * include/grub/powerpc/ieee1275/console.h: Removed.
26765 * include/grub/sparc64/ieee1275/console.h: Likewise.
26766 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26767 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26768 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26769 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26770 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26771 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26772 (grub_term_input): Pass reference to self. All users updated.
26773 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26774 Pass reference to self. New fields normal_color, highlight_color and
26775 data. All users updated.
26776 (grub_putchar): Removed.
26777 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26778 (grub_unicode_estimate_width): New function.
26779 (grub_term_getcharwidth): Add defaults.
26780 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26781 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26782 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26783 (grub_cls): Remove EXPORT_FUNC.
26784 (grub_setcolorstate): Inline.
26785 (grub_newline_hook): Removed.
26786 * include/grub/terminfo.h: Rewritten. All users updated.
26787 * include/grub/unicode.h: New file.
26788 * include/grub/video.h (grub_video_signed_rect): New type.
26789 * kern/emu/console.c (grub_console_highlight_color): Removed.
26790 (grub_console_normal_color): Likewise.
26791 (grub_console_standard_color): Made static.
26792 (grub_ncurses_putchar): Remove mapping.
26793 (grub_ncurses_getcharwidth): Removed.
26794 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26795 (grub_ncurses_setcolor): Removed.
26796 (grub_ncurses_getcolor): Likewise.
26797 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26798 (grub_console_putchar): ... this.
26799 (grub_console_putchar): Handle argument difference.
26800 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26801 console_init_early and console_init_lately.
26802 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26803 * kern/misc.c (grub_puts): Removed.
26804 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26805 (grub_vsnprintf_real): Remove str = NULL support.
26806 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26807 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26808 * kern/term.c (grub_putcode): Renamed to ...
26809 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26810 (grub_putchar): Removed.
26811 (grub_xputs_dumb): New function.
26812 (grub_xputs): New variable.
26813 * lib/charset.c: Move from here ...
26814 * normal/charset.c: ... to here.
26815 (grub_ucs4_to_utf8): New function.
26816 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26817 (join_types): New variable.
26818 (unpack_join): New function.
26819 (bidi_types): New variable.
26820 (unpack_bidi): New function.
26821 (get_bidi_type): Likewise.
26822 (get_join_type): Likewise.
26823 (is_mirrored): Likewise.
26824 (grub_unicode_get_comb_type): Likewise.
26825 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26826 (is_type_after): Likewise.
26827 (grub_unicode_aglomerate_comb): Likewise.
26828 (bidi_line_wrap): Likewise.
26829 (grub_bidi_line_logical_to_visual): Likewise.
26830 (grub_bidi_logical_to_visual): Likewise.
26831 (grub_unicode_mirror_code): Likewise.
26832 (grub_unicode_shape_code): Likewise.
26833 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26834 Don't use grub_putchar.
26835 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26836 (grub_normal_reader_init): Likewise.
26837 (grub_xputs_saved): New variable.
26838 (GRUB_MOD_INIT): Set grub_xputs.
26839 (GRUB_MOD_FINI): Restore grub_xputs.
26840 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26841 (menu_init): Avoid printing gfxmenu error.
26842 (show_menu): Use grub_normal_get_char_counter.
26843 * normal/menu_entry.c (update_screen): Fix out-of-array.
26844 (complete): Avoid NULL dereferencing.
26845 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26846 * normal/menu_text.c (print_spaces): Removed.
26847 (grub_print_ucs4): Likewise.
26848 (grub_print_message_indented): Use grub_print_ucs4.
26849 (print_message): Use grub_putcode.
26850 (print_entry): Hanlde diacritics.
26851 * normal/term.c (term_state): New type.
26852 (grub_more_lines): Removed.
26853 (term_states): New variable.
26854 (grub_normal_line_counter): Renamed to ..
26855 (grub_normal_char_counter): ...this. All users updated.
26856 (grub_normal_get_line_counter): Renamed to ...
26857 (grub_normal_get_char_counter): ... this.
26858 (grub_normal_reset_more): New function.
26859 (process_newline): Removed.
26860 (print_more): New function.
26861 (grub_install_newline_hook): Removed.
26862 (map_code): New function.
26863 (grub_puts_terminal): Use grub_print_ucs4.
26864 (putglyph): New function.
26865 (putcode_real): Likewise.
26866 (grub_putcode): Use putcode_real.
26867 (get_maxwidth): New function.
26868 (get_startwidth): Likewise.
26869 (print_ucs4_terminal): Likewise.
26870 (find_term_state): Likewise.
26871 (put_glyphs_terminal): Likewise.
26872 (print_backlog): Likewise.
26873 (print_ucs4_real): Likewise.
26874 (grub_print_ucs4): Likewise.
26875 (grub_xputs_normal): Likewise.
26876 * term/efi/console.c (grub_console_putchar): Output diacritics.
26877 (grub_console_getcharwidth): Removed.
26878 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26879 * term/gfxterm.c (clear_char): Free chars.
26880 (scroll_up): Avoid leaking memory.
26881 (grub_gfxterm_putchar): Support diacritics.
26882 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26883 * term/i386/pc/console.c (grub_console_term_output): Declare as
26884 GRUB_TERM_CODE_TYPE_VGA.
26885 * term/i386/pc/vga.c (grub_vga_term): Declare as
26886 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26887 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26888 GRUB_TERM_CODE_TYPE_VGA.
26889 * term/i386/vga_common.c (map_char): Removed.
26890 (grub_console_putchar): Likewise.
26891 (grub_console_getcharwidth): Likewise.
26892 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26893 (colors): Reordered to match terminfo.
26894 (grub_ofconsole_normal_color): Removed.
26895 (grub_ofconsole_writeesc): Likewise.
26896 (grub_ofconsole_highlight_color): Likewise.
26897 (grub_ofconsole_getcharwidth): Likewise.
26898 (grub_ofconsole_setcolorstate): Likewise.
26899 (grub_ofconsole_setcolor): Likewise.
26900 (grub_ofconsole_getcolor): Likewise.
26901 (grub_ofconsole_readkey): Renamed to ...
26902 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26903 key.
26904 (grub_ofconsole_checkkey): Removed.
26905 (grub_ofconsole_getkey): Likewise.
26906 (grub_ofconsole_getxy): Likewise.
26907 (grub_ofconsole_gotoxy): Likewise.
26908 (grub_ofconsole_cls): Likewise.
26909 (grub_ofconsole_refresh): Likewise.
26910 (grub_ofconsole_terminfo_input): New struct.
26911 (grub_ofconsole_terminfo_output): Likewise.
26912 (grub_ofconsole_term_input): Use terminfo.
26913 (grub_ofconsole_term_output): Likewise.
26914 (grub_console_init): Split into ...
26915 (grub_console_init_early): ...this and ...
26916 (grub_console_init_lately): ...this. Use terminfo.
26917 (grub_ofconsole_putchar): Renamed to ...
26918 (put): ... this. Remove mapping.
26919 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26920 * term/serial.c: Simplify using terminfo.
26921 (xpos): Removed.
26922 (ypos): Likewise.
26923 (keep_track): Likewise.
26924 (registered): Likewise.
26925 (input_buf): Likewise.
26926 (npending): Likewise.
26927 (serial_translate_key_sequence): Likewise.
26928 (fill_input_buf): Likewise.
26929 (grub_serial_checkkey): Likewise.
26930 (grub_serial_getkey): Likewise.
26931 (grub_serial_getxy): Likewise.
26932 (grub_serial_gotoxy): Likewise.
26933 (grub_serial_putchar): Likewise.
26934 (grub_serial_cls): Likewise.
26935 (grub_serial_setcolorstate): Likewise.
26936 (grub_serial_setcursor): Likewise.
26937 (serial_hw_init): Use serial_hw_fetch.
26938 (grub_serial_terminfo_input): New variable.
26939 (grub_serial_terminfo_output): Likewise.
26940 (grub_serial_term_input): Use terminfo.
26941 (grub_serial_term_output): Likewise.
26942 * term/terminfo.c (putstr): Use put.
26943 (grub_terminfo_all_free): New function
26944 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26945 (grub_terminfo_output_register): New function.
26946 (grub_terminfo_output_unregister): Likewise.
26947 (grub_terminfo_getxy): Likewise.
26948 (grub_terminfo_readkey): Likewise.
26949 (grub_terminfo_checkkey): Likewise.
26950 (grub_terminfo_getkey): Likewise.
26951 (grub_terminfo_input_init): Likewise.
26952 (print_terminfo): Likewise.
26953 (grub_cmd_terminfo): Handle encoding.
26954 (grub_terminfo_gotoxy): Track position.
26955 (grub_terminfo_cls): Likewise.
26956 (grub_terminfo_putchar): Likewise.
26957 (grub_terminfo_setcolorstate): Handle colors
26958 (grub_terminfo_cursor_on): This ...
26959 (grub_terminfo_cursor_off): ... and this merged into ...
26960 (grub_terminfo_setcursor): ... this.
26961 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26962 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26963 * unicode/BidiMirroring.txt: Likewise.
26964 * unicode/UnicodeData.txt: Likewise.
26965 * unicode/COPYING: Likewise.
26966 * util/grub-editenv.c (grub_putchar): Removed.
26967 (grub_xputs_real): New function.
26968 (grub_xputs): New variable.
26969 * util/grub-fstest.c (grub_putchar): Removed.
26970 (grub_xputs_real): New function.
26971 (grub_xputs): New variable.
26972 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26973 (grub_xputs_real): New function.
26974 (grub_xputs): New variable.
26975 * util/grub-probe.c (grub_putchar): Removed.
26976 (grub_xputs_real): New function.
26977 (grub_xputs): New variable.
26978 * util/grub-script-check.c (grub_putchar): Removed.
26979 (grub_xputs_real): New function.
26980 (grub_xputs): New variable.
26981 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26982 (grub_xputs_real): New function.
26983 (grub_xputs): New variable.
26984 * util/import_unicode.py: New file.
26985 * util/grub-mkfont.c (ft_errmsgs): New array.
26986 (grub_glyph_info): Make bitmap a pointer.
26987 (file_formats): New type WIDTH_SPEC.
26988 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26989 (options): Add width-spec.
26990 (help): Likewise.
26991 (add_char): Renamed to ...
26992 (add_glyph): ... this.
26993 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26994 (glyph_replace): New type.
26995 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26996 (add_char): New function.
26997 (add_subst): Likewise.
26998 (process_cursive): Likewise.
26999 (add_font): Handle GSUB.
27000 (write_font_width_spec): New function.
27001 (main): Sort glyphs.
27002 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
27003 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
27004 * kern/term.c (grub_cls): Moved from here...
27005 * normal/term.c (grub_cls): ... here.
27006
27007 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27008
27009 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
27010 suitable for using within the format argument of printf when
27011 converting grub_size_t.
27012 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
27013 "x" to convert grub_size_t arguments.
27014
27015 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27016
27017 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
27018 too long captions.
27019 (list_get_minimal_size): Take selection box into account.
27020
27021 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27022
27023 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
27024 NULL font.
27025
27026 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27027
27028 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
27029 devices when iterating over /dev/disk/by-id; they will be handled
27030 later if appropriate, which they aren't always (e.g. LVM).
27031
27032 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27033
27034 * include/grub/misc.h (grub_reboot): Declare as noreturn.
27035 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
27036 fails.
27037 (grub_halt): Likewise.
27038 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
27039 reset-all fails.
27040 (grub_halt): Don't return, even if all of shut-down, power-off, and
27041 poweroff fail.
27042
27043 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27044
27045 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
27046 arguments, not three.
27047
27048 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27049
27050 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
27051 * util/grub.d/10_linux.in: Use it to check for LVM, so that
27052 LVM-on-RAID is handled correctly.
27053
27054 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27055
27056 * docs/grub.texi (Changes from GRUB Legacy): New section.
27057 (Future): Fix typo.
27058
27059 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27060
27061 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
27062 grub.d/README accidentally ends up executable for one reason or
27063 another. Ignore it.
27064
27065 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27066
27067 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
27068 (gpt_partition_map_iterate): Support non-512B sectors.
27069
27070 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27071
27072 * kern/efi/init.c (grub_efi_init): Disable watchdog.
27073 Tested by: Seth Goldberg.
27074
27075 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27076
27077 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
27078 Properly align mbi.
27079 Reported by: Seth Goldberg.
27080
27081 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27082
27083 * util/grub-mkrescue.in: Avoid module duplication.
27084
27085 2010-07-01 Sean Finney <seanius@seanius.net>
27086
27087 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
27088
27089 2010-07-01 Sean Finney <seanius@seanius.net>
27090
27091 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
27092
27093 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27094
27095 * disk/lvm.c (grub_lvm_checkvalue): New function.
27096 (grub_lvm_check_flag): Likewise.
27097
27098 2010-07-01 Robert Millan <rmh@gnu.org>
27099
27100 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
27101 Support 'p' as partition separator on kernel of FreeBSD (used
27102 with GPT labels).
27103 (grub_util_biosdisk_get_grub_dev): Likewise.
27104
27105 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27106
27107 Yeeloong firmware port.
27108
27109 * boot/mips/yeeloong/fwstart.S: New file.
27110 * bus/cs5536.c (gpiodump): New const.
27111 (set_io_space): New function.
27112 (set_iod): Likewise.
27113 (set_p2d): Likewise.
27114 (grub_cs5536_init_geode): Likewise.
27115 * commands/mips/yeeloong/lsspd.c: New file.
27116 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
27117 (serial_mod_SOURCES): New variable.
27118 (serial_mod_CFLAGS): Likewise.
27119 (serial_mod_LDFLAGS): Likewise.
27120 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
27121 term/terminfo.c and term/tparm.c.
27122 (pkglib_IMAGES): Add fwstart.img.
27123 (fwstart_img_SOURCES): New variable.
27124 (fwstart_img_CFLAGS): Likewise.
27125 (fwstart_img_ASFLAGS): Likewise.
27126 (fwstart_img_LDFLAGS): Likewise.
27127 (fwstart_img_FORMAT): Likewise.
27128 (pkglib_MODULES): Add lsspd.mod.
27129 (lsspd_mod_SOURCES): New variable.
27130 (lsspd_mod_CFLAGS): Likewise.
27131 (lsspd_mod_LDFLAGS): Likewise.
27132 (pkglib_MODULES): Add halt.mod.
27133 (halt_mod_SOURCES): New variable.
27134 (halt_mod_CFLAGS): Likewise.
27135 (halt_mod_LDFLAGS): Likewise.
27136 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27137 (serial_mod_SOURCES): Removed.
27138 (serial_mod_CFLAGS): Likewise.
27139 (serial_mod_LDFLAGS): Likewise.
27140 * disk/ata.c (check_device): New function.
27141 (grub_ata_device_initialize): Use check_device.
27142 (grub_ata_iterate): Recheck devices.
27143 (grub_ata_open): Likewise.
27144 (grub_atapi_iterate): Likewise.
27145 (grub_atapi_open): Likewise.
27146 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27147 (GRUB_ATA_CH1_PORT1): Likewise.
27148 (GRUB_ATA_CH0_PORT2): Likewise.
27149 (GRUB_ATA_CH1_PORT2): Likewise.
27150 * include/grub/mips/loongson.h: New file.
27151 * include/grub/mips/yeeloong/ec.h: Likewise.
27152 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27153 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27154 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27155 * include/grub/misc.h (grub_halt): Declare as noreturn.
27156 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27157 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27158 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27159 (UART_ENABLE_DTRRTS): Likewise.
27160 (UART_ENABLE_MODEM): Removed.
27161 (UART_ENABLE_OUT2): New const.
27162 * include/grub/term.h (grub_term_register_input_active): New function.
27163 (grub_term_register_output_active): Likewise.
27164 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27165 argument.
27166 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27167 (init_pci): New function.
27168 (grub_machine_init): Execute platform init when firmware. Init serial.
27169 (grub_halt): Implement.
27170 (grub_exit): Likewise.
27171 (grub_reboot): Likewise.
27172 * term/serial.c (serial_hw_init): Update macros.
27173 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27174 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27175 (image_targets): New target mipsel-yeeloong-flash.
27176 (generate_image): Support IMAGE_YEELOONG_FLASH.
27177 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27178 (grub_video_sm712_setup): Init card.
27179 (grub_video_sm712_set_palette): Removed.
27180 * video/sm712_init.c: New file.
27181
27182 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
27183
27184 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27185 PATH when running help2man and then run it on the unadorned
27186 executable names, rather than passing $(builddir)/* paths to
27187 help2man. This avoids the build directory ending up in generated
27188 manual pages.
27189
27190 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27191
27192 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27193 to avoid accidents when debugging with 'sh -x'.
27194 * util/grub-mkrescue.in: Likewise.
27195 * util/grub.d/00_header.in: Likewise.
27196 * util/grub.d/10_hurd.in: Likewise.
27197 * util/grub.d/10_kfreebsd.in: Likewise.
27198 * util/grub.d/10_linux.in: Likewise.
27199 * util/grub.d/10_netbsd.in: Likewise.
27200 * util/grub.d/10_windows.in: Likewise.
27201 * util/grub.d/20_linux_xen.in: Likewise.
27202 * util/grub.d/30_os-prober.in: Likewise.
27203 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27204
27205 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27206
27207 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27208 last character in the buffer.
27209 Reported by: Vladimir Serbinenko.
27210
27211 2010-06-29 Robert Millan <rmh@gnu.org>
27212
27213 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27214 (Command-line and menu entry commands): Document `badram' command.
27215
27216 2010-06-28 Robert Millan <rmh@gnu.org>
27217
27218 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27219 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27220 command using ${GRUB_BADRAM} as parameter.
27221
27222 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27223
27224 * docs/grub.texi (Device map): New section.
27225 (Themes): New section (stub).
27226 * Makefile.in (docs/grub.info): The info documentation now builds
27227 without errors. Make sure it stays that way.
27228
27229 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27230
27231 Use normal parser for menu entries.
27232 Reported by: Thomas Frauendorfer
27233
27234 * include/grub/parser.h (grub_parser_execute): Don't export.
27235 * normal/menu.c (grub_menu_execute_entry_real): New function.
27236 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27237
27238 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27239
27240 * docs/grub.texi (Embedded configuration): New section (replacing
27241 old "Preset Menu" stub).
27242 (Images): New section.
27243 (configfile): Note that any menu entries defined in `file' are shown
27244 immediately.
27245
27246 2010-06-28 Josh Triplett <josh@joshtriplett.org>
27247
27248 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27249
27250 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27251
27252 * util/grub-install.in: Add --debug-image= option.
27253
27254 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27255
27256 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27257 possible on Linux.
27258
27259 * util/deviceiter.c (check_device): Rename to ...
27260 (check_device_readable_unique): ... this. Update all callers.
27261 Maintain and check a list of which devices (by canonicalized name)
27262 have already been seen.
27263 (clear_seen_devices): New function.
27264 (compare_file_names) [__linux__]: New function.
27265 (grub_util_iterate_devices): Clear the list of seen devices on exit
27266 and (just in case) on entry.
27267 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27268 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27269 seen-devices list, superseded by general code in check_device.
27270
27271 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27272
27273 * commands/cat.c (options): New variable.
27274 (grub_cmd_cat): Parse options. If the --dos option is given, print
27275 DOS-style "\r\n" line endings as simple newlines (Debian bug
27276 #586358).
27277 (GRUB_MOD_INIT): Use extcmd.
27278 (GRUB_MOD_FINI): Likewise.
27279 * docs/grub.texi (cat): Document --dos.
27280
27281 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 XEN with Linux grub-mkconfig support.
27284
27285 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27286 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27287 GRUB_CMDLINE_XEN_DEFAULT.
27288 * util/grub.d/20_linux_xen.in: New file.
27289
27290 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27291
27292 Initialise VGA video on qemu ourselves.
27293
27294 * boot/i386/qemu/boot.S: Don't call 0xc000.
27295 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27296 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27297 (kernel_img_HEADERS): Add pci.h.
27298 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27299 * configure.ac: Force unifont on qemu and yeeloong.
27300 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27301 (grub_vga_palette_write): Use correct register.
27302 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27303 Call grub_qemu_init_cirrus.
27304 * kern/i386/qemu/init.c: New file.
27305 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27306
27307 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27308
27309 2010-06-26 Pavel Roskin <proski@gnu.org>
27310
27311 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27312 13.
27313
27314 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27315
27316 * docs/grub.texi (Simple configuration): Explain that
27317 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27318 set to `true' to disable their respective recovery entries, not
27319 merely set.
27320
27321 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27322
27323 Make the `source' command slightly faster.
27324
27325 * normal/main.c (grub_normal_execute): Don't re-read list files when
27326 nested.
27327
27328 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27329
27330 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27331 field position and mask size to red fields from mode_info, not
27332 green.
27333 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27334 Remove redundant tag->common.framebuffer_type assignment.
27335 Reported by: Seth Goldberg.
27336
27337 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27338
27339 Sync up other versions of the Linux loader with Robert Millan's
27340 change of 2010-01-09, "Make loader output a bit more user-friendly".
27341
27342 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27343 grub_dprintf().
27344 (grub_cmd_linux): Likewise.
27345 (grub_cmd_initrd): Likewise.
27346 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27347 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27348
27349 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
27350
27351 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27352 larger than MEMORY_MAP_SIZE.
27353
27354 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27355
27356 Fix parallel build.
27357
27358 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27359 dependency.
27360 * script/parser.y: #include grub_script.tab.h header.
27361
27362 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27363
27364 Support >3GiB and <16MiB RAM in i386-qemu.
27365
27366 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27367 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27368 (grub_lower_mem): Removed.
27369 (grub_upper_mem): Likewise.
27370 (mem_size): Made static.
27371 (above_4g): New variable.
27372 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27373 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27374 support.
27375
27376 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27377
27378 Cirrus 5446 and Bochs video cards support.
27379
27380 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27381 video_bochs.mod
27382 (video_cirrus_mod_SOURCES): New variable.
27383 (video_cirrus_mod_CFLAGS): Likewise.
27384 (video_cirrus_mod_LDFLAGS): Likewise.
27385 (video_bochs_mod_SOURCES): Likewise.
27386 (video_bochs_mod_CFLAGS): Likewise.
27387 (video_bochs_mod_LDFLAGS): Likewise.
27388 * include/grub/vga.h: New file.
27389 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27390 (grub_video_fb_set_page_t): New type.
27391 (grub_video_fb_setup): New prototype.
27392 (grub_video_fb_swap_buffers): Likewise.
27393 (grub_video_fb_get_info_and_fini): Likewise.
27394 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27395 (CRTC_DATA_PORT): Likewise.
27396 (CRTC_CURSOR): Likewise.
27397 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27398 (CRTC_CURSOR_ADDR_LOW): Likewise.
27399 (CRTC_CURSOR_DISABLE): Likewise.
27400 (update_cursor): Use grub_vga_cr_write.
27401 (grub_vga_text_setcursor): Likewise.
27402 * video/bochs.c: New file.
27403 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27404 (palette): Likewise.
27405 (palette_size): Likewise.
27406 (framebuffer): New variable.
27407 (grub_video_fb_init): Use 'framebuffer'.
27408 (grub_video_fb_fini): Likewise.
27409 (grub_video_fb_get_info): Likewise.
27410 (grub_video_fb_get_palette): Likewise.
27411 (grub_video_fb_set_palette): Likewise.
27412 (grub_video_fb_set_viewport): Likewise.
27413 (grub_video_fb_get_viewport): Likewise.
27414 (grub_video_fb_map_color): Likewise.
27415 (grub_video_fb_map_rgb): Likewise.
27416 (grub_video_fb_map_rgba): Likewise.
27417 (grub_video_fb_unmap_color): Likewise.
27418 (grub_video_fb_unmap_color_int): Likewise.
27419 (grub_video_fb_fill_rect): Likewise.
27420 (grub_video_fb_blit_bitmap): Likewise.
27421 (grub_video_fb_blit_render_target): Likewise.
27422 (grub_video_fb_scroll): Likewise.
27423 (grub_video_fb_create_render_target): Likewise.
27424 (grub_video_fb_doublebuf_blit_init): Likewise.
27425 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27426 (doublebuf_pageflipping_update_screen): New function.
27427 (doublebuf_pageflipping_init): Likewise.
27428 (grub_video_fb_setup): Likewise.
27429 (grub_video_fb_swap_buffers): Likewise.
27430 (grub_video_fb_get_info_and_fini): Likewise.
27431 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27432 All users updated.
27433 (doublebuf_pageflipping_commit): Restructured into ...
27434 (doublebuf_pageflipping_set_page): ... this.
27435 (doublebuf_pageflipping_update_screen): Removed.
27436 (doublebuf_pageflipping_init): Likewise.
27437 (double_buffering_init): Likewise.
27438 (grub_video_vbe_setup): Use grub_video_fb_setup.
27439 (grub_video_vbe_swap_buffers): Removed.
27440 (grub_video_vbe_set_active_render_target): Likewise.
27441 (grub_video_vbe_get_active_render_target): Likewise.
27442 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27443 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27444 grub_video_fb_set_active_render_target and
27445 grub_video_fb_get_active_render_target.
27446 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27447 (SEQUENCER_DATA_PORT): Likewise.
27448 (MAP_MASK_REGISTER): Likewise.
27449 (CRTC_ADDR_PORT): Likewise.
27450 (CRTC_DATA_PORT): Likewise.
27451 (START_ADDR_HIGH_REGISTER): Likewise.
27452 (START_ADDR_LOW_REGISTER): Likewise.
27453 (GRAPHICS_ADDR_PORT): Likewise.
27454 (GRAPHICS_DATA_PORT): Likewise.
27455 (READ_MAP_REGISTER): Likewise.
27456 (INPUT_STATUS1_REGISTER): Likewise.
27457 (INPUT_STATUS1_VERTR_BIT): Likewise.
27458 (get_map_mask): Use grub_vga_sr_read.
27459 (set_map_mask): Use grub_vga_sr_write.
27460 (set_read_map): Use grub_vga_gr_write.
27461 (set_start_address): Use grub_vga_cr_write.
27462 * video/sm712.c (framebuffer): Remove leftover fields.
27463
27464 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
27465
27466 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27467 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27468 instead. Replace the gfxterm backend check with a check that
27469 ${GRUB_PREFIX}/video.lst is non-empty.
27470 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27471 again.
27472 (load_video): New generated function. Call it before loading
27473 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27474 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27475 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27476 * docs/grub.texi (Simple configuration): Document
27477 GRUB_VIDEO_BACKEND.
27478
27479 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27480
27481 Use video functions in linux and xnu loaders.
27482
27483 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27484 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27485 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27486 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27487 loader/i386/pc/linux.c.
27488 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27489 (find_line_len): Removed.
27490 (find_framebuf): Likewise.
27491 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27492 * loader/i386/efi/xnu.c: Removed.
27493 * loader/i386/pc/xnu.c: Moved from here...
27494 * loader/i386/xnu.c: ...here.
27495
27496 Enable priorities in video drivers.
27497
27498 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27499 (grub_video_adapter): New field prio.
27500 (grub_video_register): Respect prio when inserting.
27501 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27502 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27503 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27504 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27505 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27506 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27507 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27508
27509 Fix SDL driver ID.
27510
27511 * include/grub/video.h (grub_video_driver_id_t): New value
27512 GRUB_VIDEO_DRIVER_SDL.
27513 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27514
27515 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27516
27517 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27518 argument to printf.
27519 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27520
27521 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27522
27523 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27524 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27525
27526 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27527
27528 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27529 directly, and recommend grub-install instead.
27530 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27531
27532 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27533
27534 Fix i386-pc prefix handling with nested partitions (Debian bug
27535 #585068). Note that the case where the core image is booted using
27536 multiboot and relocated from its original location still requires
27537 more work.
27538
27539 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27540 with "(,", fill the boot drive in between those two characters, but
27541 expect that a full partition specification including partition map
27542 names will follow.
27543 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27544 specified, write a prefix without the drive name but including a
27545 full partition specification.
27546
27547 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
27548
27549 * util/grub-mkconfig.in: Ignore non-option arguments, for
27550 compatibility with older versions (before 2010-06-12) which did the
27551 same. In particular, this makes it easier to ship an update-grub
27552 wrapper which is compatible with that used with GRUB Legacy (Debian
27553 bug #586056).
27554
27555 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27556
27557 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27558 for manual page generation.
27559
27560 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27561
27562 * po/POTFILES: Remove leftover commands/handler.c.
27563
27564 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27565
27566 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27567 left this script non-functional.
27568
27569 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27570
27571 * docs/man/grub-emu.h2m: New file.
27572
27573 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
27574
27575 * docs/grub.texi (Commands): Document reduced command set in rescue
27576 mode.
27577 (cpuid): New section.
27578
27579 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27580
27581 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27582 new partition naming style.
27583 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27584
27585 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27586
27587 Add "-o grub.iso" like cmdline options support.
27588
27589 * util/grub-install.in: Improve cmdline option parsing.
27590 * util/grub-mkconfig.in: Likewise.
27591 * util/grub-mkrescue.in: Likewise.
27592 * util/grub-reboot.in: Likewise.
27593 * util/grub-set-default.in: Likewise.
27594 * util/i386/efi/grub-install.in: Likewise.
27595 * util/ieee1275/grub-install.in: Likewise.
27596 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27597
27598 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27599
27600 * .bzrignore: Ignore 41_custom.
27601
27602 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27603
27604 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27605
27606 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27607
27608 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27609 prototype declarations.
27610
27611 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27612 generating fs, partmap, and video lists.
27613 * include/grub/fs.h (grub_fs_register): Omit prototype if
27614 GRUB_LST_GENERATOR is defined.
27615 * include/grub/partition.h (grub_partition_map_register): Likewise.
27616 * include/grub/video.h (grub_video_register): Likewise.
27617
27618 2010-06-12 Javier Martín <lordhabbit@gmail.com>
27619
27620 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27621
27622 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27623
27624 * util/grub-mkrescue.in: Support --xorriso argument.
27625
27626 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27627
27628 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27629 Suggested by: Thomas Schmitt.
27630
27631 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27632
27633 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27634 Suggested by: Thomas Schmitt.
27635
27636 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27637
27638 custom.cfg support.
27639
27640 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27641 * util/grub.d/41_custom.in: New file.
27642
27643 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27644
27645 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27646 been merged back into normal.
27647
27648 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27649
27650 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27651 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27652
27653 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27654
27655 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27656 when generating manual pages.
27657 * docs/man/grub-bin2h.h2m: New file.
27658 * docs/man/grub-editenv.h2m: New file.
27659 * docs/man/grub-fstest.h2m: New file.
27660 * docs/man/grub-install.h2m: New file.
27661 * docs/man/grub-macho2img.h2m: New file.
27662 * docs/man/grub-mkconfig.h2m: New file.
27663 * docs/man/grub-mkdevicemap.h2m: New file.
27664 * docs/man/grub-mkfont.h2m: New file.
27665 * docs/man/grub-mkimage.h2m: New file.
27666 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27667 * docs/man/grub-mkrelpath.h2m: New file.
27668 * docs/man/grub-mkrescue.h2m: New file.
27669 * docs/man/grub-ofpathname.h2m: New file.
27670 * docs/man/grub-pe2elf.h2m: New file.
27671 * docs/man/grub-probe.h2m: New file.
27672 * docs/man/grub-reboot.h2m: New file.
27673 * docs/man/grub-script-check.h2m: New file.
27674 * docs/man/grub-set-default.h2m: New file.
27675 * docs/man/grub-setup.h2m: New file.
27676
27677 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27678
27679 Use FOR_* macros instead of *_iterate whenever possible.
27680
27681 * commands/handler.c: Removed.
27682 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27683 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27684 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27685 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27686 (grub_probe_SOURCES): Remove kern/parser.c.
27687 (util/grub-script-check.c_DEPENDENCIES): Removed.
27688 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27689 and grub_script_check_init.c.
27690 (grub_script_check_init.lst): Removed.
27691 (grub_script_check_init.h): Likewise.
27692 (grub_script_check_init.c): Likewise.
27693 (pkglib_MODULES): Remove handler.mod and sh.mod.
27694 (handler_mod_SOURCES): Removed.
27695 (handler_mod_CFLAGS): Likewise.
27696 (handler_mod_LDFLAGS): Likewise.
27697 (normal_mod_SOURCES): Remove normal/handler.c.
27698 Add script/main.c, script/script.c, script/execute.c,
27699 script/function.c, script/lexer.c, grub_script.tab.c
27700 and grub_script.yy.c.
27701 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27702 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27703 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27704 (grub_setup_SOURCES): Remove kern/parser.c.
27705 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27706 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27707 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27708 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27709 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27710 (grub_setup_SOURCES): Remove kern/parser.c.
27711 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27712 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27713 * include/grub/command.h (grub_command_iterate): Removed.
27714 (FOR_COMMANDS): New macro.
27715 * include/grub/dl.h (grub_dl): New member next.
27716 (grub_dl_iterate): Removed.
27717 (grub_dl_head): New variable declaration.
27718 (FOR_DL_MODULES): New macro.
27719 * include/grub/fs.h: Include list.h.
27720 (grub_fs): Make next first element.
27721 (grub_fs_list): New variable declaration.
27722 (grub_fs_register): Make inline.
27723 (grub_fs_unregister): Likewise.
27724 (grub_fs_iterate): Removed.
27725 (FOR_FILESYSTEMS): New macro.
27726 * include/grub/handler.h: Removed.
27727 * include/grub/list.h (grub_list_hook_t): Removed.
27728 (grub_list_test_t): Likewise.
27729 (grub_list_pop): Likewise.
27730 (grub_list_iterate): Likewise.
27731 (grub_list_insert): Likewise.
27732 (FOR_LIST_ELEMENTS): New macro.
27733 * include/grub/parser.h (grub_parser_class): Removed.
27734 (grub_parser_register): Likewise.
27735 (grub_parser_unregister): Likewise.
27736 (grub_parser_get_current): Likewise.
27737 (grub_parser_set_current): Likewise.
27738 (grub_register_rescue_parser): Likewise.
27739 (grub_rescue_parse_line): New function.
27740 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27741 * include/grub/script_sh.h (grub_script_function_list): New variable
27742 declaration.
27743 (FOR_SCRIPT_FUNCTIONS): New macro.
27744 (grub_script_function_iterate): Removed.
27745 (grub_normal_parse_line): New prototype.
27746 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27747 (FOR_DISABLED_TERM_INPUTS): Likewise.
27748 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27749 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27750 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27751 element.
27752 (grub_video_register): Inline.
27753 (grub_video_unregister): Likewise.
27754 (grub_video_adapter_list): New variable declaration.
27755 (grub_video_iterate): Removed.
27756 (FOR_VIDEO_ADAPTERS): New macro.
27757 * kern/dl.c (grub_dl_list): Removed. All users updated.
27758 (grub_dl_iterate): Removed.
27759 * kern/fs.c (grub_fs_list): Make global.
27760 (grub_fs_register): Removed.
27761 (grub_fs_unregister): Likewise.
27762 (grub_fs_iterate): Likewise.
27763 * kern/handler.c: Removed.
27764 * kern/list.c (grub_list_pop): Removed.
27765 (grub_list_iterate): Likewise.
27766 (grub_list_insert): Likewise.
27767 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27768 (grub_prio_list_insert): Don't use grub_list_insert.
27769 * kern/main.c (grub_register_rescue_parser): Don't call
27770 grub_register_rescue_parser.
27771 * kern/parser.c (grub_parser_class): Removed.
27772 (grub_parser_execute): Use grub_rescue_parse_line.
27773 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27774 (grub_rescue_parser): Removed.
27775 (grub_register_rescue_parser): Likewise.
27776 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27777 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27778 (grub_auth_check_authentication): Likewise.
27779 * normal/completion.c (iterate_command): Removed.
27780 (grub_normal_do_completion): Use FOR_COMMANDS.
27781 * normal/handler.c: Removed.
27782 * normal/main.c (read_config_file): Remove parser changing.
27783 (grub_normal_execute): Don't call read_handler_list.
27784 (grub_normal_read_line_real): Statically allocate prompt.
27785 (grub_cmdline_run): Use grub_normal_parse_line.
27786 (GRUB_MOD_FINI): Don't call free_handler_list.
27787 * normal/menu_entry.c (run): Likewise.
27788 * script/function.c (grub_script_function_list): Make global.
27789 (grub_script_function_iterate): Removed.
27790 * script/main.c (grub_normal_parse_line): Make global.
27791 (grub_sh_parser): Removed.
27792 (GRUB_MOD_INIT): Likewise.
27793 (GRUB_MOD_FINI): Likewise.
27794 * tests/lib/functional_test.c (grub_functional_test): Use
27795 FOR_LIST_ELEMENTS.
27796 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27797 (grub_test_run): Use FOR_LIST_ELEMENTS.
27798 * tests/lib/unit_test.c (main): Likewise.
27799 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27800 grub_list_pop.
27801 * util/grub-fstest.c (grub_term_input_class): Removed.
27802 (grub_term_output_class): Likewise.
27803 * util/grub-probe.c: Likewise.
27804 * util/i386/pc/grub-setup.c: Likewise.
27805 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27806 * util/grub-script-check.c (main): Don't call grub_init_all and
27807 grub_fini_all.
27808 * video/video.c (grub_video_adapter_list): Make global.
27809 (grub_video_register): Removed.
27810 (grub_video_unregister): Likewise.
27811 (grub_video_iterate): Likewise.
27812
27813 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27814
27815 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27816 reported by Henrique Ferreiro.
27817
27818 2010-06-09 Robert Millan <rmh@gnu.org>
27819
27820 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27821 ones, when both are available.
27822
27823 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27824
27825 Make --version uniform and avoid hard-coded program name.
27826
27827 * util/grub-mkimage.c (main): Use `program_name' instead of
27828 hard-coded string.
27829 * util/i386/pc/grub-setup.c (main): Likewise.
27830 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27831 * util/grub-install.in: Save the basename of $0 in $self, and use the
27832 latter in informational messages. Use the same format for --version
27833 as the binary programs.
27834 * util/grub-mkconfig.in: Likewise.
27835 * util/grub-mkrescue.in: Likewise.
27836 * util/grub-reboot.in: Likewise.
27837 * util/grub-set-default.in: Likewise.
27838 * util/i386/efi/grub-install.in: Likewise.
27839 * util/ieee1275/grub-install.in: Likewise.
27840 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27841
27842 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27843
27844 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27845 embedding area. Use <= instead of == when checking for non-emptiness.
27846
27847 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27848
27849 * configure.ac: Add `.' to the directories searched for unifont.
27850
27851 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27852
27853 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27854 grub_script.yy.h.
27855
27856 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27857
27858 * docs/grub.texi (History): Expand to cover GRUB 2.
27859 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27860 commands, not `terminal'.
27861 (serial): Likewise.
27862 (terminal_input): New section.
27863 (terminal_output): New section.
27864 (uppermem): New section (stub).
27865 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27866
27867 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27868
27869 * docs/grub.texi (Security): Menu entries are unrestricted by
27870 default, not restricted to superusers as I had previously thought.
27871 Reword to account for this.
27872
27873 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27874
27875 * kern/emu/misc.c (device_mapper_null_log): New function.
27876 (grub_device_mapper_supported): New function.
27877 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27878 prototype.
27879 * kern/emu/hostdisk.c (find_partition_start): Check whether
27880 device-mapper is supported before trying to use it.
27881 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27882
27883 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27884
27885 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27886 (File name syntax): Likewise.
27887 (help): --all is no longer supported in GRUB 2. Be more precise
27888 about pattern matching.
27889
27890 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27891
27892 * normal/completion.c (grub_normal_do_completion): When completing
27893 arguments to "set" and the current word contains an equals sign,
27894 skip to after the equals sign before starting completion.
27895
27896 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27897
27898 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27899
27900 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27901
27902 * docs/grub.texi (Network): New section.
27903 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27904 `(nd)' as in GRUB Legacy.
27905 (pxe_unload): New section.
27906
27907 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27908
27909 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27910 in the rescue shell, so recommend using `set' instead. Thanks,
27911 Jordan Uggla.
27912
27913 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27914
27915 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27916 (password): New section.
27917 (password_pbkdf2): New section.
27918 (search): New section.
27919 (Security): New section.
27920 (Troubleshooting): New section, currently very incomplete.
27921 (Invoking grub-mkpasswd-pbkdf2): New section.
27922 (Internals): New section, currently very incomplete.
27923
27924 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27925
27926 * util/grub.d/00_header.in: Add some more quoting (of
27927 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27928 work again.
27929 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27930
27931 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27932
27933 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27934 to `count', fixing variable shadowing that broke the -c option.
27935
27936 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
27937
27938 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27939 in case they contain spaces.
27940
27941 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27942
27943 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27944 "part_" to partmap module names, in line with grub-install.
27945 Reported by: Jindřich Makovička (Debian bug #584426).
27946
27947 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27948
27949 * util/grub-mkimage.c: Make target-related error messages slightly
27950 more helpful; -O talks about "format". Explicitly point to the use
27951 of -O if no target is specified.
27952 Reported by: Didier Raboud (Debian bug #584415).
27953
27954 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
27955
27956 * INSTALL: Document several build requirements for optional features
27957 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27958
27959 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27960
27961 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27962 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27963 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27964
27965 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27966
27967 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27968 Thanks to Jordan Uggla for spotting this.
27969
27970 2010-06-02 Aleš Nesrsta <starous@volny.cz>
27971
27972 Finally make USB usable.
27973
27974 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27975 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27976 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27977 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27978 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27979 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27980 (GRUB_OHCI_FSMPS): Likewise.
27981 (GRUB_OHCI_PERIODIC_START): Likewise.
27982 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27983 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27984 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27985 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27986 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27987 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27988 (grub_ohci_transaction): Likewise.
27989 (grub_ohci_transfer): Improve condition detection algorithms.
27990 Handle toggle property. Program the transactions correctly.
27991 Improve error handling. Various important fixups.
27992 (grub_ohci_portstatus): Put register writes in right order.
27993 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27994 (grub_uhci_transfer): Don't show "failed" message on success.
27995 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27996 array.
27997 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27998 determine its size.
27999 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
28000 before initialization is completed. Use IN direction for empty
28001 transfers. Use last_trans and compute toggle.
28002 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
28003 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
28004 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
28005 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
28006 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
28007 (grub_usb_device): Increase toggle to 256.
28008 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
28009 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
28010 GRUB_USBMS_SUBCLASS_SFF8070.
28011 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
28012 (grub_scsi_inquiry): New member page and alloc_length.
28013 (grub_scsi_request_sense): New structure.
28014 (grub_scsi_request_sense_data): Likewise.
28015 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
28016 control.
28017 * disk/scsi.c (grub_scsi_request_sense): New function.
28018 (grub_scsi_test_unit_ready): Likewise.
28019 (grub_scsi_inquiry): Fill new fields.
28020 (grub_scsi_read_capacity): Likewise.
28021 (grub_scsi_read10): Add request sense at the end.
28022 (grub_scsi_read12): Likewise.
28023 (grub_scsi_write10): Likewise.
28024 (grub_scsi_write12): Likewise.
28025 (grub_scsi_open): Add Test Unit Ready.
28026 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
28027 Support additional subclasses. Con't clear halt yet. Activate the
28028 proper config. Calculate LUNs correctly.
28029 (grub_usbms_transfer): Various important fixups.
28030
28031 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28032
28033 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
28034 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
28035 (grub_ohci_fini_hw): New function.
28036 (grub_ohci_restore_hw): Likewise.
28037 (GRUB_MOD_INIT(ohci)): Register preboot hook.
28038 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
28039 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
28040
28041 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28042
28043 Dedicated DMA allocations.
28044
28045 * bus/pci.c (grub_memalign_dma32): New function
28046 (grub_dma_free): Likewise.
28047 (grub_dma_get_virt): Likewise.
28048 (grub_dma_get_phys): Likewise.
28049 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
28050 (grub_ohci_pci_iter): Use dma32_alloc.
28051 (grub_ohci_transfer): Likewise.
28052 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
28053 (grub_usb_bulk_readwrite): Likewise.
28054 * include/grub/pci.h: Add declarations.
28055
28056 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28057
28058 CS5536 support.
28059
28060 * bus/cs5536.c: New file.
28061 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
28062 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
28063 (cs5536_mod_SOURCES): New variable.
28064 (cs5536_mod_CFLAGS): Likewise.
28065 (cs5536_mod_LDFLAGS): Likewise.
28066 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
28067 machine/pci.h.
28068 (kernel_img_SOURCES): Add bus/cs5536.c.
28069 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
28070 usb_keyboard.mod.
28071 (usb_mod_SOURCES): New variable.
28072 (usb_mod_CFLAGS): New variable.
28073 (usb_mod_LDFLAGS): New variable.
28074 (usbtest_mod_SOURCES): New variable.
28075 (usbtest_mod_CFLAGS): New variable.
28076 (usbtest_mod_LDFLAGS): New variable.
28077 (ohci_mod_SOURCES): New variable.
28078 (ohci_mod_CFLAGS): New variable.
28079 (ohci_mod_LDFLAGS): New variable.
28080 (usbms_mod_SOURCES): New variable.
28081 (usbms_mod_CFLAGS): New variable.
28082 (usbms_mod_LDFLAGS): New variable.
28083 (usb_keyboard_mod_SOURCES): New variable.
28084 (usb_keyboard_mod_CFLAGS): New variable.
28085 (usb_keyboard_mod_LDFLAGS): New variable.
28086 * include/grub/smbus.h: New file.
28087 * include/grub/cs5536.h: New file.
28088
28089 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28090
28091 * util/grub.d/00_header.in: Add safety check to make sure that
28092 ${locale_dir} exists before trying to probe it.
28093
28094 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28095
28096 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
28097 per the GNU Coding Standards; this is now too obscure to be worth
28098 documenting.
28099 (QNX): Likewise.
28100 (chainloader): Remove cross-reference to `SCO UnixWare'.
28101
28102 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28103
28104 * docs/grub.texi (Chain-loading): New section.
28105 (DOS/Windows): New section, borrowed from GRUB Legacy with details
28106 adjusted for GRUB 2.
28107 (SCO UnixWare): Likewise.
28108 (QNX): Likewise.
28109 (chainloader): Add reference to `Block list syntax'.
28110 (drivemap): New section.
28111 (parttool): New section.
28112
28113 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28114
28115 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
28116 the grub shell'.
28117 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
28118 (Installing GRUB using grub-install): Remove reference to the grub
28119 shell; mention `grub-mkimage' and `grub-setup' instead.
28120 (Invoking grub-install): Likewise.
28121 (Interface): Add reference to `Menu entry editor'.
28122 (serial): Remove `--device' option.
28123
28124 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28125
28126 * docs/grub.texi (Configuration): New section, documenting
28127 configuration file generation using grub-mkconfig. I've left a slot
28128 for documenting the full shell scripting format but have not yet
28129 started on writing that up.
28130 (Invoking grub-mkconfig): New section.
28131
28132 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28133
28134 * docs/grub.texi (direntry): Remove grub-terminfo reference.
28135 (GNU GRUB manual): Likewise.
28136 (General commands): Update description of `terminfo' for GRUB 2.
28137
28138 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28139
28140 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28141 (GRUB_MOD_INIT): Fix capitalisation.
28142 * docs/grub.texi (Command-line and menu entry commands): Document
28143 gettext and gptsync commands.
28144
28145 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28146
28147 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28148 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28149
28150 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
28151
28152 Add btrfs probing support, currently only in the single-device case.
28153
28154 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28155 function.
28156 (grub_guess_root_device): Call find_root_device_from_mountinfo
28157 before looking in /dev.
28158
28159 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28160
28161 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28162 GRUB_DISK_SIZE_UNKNOWN.
28163 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28164
28165 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
28166
28167 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28168 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28169 corrupted or not synced properly.
28170
28171 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28172
28173 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28174 Reported by: Seth Goldberg.
28175
28176 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28177
28178 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28179 addition of dest.
28180 Reported by: Seth Goldberg.
28181
28182 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28183
28184 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28185 Reported by: Seth Goldberg.
28186
28187 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28188
28189 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28190 64-bit address as signed on MIPS.
28191
28192 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28193
28194 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28195 to the empty string.
28196
28197 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28198
28199 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28200
28201 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28202 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28203 * kern/misc.c (__enable_execute_stack): Disable on
28204 GRUB_MACHINE_EMU.
28205
28206 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28207
28208 Make grub-probe work with symbolic links under /dev/mapper as well
28209 as with real block devices. The Linux world seems to be (at best)
28210 in transition here, and GRUB shouldn't get caught in the middle.
28211
28212 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28213 /dev/mapper.
28214
28215 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28216
28217 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28218 input files (in which case exit zero).
28219
28220 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28221
28222 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28223 return NULL for various reasons even if it has a maximum-length
28224 buffer: for example, there might be a symlink loop, or the path
28225 might exceed PATH_MAX. If this happens, return NULL.
28226
28227 2010-05-27 Robert Millan <rmh@gnu.org>
28228
28229 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28230 partmap module to handle cross-partmap setups.
28231 Reported by Orestes Mas. Gràcies!
28232
28233 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28234
28235 * util/grub-mkrescue.in: Initialise override_dir rather than
28236 assuming that it's unset or empty in the environment.
28237
28238 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28239
28240 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28241 variable index into p_index to suppress a warning with -Wshadow.
28242
28243 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28244
28245 * INSTALL: Added flex >= 2.5.35 requirement.
28246
28247 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28248
28249 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28250
28251 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28252
28253 cmostest support.
28254
28255 * commands/i386/cmostest.c: New file.
28256 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28257 (cmostest_mod_SOURCES): New variable.
28258 (cmostest_mod_CFLAGS): Likewise.
28259 (cmostest_mod_LDFLAGS): Likewise.
28260 * conf/i386-pc.rmk: Likewise.
28261 * docs/grub.texi (Vendor power-on keys): New section.
28262 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28263 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28264 and GRUB_BUTTON_CMOS_ADDRESS.
28265 * util/grub.d/00_header.in: Handle powering-on by separate button.
28266
28267 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28268
28269 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28270 Removed drawing_scrollbar argument. All users updated
28271 Fixes #29792.
28272 Reported by Jo Shields
28273
28274 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28275
28276 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28277 buffer since gfxterm handles double repaint.
28278
28279 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28280
28281 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28282 * term/gfxterm.c (real_scroll): Likewise.
28283
28284 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28285
28286 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28287 before calling BIOS.
28288
28289 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28290
28291 * include/grub/i18n.h: Always enable grub_gettext.
28292
28293 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28294
28295 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28296 partition naming style.
28297
28298 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
28299
28300 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28301 not the first option.
28302
28303 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28304
28305 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28306
28307 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28308
28309 * util/misc.c: Move inclusion of <limits.h> to ...
28310 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28311
28312 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28313
28314 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28315 Fix merge error in NetBSD code.
28316 (find_partition_start) [__NetBSD__]: Likewise.
28317
28318 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28319
28320 Fix grub-mkrescue usage unit testing.
28321
28322 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28323
28324 2010-05-18 Christian Franke <franke@computer.org>
28325
28326 * util/grub.d/10_windows.in: Use path names instead of
28327 drive letters to prevent warning from Cygwin 1.7.
28328 Add drivemap command to menuentry if needed.
28329
28330 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28331
28332 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28333 gnumach and gnumach.gz.
28334
28335 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28336
28337 * include/grub/i18n.h (gettext): Inline instead of using #define.
28338 (grub_gettext): Likewise.
28339 (_): Likewise.
28340
28341 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28342
28343 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28344 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28345 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28346 (main): Add a slash after pkglibdirroot.
28347
28348 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28349
28350 * util/grub-install.in: Add missing "in" keyword.
28351
28352 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28353
28354 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28355 Reported by: Seth Goldberg.
28356
28357 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28358
28359 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28360
28361 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28362
28363 * configure.ac: Check for Linux device-mapper support.
28364
28365 * util/hostdisk.c (device_is_mapped): New function.
28366 (find_partition_start): New function, partly broken out from
28367 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28368 device-mapper support added.
28369 (linux_find_partition): Use find_partition_start.
28370 (convert_system_partition_to_system_disk): Add `st' argument.
28371 Support Linux /dev/mapper/* devices if device-mapper support is
28372 available; only DM-RAID devices are understood at present.
28373 (find_system_device): Add `st' argument. Pass it to
28374 convert_system_partition_to_system_disk.
28375 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28376 find_system_device and convert_system_partition_to_system_disk. Use
28377 find_partition_start.
28378
28379 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28380 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28381 * util/deviceiter.c [__linux__]: Define MINOR.
28382 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28383 * util/mkdevicemap.c (grub_putchar): New function.
28384 (grub_getkey): New function.
28385 (grub_refresh): New function.
28386 (main): Set debug=all if -v -v is used.
28387
28388 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28389
28390 Fix build with non-GNU libcs.
28391
28392 * util/misc.c (canonicalize_file_name): Move to ...
28393 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28394 grub_make_system_path_relative_to_its_root.
28395
28396 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28397
28398 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28399 we handle finding grub-mkimage. Default to finding grub-mkimage in
28400 ${bindir} with program_transform_name applied, and provide a
28401 --grub-mkimage option to override this.
28402
28403 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28404
28405 Remove grub-mkisofs.
28406
28407 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28408 (grub_mkisofs_SOURCES): Removed.
28409 (grub_mkisofs_CFLAGS): Removed.
28410 * util/mkisofs/defaults.h: Removed.
28411 * util/mkisofs/eltorito.c: Likewise.
28412 * util/mkisofs/exclude.h: Likewise.
28413 * util/mkisofs/hash.c: Likewise.
28414 * util/mkisofs/include/: Likewise.
28415 * util/mkisofs/include/fctldefs.h: Likewise.
28416 * util/mkisofs/include/mconfig.h: Likewise.
28417 * util/mkisofs/include/prototyp.h: Likewise.
28418 * util/mkisofs/include/statdefs.h: Likewise.
28419 * util/mkisofs/iso9660.h: Likewise.
28420 * util/mkisofs/joliet.c: Likewise.
28421 * util/mkisofs/match.c: Likewise.
28422 * util/mkisofs/match.h: Likewise.
28423 * util/mkisofs/mkisofs.c: Likewise.
28424 * util/mkisofs/mkisofs.h: Likewise.
28425 * util/mkisofs/msdos_partition.h: Likewise.
28426 * util/mkisofs/multi.c: Likewise.
28427 * util/mkisofs/name.c: Likewise.
28428 * util/mkisofs/rock.c: Likewise.
28429 * util/mkisofs/tree.c: Likewise.
28430 * util/mkisofs/write.c: Likewise.
28431
28432 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28433
28434 Unify grub-mkimage accross platforms.
28435
28436 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28437 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28438 (grub_mkelfimage_SOURCES): Removed.
28439 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28440 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28441 (bin_UTILITIES): Add grub-mkimage.
28442 (grub_mkimage_SOURCES): New variable.
28443 (kernel_img_HEADERS): Remove machine/kernel.h.
28444 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28445 (pkglib_PROGRAMS): Add kernel.img.
28446 (kernel_img_HEADERS): Add machine/kernel.h.
28447 (kernel_img_FORMAT): Removed.
28448 (bin_UTILITIES): Remove grub-mkimage.
28449 (grub_mkimage_SOURCES): Removed.
28450 (grub_mkimage_CFLAGS): Likewise.
28451 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28452 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28453 (pkglib_PROGRAMS): Add kernel.img.
28454 (bin_UTILITIES): Remove grub-mkimage.
28455 (grub_mkimage_SOURCES): Removed.
28456 (grub_mkimage_CFLAGS): Likewise.
28457 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28458 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28459 (pkglib_PROGRAMS): Add kernel.img.
28460 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28461 (pkglib_PROGRAMS): Add kernel.img.
28462 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28463 (grub_mkimage_SOURCES): Removed.
28464 (grub_mkimage_CFLAGS): Likewise.
28465 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28466 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28467 (pkglib_PROGRAMS): Add kernel.img.
28468 (bin_UTILITIES): Remove grub-mkimage.
28469 (grub_mkimage_SOURCES): Removed.
28470 (grub_mkimage_CFLAGS): Likewise.
28471 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28472 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28473 (grub_mkimage_SOURCES): Removed.
28474 (grub_mkimage_CFLAGS): Likewise.
28475 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28476 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28477 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28478 (grub_pe32_optional_header): ... this.
28479 (grub_pe64_optional_header): ... and this. All users updated.
28480 (GRUB_PE32_PE32_MAGIC): Split into ..
28481 (GRUB_PE32_PE32_MAGIC): .. this.
28482 (GRUB_PE32_PE64_MAGIC): .. and this.
28483 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28484 * include/grub/elf.h (PT_GNU_STACK): New definition.
28485 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28486 * include/grub/i386/efi/kernel.h: Likewise.
28487 * include/grub/i386/kernel.h: Likewise.
28488 * include/grub/i386/pc/kernel.h: Likewise.
28489 * include/grub/i386/qemu/boot.h: Likewise.
28490 * include/grub/mips/kernel.h: Likewise.
28491 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28492 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28493 * include/grub/powerpc/kernel.h: Likewise.
28494 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28495 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28496 * include/grub/sparc64/kernel.h: Likewise.
28497 * include/grub/x86_64/efi/kernel.h: Likewise.
28498 * include/grub/x86_64/kernel.h: Likewise.
28499 * include/grub/offsets.h: New file.
28500 * include/grub/kernel.h (grub_module_info): Split into ...
28501 (grub_module_info32): ... this.
28502 (grub_module_info64): ... and this.
28503 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28504 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28505 (grub_boot_blocklist): Moved from here ...
28506 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28507 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28508 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28509 * include/grub/types.h (grub_target_to_host16): Removed.
28510 (grub_target_to_host32): Likewise.
28511 (grub_target_to_host64): Likewise.
28512 (grub_host_to_target16): Likewise.
28513 (grub_host_to_target32): Likewise.
28514 (grub_host_to_target64): Likewise.
28515 (grub_host_to_target_addr): Likewise.
28516
28517 Support grub-mkrescue for efi, coreboot and qemu.
28518
28519 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28520 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28521 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28522 * util/grub-mkrawimage.c: Moved from here ...
28523 * util/grub-mkimage.c: ... here. All users updated.
28524 (ALIGN_ADDR): Use image_target.
28525 (TARGET_NO_FIELD): New const.
28526 (image_target_desc): New type.
28527 (image_targets): New array.
28528 (grub_target_to_host64): Use image_target.
28529 (grub_target_to_host32): Likewise.
28530 (grub_target_to_host16): Likewise.
28531 (grub_host_to_target64): Likewise.
28532 (grub_host_to_target32): Likewise.
28533 (grub_host_to_target16): Likewise.
28534 (grub_host_to_target_addr): Likewise.
28535 (generate_image): Handle multiimage.
28536 (main): Require -O parameter. All users updated.
28537 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28538 util/efi/grub-mkimage.c
28539 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28540 New option --rom-directory.
28541 Use xorriso.
28542 * util/i386/efi/grub-mkimage.c: Removed.
28543 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28544 (grub_target_to_host32): Likewise.
28545 (grub_target_to_host64): Likewise.
28546 (grub_host_to_target16): Likewise.
28547 (grub_host_to_target32): Likewise.
28548 (grub_host_to_target64): Likewise.
28549 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28550 (grub_target_to_host32): Likewise.
28551 (grub_target_to_host64): Likewise.
28552 (grub_host_to_target16): Likewise.
28553 (grub_host_to_target32): Likewise.
28554 (grub_host_to_target64): Likewise.
28555
28556 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28557
28558 Source tree is reorganized for emu build.
28559
28560 * include/grub/util/console.h: Move from here...
28561 * include/grub/emu/console.h: ...to here.
28562 * include/grub/util/getroot.h: Move from here...
28563 * include/grub/emu/getroot.h: ...to here.
28564 * include/grub/util/hostdisk.h: Move from here...
28565 * include/grub/emu/hostdisk.h: ...to here.
28566 * util/console.c: Move from here...
28567 * kern/emu/console.c: ...to here.
28568 * util/getroot.c: Move from here...
28569 * kern/emu/getroot.c: ...to here.
28570 * util/grub-emu.c: Move from here...
28571 * kern/emu/main.c: ...to here.
28572 * util/hostdisk.c: Move from here...
28573 * kern/emu/hostdisk.c: ...to here.
28574 * util/hostfs.c: Move from here...
28575 * kern/emu/hostfs.c: ...to here.
28576 * util/mm.c: Move from here...
28577 * kern/emu/mm.c: ...to here.
28578 * util/pci.c: Move from here...
28579 * bus/emu/pci.c: ...to here.
28580 * util/sdl.c: Move from here...
28581 * video/emu/sdl.c: ...to here.
28582 * util/time.c: Move from here...
28583 * kern/emu/time.c: ...to here.
28584 * util/usb.c: Move from here...
28585 * bus/usb/emu/usb.c: ...to here.
28586
28587 * include/grub/emu/misc.h: New header for grub-emu functions.
28588 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28589
28590 * conf/any-emu.rmk: Rule updates for above renames.
28591 * conf/common.rmk: Likewise.
28592 * conf/i386-pc.rmk: Likewise.
28593 * conf/i386-qemu.rmk: Likewise.
28594 * conf/mips.rmk: Likewise.
28595 * conf/sparc64-ieee1275.rmk: Likewise.
28596 * conf/x86-efi.rmk: Likewise.
28597
28598 * disk/lvm.h: #include updates for above renames.
28599 * util/grub-mkrelpath.c: Likewise.
28600 * util/grub-probe.c: Likewise.
28601 * util/i386/pc/grub-setup.c: Likewise.
28602 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28603 * kern/emu/console.c: Likewise.
28604 * kern/emu/getroot.c: Likewise.
28605 * kern/emu/hostdisk.c: Likewise.
28606 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28607
28608 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28609 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28610 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28611 * util/misc.c: Remove grub-emu functions.
28612
28613 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28614
28615 Fix gfxmenu crash.
28616 Reported by: Thorsten Grützmacher.
28617
28618 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28619 timeout hook.
28620 (circprog_set_property): Register and unregister timeout hook.
28621 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28622 (label_destroy): Free template. and unregister hook.
28623 (label_set_state): New function.
28624 (label_set_property): Handle templates and hooks.
28625 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28626 timeout hook.
28627 (progress_bar_set_property): Register and unregister timeout hook.
28628 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28629 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28630 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28631 (update_timeout_visit): Removed.
28632 (update_timeouts): New function.
28633 (redraw_timeouts): Likewise.
28634 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28635 (grub_gfxmenu_clear_timeout): Likewise.
28636 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28637 (grub_gfxmenu_timeout_notify): Likewise.
28638 (grub_gfxmenu_timeout_notifications): New external variable.
28639 (grub_gfxmenu_timeout_register): New function.
28640 (grub_gfxmenu_timeout_unregister): Likewise.
28641
28642 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28643
28644 Transform (broken) vga terminal into (working) vga video driver.
28645
28646 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28647 video/i386/pc/vga.c.
28648 * include/grub/video.h (grub_video_driver_id):
28649 Add GRUB_VIDEO_DRIVER_VGA.
28650 * term/i386/pc/vga.c: Renamed to ...
28651 * video/i386/pc/vga.c: ...this
28652 (DEBUG_VGA): Removed.
28653 (CHAR_WIDTH): Likewise.
28654 (CHAR_HEIGHT): Likewise.
28655 (TEXT_WIDTH): Likewise.
28656 (TEXT_HEIGHT): Likewise.
28657 (DEFAULT_FG_COLOR): Likewise.
28658 (DEFAULT_BG_COLOR): Likewise.
28659 (colored_char): Likewise.
28660 (xpos): Likewise.
28661 (ypos): Likewise.
28662 (cursor_state): Likewise.
28663 (fg_color): Likewise.
28664 (bg_color): Likewise.
28665 (text_buf): Likewise.
28666 (page): Likewise.
28667 (font): Likewise.
28668 (framebuffer): New variable.
28669 (set_read_map): Disabled.
28670 (setup): New variable.
28671 (is_target): Likewise.
28672 (grub_vga_mod_init): Likewise.
28673 (grub_vga_mod_fini): Likewise.
28674 (check_vga_mem): Likewise.
28675 (write_char): Likewise.
28676 (write_cursor): Likewise.
28677 (scroll_up): Likewise.
28678 (grub_vga_putchar): Likewise.
28679 (grub_vga_getcharwidth): Likewise.
28680 (grub_vga_getwh): Likewise.
28681 (grub_vga_getxy): Likewise.
28682 (grub_vga_gotoxy): Likewise.
28683 (grub_vga_cls): Likewise.
28684 (grub_vga_setcolorstate): Likewise.
28685 (grub_vga_setcursor): Likewise.
28686 (grub_video_vga_init): New function.
28687 (grub_video_vga_setup): Likewise.
28688 (grub_video_vga_fini): Likewise.
28689 (update_target): Likewise.
28690 (grub_video_vga_blit_bitmap): Likewise.
28691 (grub_video_vga_blit_render_target): Likewise.
28692 (grub_video_vga_set_active_render_target): Likewise.
28693 (grub_video_vga_get_active_render_target): Likewise.
28694 (grub_video_vga_swap_buffers): Likewise.
28695 (grub_video_vga_set_palette): Likewise.
28696 (grub_video_vga_get_info_and_fini): Likewise.
28697 (grub_vga_term): Removed.
28698 (grub_video_vga_adapter): New variable.
28699 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28700 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28701
28702 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28703
28704 * video/readers/jpeg.c: Indented.
28705
28706 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28707
28708 Various jpeg cleanups.
28709
28710 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28711 (grub_jpeg_decode_quan_table): Use sizeof.
28712 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28713
28714 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
28715
28716 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28717 tables. Ignore non-last ac bit.
28718 (grub_jpeg_decode_quan_table): Likewise.
28719
28720 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28721
28722 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28723 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28724 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28725 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28726 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28727 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28728
28729 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28730
28731 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28732 error.
28733
28734 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28735
28736 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28737
28738 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28739
28740 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28741 condition.
28742
28743 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28744
28745 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28746 part.
28747
28748 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28749
28750 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28751 pointers.
28752
28753 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28754
28755 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28756
28757 2010-05-01 Christian Franke <franke@computer.org>
28758
28759 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28760 Remove broken Cygwin path conversion.
28761 * util/misc.c: [__CYGWIN__] Add include and define.
28762 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28763 for Cygwin 1.7.
28764 (make_system_path_relative_to_its_root): Simplify loop, replace early
28765 return by break.
28766 [__CYGWIN__] Add conversion to win32 path.
28767 Include "/" case in trailing slash removal.
28768
28769 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28770
28771 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28772 Reported by: Seth Goldberg
28773
28774 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28775
28776 * commands/help.c (grub_cmd_help): Fix a typo.
28777 Reported by: Seth Goldberg
28778
28779 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28780
28781 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28782 name and add N_.
28783 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28784 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28785 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28786 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28787 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28788 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28789 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28790 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28791 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28792 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28793 * normal/context.c (GRUB_MOD_INIT): Likewise.
28794 * normal/main.c (GRUB_MOD_INIT): Likewise.
28795 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28796 * term/serial.c (GRUB_MOD_INIT): Likewise.
28797 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28798
28799 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28800
28801 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28802 extra == 0.
28803
28804 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28805
28806 * commands/iorw.c: New file.
28807 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28808 (iorw_mod_SOURCES): New variable.
28809 (iorw_mod_CFLAGS): Likewise.
28810 (iorw_mod_LDFLAGS): Likewise.
28811
28812 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28813
28814 Hotkey support
28815
28816 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28817 * normal/main.c (hotkey_aliases): New variable.
28818 (grub_normal_add_menu_entry): Parse "--hotkey".
28819 * normal/menu_text.c (run_menu): Handle hotkeys.
28820
28821 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28822
28823 * kern/i386/coreboot/init.c (grub_machine_init): Call
28824 grub_machine_mmap_init on qemu.
28825
28826 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28827
28828 * boot/i386/qemu/boot.S: Add a missing .code16.
28829
28830 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28831
28832 Use LBIO on coreboot.
28833
28834 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28835 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28836 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28837 New declaration.
28838 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28839 grub_machine_mmap_init on coreboot.
28840 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28841 GRUB_LINUXBIOS_MEMBER_LINK.
28842 (grub_machine_mmap_iterate): Fix declaration.
28843 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28844
28845 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28846
28847 Split coreboot and multiboot ports.
28848
28849 * conf/i386-multiboot.rmk: New file.
28850 * configure.ac: Add multiboot port.
28851 * include/grub/i386/multiboot/boot.h: New file.
28852 * include/grub/i386/multiboot/console.h: Likewise.
28853 * include/grub/i386/multiboot/init.h: Likewise.
28854 * include/grub/i386/multiboot/kernel.h: Likewise.
28855 * include/grub/i386/multiboot/loader.h: Likewise.
28856 * include/grub/i386/multiboot/memory.h: Likewise.
28857 * include/grub/i386/multiboot/serial.h: Likewise.
28858 * include/grub/i386/multiboot/time.h: Likewise.
28859 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28860 * loader/multiboot.c: Likewise.
28861 * loader/multiboot_mbi2.c: Likewise.
28862 * util/grub-mkrescue.in: Generate multiboot rescue.
28863
28864 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28865
28866 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28867
28868 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28869
28870 Merge handling of input and output terminals. Fix a hang.
28871
28872 * commands/terminal.c (abstract_terminal): New struct.
28873 (handle_command): New function. Based on grub_cmd_terminal_input.
28874 (grub_cmd_terminal_input): Use handle_command.
28875 (grub_cmd_terminal_output): Use handle_command.
28876
28877 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28878
28879 Fix comment handling.
28880
28881 * tests/grub_script_comments.in: New testcase.
28882 * conf/tests.rmk: Rules for new testcase.
28883 * script/yylex.l: Updated flex rules.
28884
28885 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28886
28887 * docs/grub.texi (play): Document that zero pitches produce rests.
28888 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28889 if argc is 1.
28890
28891 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28892
28893 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28894 autogen issues.
28895
28896 2010-04-26 Christian Franke <franke@computer.org>
28897
28898 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28899 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28900 (grub_get_prefix): Remove function.
28901 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28902 make_system_path_relative_to_its_root ().
28903 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28904
28905 2010-04-24 Christian Franke <franke@computer.org>
28906
28907 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28908 (kernel_img_LDFLAGS): Remove -static-libgcc.
28909
28910 2010-04-24 Christian Franke <franke@computer.org>
28911
28912 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28913 and CHECK_END_SYMBOL if grub-emu is built.
28914 Unset TARGET_OBJ2ELF if grub-emu is built
28915 without module support.
28916
28917 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
28918
28919 Nilfs2 support.
28920
28921 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28922 (grub_fstest_SOURCES): Likewise.
28923 (pkglib_MODULES): Add nilfs2.mod.
28924 (nilfs2_mod_SOURCES): New variable.
28925 (nilfs2_mod_CFLAGS): Likewise.
28926 (nilfs2_mod_LDFLAGS): Likewise.
28927 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28928 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28929 * fs/nilfs2.c: New file.
28930
28931 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28932
28933 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28934 is not supported.
28935
28936 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28937
28938 Add grub-mkconfig support for NetBSD.
28939
28940 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28941 * util/grub-mkconfig.in: export new NetBSD specific variables.
28942 * po/POTFILES-shell: added 10_netbsd.in.
28943 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28944
28945 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28946
28947 Fix emu build with grub-emu-pci and grub-emu-modules.
28948
28949 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28950 functions.
28951 * include/grub/libpciaccess.h: New file.
28952 * conf/any-emu.rmk: Update kernel headers for emu build.
28953
28954 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28955
28956 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28957
28958 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28959
28960 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28961
28962 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28963
28964 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28965 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28966 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28967 util/ieee1275/ofpath.c.
28968 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28969 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28970 * include/grub/sparc64/ieee1275/boot.h
28971 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28972 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28973 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28974 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28975 const char *.
28976 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28977 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28978 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28979 install.
28980
28981 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28982
28983 * util/grub-mkconfig.in: Corrected two == equality tests.
28984 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28985 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28986 expect a number appended to it.
28987 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28988 expects a number appended to it.
28989
28990 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28991
28992 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28993
28994 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28995
28996 * util/hostdisk.c (make_device_name): Change to new partition naming.
28997
28998 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28999
29000 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
29001
29002 2010-04-17 Christian Franke <franke@computer.org>
29003
29004 * Makefile.in: Add missing localedir setting.
29005
29006 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
29007
29008 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
29009 mistake in r2156. Noticed by Anthony Fok.
29010
29011 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
29012 @localedir@.
29013 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29014
29015 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
29016
29017 Fix a spurious, uninitialized variable warning.
29018
29019 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
29020 Initialize variable, shdr.
29021 (grub_freebsd_load_elfmodule): Likewise.
29022 (grub_freebsd_load_elf_meta): Likewise.
29023
29024 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
29025
29026 Fix for escaped dollar in double quoted strings.
29027
29028 * script/yylex.l: Updated flex rules.
29029 * conf/tests.rmk: Rule for new testcase.
29030 * tests/grub_script_dollar.in: New testcase.
29031
29032 2010-04-13 Carles Pina i Estany <carles@pina.cat>
29033 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
29034
29035 Enclose all translated strings in grub.cfg in single quotes, and
29036 escape them appropriately (Ubuntu bug #552921).
29037
29038 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
29039 * util/grub.d/10_hurd.in: Use it.
29040 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29041 * util/grub.d/10_linux.in (linux_entry): Likewise.
29042
29043 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29044
29045 Fix cygwin compilation.
29046
29047 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
29048 * include/grub/misc.h (__register_frame_info)
29049 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
29050 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29051 * kern/misc.c (__register_frame_info)
29052 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
29053 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29054
29055 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29056
29057 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
29058
29059 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29060
29061 Unify libgcc processing.
29062
29063 * Makefile.in (kernel_img_LDFLAGS): New variable.
29064 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
29065 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
29066 overwriting.
29067 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
29068 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
29069 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
29070 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
29071 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
29072 overwriting. Remove -lgcc and -static-libgcc
29073 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
29074 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29075 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29076 (kernel_img_LDFLAGS): Append instead of overwriting.
29077 Remove -lgcc and -static-libgcc
29078 * conf/sparc64-ieee1275.rmk: Likewise.
29079 * include/grub/powerpc/libgcc.h: Move to ...
29080 * include/grub/libgcc.h: .. this.
29081 * include/grub/libgcc.h: Don't export most of the function on x86.
29082 (__bswapsi2): New export.
29083 (__bswapdi2): Likewise.
29084 * include/grub/mips/libgcc.h: Removed.
29085 * include/grub/sparc64/libgcc.h: Likewise.
29086
29087 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29088
29089 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
29090 disk_info_msg (conflicts with gettexting into languages with cases).
29091
29092 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
29093
29094 Add grub-probe support for NetBSD.
29095
29096 * util/getroot.c (find_root_device): Convert block device to
29097 character device on NetBSD.
29098 * util/probe.c (probe): Require character device on NetBSD.
29099 * util/hostdisk.c: NetBSD specific headers.
29100 (configure_device_driver): new function to tune device driver
29101 parameters (currently only for NetBSD floppy driver).
29102 (grub_util_biosdisk_open): NetBSD specific code (get disk size
29103 via disklabel ioctl).
29104 (open_device): call configure_device_driver on NetBSD.
29105 (convert_system_partition_to_system_disk): NetBSD specific code.
29106 (device_is_wholedisk): Likewise.
29107 (grub_util_biosdisk_get_grub_dev): Likewise.
29108 (make_device_name): Fixed a typo in bsd_part_str.
29109 * configure.ac: check for opendisk() and getrawpartition() on
29110 NetBSD and set LIBUTIL.
29111 * Makefile.in: add LIBUTIL to LIBS.
29112
29113 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29114
29115 Documentation fix.
29116
29117 * util/grub-script-check.c: Better help message.
29118
29119 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29120
29121 Fix FreeBSD build.
29122
29123 * configure.ac: Flex version check.
29124 * conf/common.rmk: Add -Wno-error to sh.mod.
29125 * script/yylex.l: Remove all #pragma.
29126
29127 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29128
29129 * include/grub/util/misc.h (canonicalise_file_name): Add missing
29130 prototype.
29131 Reported by: Seth Goldberg.
29132
29133 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29134
29135 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29136 Rename "module" to "module2".
29137 Reported by: Seth Goldberg.
29138
29139 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29140
29141 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29142 EXPORT_FUNC.
29143 Reported by: Seth Goldberg.
29144
29145 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29146
29147 * lib/posix_wrap/locale.h: Add missing file.
29148 Reported by: Seth Goldberg.
29149
29150 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29151
29152 grub-emu module load support.
29153
29154 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29155 NO_DYNAMIC_MODULES switched to this.
29156 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29157 (CFLAGS): Likewise.
29158 * conf/any-emu.rmk: Generate symlist.
29159 (kernel_img_HEADERS): Add util/datetime.h.
29160 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29161 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29162 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29163 kern/$(target_cpu)/cache.S.
29164 * configure.ac (grub-emu-modules): New option.
29165 * genmk.rb: Handle multiple source lists.
29166 * include/grub/sdl.h: New file.
29167 * include/grub/libusb.h: Likewise.
29168 * util/grub-emu.c (main): Hanle (host) root.
29169 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29170 GRUB_ERR_UNKNOWN_DEVICE.
29171 * util/misc.c: Move mm functions to ...
29172 * util/mm.c: ... here. All users updated.
29173
29174 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29175
29176 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29177 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29178 missing files.
29179 (maintainer-clean): Remove libgcrypt-grub.
29180
29181 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29182
29183 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29184
29185 2010-04-09 EFI Coder <eficoder@hotmail.com>
29186
29187 * normal/menu_text.c (print_message): Clean up the message and show
29188 the Fn information when on EFI
29189 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29190
29191 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29194 All users updated.
29195 * normal/crypto.c (read_crypto_list): Likewise.
29196 * normal/dyncmd.c (read_command_list): Likewise.
29197 * normal/term.c (read_terminal_list): Likewise.
29198 * normal/main.c (read_lists): Use explicit prefix.
29199 (read_lists_hook): Use read_lists.
29200 (grub_normal_execute): Likewise.
29201
29202 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29203
29204 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29205 Reported by: Thomas Schmitt.
29206 Add -no-emul-boot to grub-mkisofs parameters.
29207
29208 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29209
29210 * font/font.c: Indented.
29211
29212 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29213
29214 Elif support to GRUB script (by Deepak Vankadaru).
29215
29216 * tests/grub_script_if.in: New testcase.
29217 * conf/tests.rmk: Rule for new testcase.
29218 * script/parser.y: Grammar rules for elif.
29219
29220 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29221
29222 While and until loops support to GRUB script.
29223
29224 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29225 (grub_script_create_cmdwhile): New function prototype.
29226 (grub_script_execute_cmdwhile): New function prototype.
29227 * script/execute.c (grub_script_execute_cmdwhile): New function.
29228 * script/parser.y (command): New commands.
29229 (whilecmd): New grammar rule.
29230 (untilcmd): New grammar rule.
29231 * script/script.c (grub_script_create_cmdwhile): New function.
29232 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29233 function.
29234
29235 * tests/grub_script_while1.in: New testcase.
29236 * conf/tests.rmk: Rule for new testcase.
29237
29238 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29239
29240 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29241 as *.jpg.
29242
29243 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
29244
29245 GRUB_BACKGROUND support.
29246
29247 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29248 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29249
29250 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29251
29252 Load fonts and modules for gfxmenu in grub-mkconfig.
29253 Idea by: Mario Vazquez
29254
29255 * util/grub.d/00_header.in: Load pf2 and image modules.
29256
29257 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29258
29259 grub-mkconfig multiple terminal support.
29260
29261 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29262 * util/grub.d/00_header.in: Likewise.
29263
29264 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29265
29266 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29267 we use cd $(srcdir).
29268
29269 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
29270
29271 * util/grub.d/10_linux.in: Only use the first word of
29272 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29273 spaces in GRUB_DISTRIBUTOR.
29274 * util/grub.d/10_kfreebsd.in: Likewise.
29275 * util/grub.d/10_hurd.in: Likewise.
29276
29277 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29278
29279 Fix unit testing framework for Qemu 0.12.
29280
29281 * tests/util/grub-shell.in: Remove -serial stdio option.
29282
29283 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29284
29285 POSIX header file wrappers.
29286
29287 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29288 equivalents.
29289 * lib/posix_wrap/ctype.h: Likewise.
29290 * lib/posix_wrap/errno.h: Likewise.
29291 * lib/posix_wrap/langinfo.h: Likewise.
29292 * lib/posix_wrap/limits.h: Likewise.
29293 * lib/posix_wrap/localcharset.h: Likewise.
29294 * lib/posix_wrap/stdint.h: Likewise.
29295 * lib/posix_wrap/stdio.h: Likewise.
29296 * lib/posix_wrap/stdlib.h: Likewise.
29297 * lib/posix_wrap/string.h: Likewise.
29298 * lib/posix_wrap/sys/types.h: Likewise.
29299 * lib/posix_wrap/unistd.h: Likewise.
29300 * lib/posix_wrap/wchar.h: Likewise.
29301 * lib/posix_wrap/wctype.h: Likewise.
29302 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29303 (grub_script.yy.h): Likewise.
29304 * script/yylex.l: Remove POSIX emulation #defines.
29305 * Makefile.in (POSIX_CFLAGS): New variable.
29306 (GNULIB_UTIL_CFLAGS): Likewise.
29307
29308 Regexp support.
29309
29310 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29311 (regexp_mod_SOURCES): New variable.
29312 (regexp_mod_CFLAGS): Likewise.
29313 (regexp_mod_LDFLAGS): Likewise.
29314 * commands/regexp.c: New file.
29315 * gnulib/regcomp.c: New file. Imported from gnulib.
29316 * gnulib/regex.c: Likewise.
29317 * gnulib/regex_internal.c: Likewise.
29318 * gnulib/regex_internal.h: Likewise.
29319 * gnulib/regexec.c: Likewise.
29320 * gnulib/regex.h: Likewise.
29321
29322 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29323
29324 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29325 unsupported video mode types.
29326
29327 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29328
29329 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29330
29331 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29332
29333 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29334 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29335
29336 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29337
29338 Remove unused grub_vga_get_font.
29339
29340 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29341 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29342
29343 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29344
29345 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29346 * include/grub/misc.h: Likewise.
29347
29348 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29349
29350 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29351 for which failure is fatal.
29352
29353 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29354
29355 * util/grub-install.in: Use mkdir -p to create grub directory.
29356 * util/i386/efi/grub-install.in: Likewise.
29357 * util/ieee1275/grub-install.in: Likewise.
29358
29359 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29360
29361 * Makefile.in (LEX): new variable.
29362
29363 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29364
29365 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29366 `=' and added double quotes on operands of this equality test.
29367
29368 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29369
29370 * Makefile.in (uninstall): Remove a leftover debug echo.
29371 Reported by: Grégoire Sutre
29372
29373 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29374
29375 MIPS multiboot2 support.
29376
29377 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29378 (multiboot2_mod_SOURCES): New variable.
29379 (multiboot2_mod_CFLAGS): Likewise.
29380 (multiboot2_mod_LDFLAGS): Likewise.
29381 (multiboot2_mod_ASFLAGS): Likewise.
29382 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29383 definition.
29384 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29385 (MULTIBOOT_MBI_REGISTER): Likewise.
29386 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29387 (MULTIBOOT_ELF32_MACHINE): Likewise.
29388 (MULTIBOOT_ELF64_MACHINE): Likewise.
29389 * include/grub/mips/multiboot.h: New file.
29390 * include/grub/video.h (grub_video_driver_id): New type
29391 GRUB_VIDEO_DRIVER_SM712.
29392 (grub_video_get_info_and_fini): Export.
29393 (grub_video_get_palette): Likewise.
29394 (grub_video_get_driver_id): Likewise.
29395 * include/multiboot2.h: Resynced with spec.
29396 * loader/i386/multiboot.c: Moved from here ...
29397 * loader/multiboot.c: ... here. All users updated.
29398 (grub_multiboot_boot): Use platform-specific macros.
29399 * loader/i386/multiboot_elfxx.c: Moved from here ...
29400 * loader/multiboot_elfxx.c: ... here. All users updated.
29401 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29402 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29403 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29404
29405 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29406
29407 Import gnulib argp module.
29408
29409 * gnulib/argp-ba.c: New file.
29410 * gnulib/argp-eexst.c: Likewise.
29411 * gnulib/argp-fmtstream.c: Likewise.
29412 * gnulib/argp-fmtstream.h: Likewise.
29413 * gnulib/argp-fs-xinl.c: Likewise.
29414 * gnulib/argp-help.c: Likewise.
29415 * gnulib/argp-namefrob.h: Likewise.
29416 * gnulib/argp-parse.c: Likewise.
29417 * gnulib/argp-pin.c: Likewise.
29418 * gnulib/argp-pv.c: Likewise.
29419 * gnulib/argp-pvh.c: Likewise.
29420 * gnulib/argp-version-etc.c: Likewise.
29421 * gnulib/argp-version-etc.h: Likewise.
29422 * gnulib/argp-xinl.c: Likewise.
29423 * gnulib/argp.h: Likewise.
29424
29425 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29426
29427 * kern/device.c (grub_device_iterate): Clear errors after failed
29428 opening device.
29429
29430 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29431
29432 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29433 returned by firmware.
29434
29435 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29436
29437 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29438 compilation on coreboot and qemu
29439
29440 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29441
29442 * include/multiboot2.h: Resync with spec.
29443
29444 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29445
29446 Multiboot2 tag support
29447
29448 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29449 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29450 Remove loader/multiboot_loader.c.
29451 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29452 (grub_multiboot2_real_boot): Likewise.
29453 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29454 (grub_get_multiboot_mmap_count): New proto.
29455 (grub_fill_multiboot_mmap): Likewise.
29456 (grub_multiboot_set_video_mode): Likewise.
29457 (grub_multiboot_set_console): Likewise.
29458 (grub_multiboot_load): Likewise.
29459 (grub_multiboot_load_elf): Likewise.
29460 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29461 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29462 * include/multiboot.h: Resynced with specification.
29463 * include/multiboot2.h: Resynced with specification.
29464 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29465 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29466 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29467 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29468 users updated.
29469 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29470 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29471 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29472 Removed.
29473 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29474 Moved from here...
29475 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29476 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29477 Moved from here...
29478 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29479 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29480 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29481 All users updated.
29482 * loader/i386/multiboot_mbi2.c: New file.
29483
29484 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29485
29486 Resync with gnulib.
29487
29488 * Makefile.in (GNULIB_CFLAGS): New variable.
29489 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29490 (grub_script_check_CFLAGS): New variable.
29491 * gnulib/alloca.h: Resync with gnulib.
29492 * gnulib/error.c: Likewise.
29493 * gnulib/error.h: Likewise.
29494 * gnulib/fnmatch.c: Likewise.
29495 * gnulib/fnmatch_loop.c: Likewise.
29496 * gnulib/getdelim.c: Likewise.
29497 * gnulib/getline.c: Likewise.
29498 * gnulib/getopt.c: Likewise.
29499 * gnulib/getopt1.c: Likewise.
29500 * gnulib/getopt_int.h: Likewise.
29501 * gnulib/gettext.h: Likewise.
29502 * gnulib/progname.c: Likewise.
29503 * gnulib/progname.h: Likewise.
29504
29505 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29506
29507 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29508 which is the case with --disabled-nls.
29509
29510 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29511 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29512 * util/misc.c: Likewise.
29513 * util/mkisofs/mkisofs.c: Likewise.
29514 * util/mkisofs/mkisofs.h: Likewise.
29515
29516 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29517
29518 Simplify Apple CC support.
29519
29520 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29521 Add 0 byte at the end not to have a symbol with empty target.
29522 * mmap/i386/pc/mmap_helper.S: Likewise.
29523 * genmk.rb: Ignore errors 2030 and 2050.
29524 * kern/i386/pc/startup.S: Use LOCAL when possible.
29525
29526 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29527
29528 Testcase and the fix for final semicolon on cmdline.
29529
29530 * tests/grub_script_final_semicolon.in: New testcase.
29531 * conf/tests.rmk: Rules for the new testcase.
29532 * script/parser.y: Grammar fix.
29533
29534 2010-03-26 BVK Chaitanya <bvk@localhost>
29535
29536 Blank lines testcase for GRUB script.
29537
29538 * tests/grub_script_blanklines.in: New testcase.
29539 * conf/tests.rmk: Rules for the new testcase.
29540
29541 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29542
29543 Don't use __FILE__.
29544
29545 * genmk.rb: Add -DGRUB_FILE to all C targets.
29546 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29547 * include/grub/list.h: Likewise.
29548 * include/grub/misc.h: Likewise.
29549 * include/grub/mm.h: Likewise.
29550 * include/grub/test.h: Likewise.
29551 * kern/mm.c: Likewise.
29552 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29553
29554 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29555
29556 Sunpc partitions support.
29557
29558 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29559 (grub_fstest_SOURCES): Likewise.
29560 (pkglib_MODULES): Add part_sunpc.mod.
29561 (part_sunpc_mod_SOURCES): New variable.
29562 (part_sunpc_mod_CFLAGS): Likewise.
29563 (part_sunpc_mod_LDFLAGS): Likewise.
29564 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29565 * partmap/sunpc.c: New file.
29566
29567 2010-03-26 BVK Chaitanya <bvk@localhost>
29568
29569 For loop support to GRUB script.
29570
29571 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29572 (grub_script_create_cmdfor): New function prototype.
29573 (grub_script_execute_cmdfor): New function prototype.
29574 * script/execute.c (grub_script_execute_cmdfor): New function.
29575 * script/parser.y (command): New for command.
29576 (forcmd): New grammar rule.
29577 * script/script.c (grub_script_create_cmdfor): New function.
29578 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29579 function.
29580 * tests/grub_script_for1.in: New testcase.
29581 * conf/tests.rmk: Rules for new testcase.
29582
29583 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29584
29585 Nested partitions
29586
29587 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29588 'partition' is NULL, grub_partition_get_start already does that.
29589 * commands/loadenv.c (check_blocklists): Likewise.
29590 (write_blocklists): Likewise.
29591 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29592 (grub_fstest_SOURCES): Likewise.
29593 (pkglib_MODULES): Add part_bsd.mod.
29594 (part_bsd_mod_SOURCES): New variable.
29595 (part_bsd_mod_CFLAGS): Likewise.
29596 (part_bsd_mod_LDFLAGS): Likewise.
29597 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29598 (grub_emu_SOURCES): Likewise.
29599 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29600 * include/grub/bsdlabel.h: New file.
29601 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29602 'get_name'.
29603 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29604 (grub_partition_map_list): New variable.
29605 (grub_partition_map_register): Inline.
29606 (grub_partition_map_unregister): Likewise.
29607 (FOR_PARTITION_MAPS): New macro.
29608 (grub_partition_map_iterate): Removed.
29609 (grub_partition_get_start): Handle nested partitions.
29610 * include/grub/msdos_partition.h: Remove bsd-related entries.
29611 (grub_pc_partition): Remove.
29612 * kern/disk.c (grub_disk_close): Free partition data.
29613 (grub_disk_adjust_range): Handle nested partitions.
29614 * kern/partition.c (grub_partition_map_probe): New function.
29615 (grub_partition_probe): Parse name to number, handle subpartitions.
29616 (get_partmap): New function.
29617 (grub_partition_iterate): Handle subpartitions.
29618 (grub_partition_get_name): Likewise.
29619 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29620 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29621 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29622 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29623 Set 'number'.
29624 (acorn_partition_map_probe): Remove.
29625 (acorn_partition_map_get_name): Likewise.
29626 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29627 Set 'number'.
29628 Set 'index' to 0 since there can be only one partition entry per sector.
29629 (amiga_partition_map_probe): Remove.
29630 (amiga_partition_map_get_name): Likewise.
29631 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29632 Set 'number'.
29633 Set 'offset' and 'index' to real positions of partitions.
29634 (apple_partition_map_probe): Remove.
29635 (apple_partition_map_get_name): Likewise.
29636 * partmap/bsdlabel.c: New file.
29637 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29638 Set 'number'.
29639 Allocate 'data' so it can be correctly freed.
29640 Set 'index' to offset inside sector.
29641 (gpt_partition_map_probe): Remove.
29642 (gpt_partition_map_get_name): Likewise.
29643 * partmap/msdos.c (grub_partition_parse): Remove.
29644 (pc_partition_map_iterate): Don't force raw access.
29645 Set 'number'.
29646 Make 'ext_offset' a local variable.
29647 (pc_partition_map_probe): Remove.
29648 (pc_partition_map_get_name): Remove.
29649 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29650 Set 'number'.
29651 (sun_partition_map_probe): Remove.
29652 (sun_partition_map_get_name): Likewise.
29653 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29654 (grub_pcpart_type): Likewise.
29655 * util/hostdisk.c (open_device): Handle new numbering scheme.
29656 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29657 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29658 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29659 * util/grub-install.in: Insert all subpartition modules.
29660 * util/ieee1275/grub-install.in: Likewise.
29661
29662 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29663
29664 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29665 grammar.
29666
29667 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
29668
29669 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29670
29671 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
29672
29673 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29674 match where 'make install' puts them.
29675 * util/i386/efi/grub-install.in: Likewise.
29676
29677 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
29678
29679 * .bzrignore: Add gentrigtables, grub-script-check,
29680 grub_script_check_init.c, grub_script_check_init.h, and
29681 trigtables.c.
29682
29683 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29684
29685 * kern/parser.c: Indented.
29686
29687 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29688
29689 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29690
29691 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29692
29693 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29694 alpha_mask_size == 0 case.
29695
29696 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29697
29698 GRUB shell lexer and parser improvements.
29699
29700 * conf/any-emu.rmk: Build rule updates.
29701 * conf/common.rmk: Likewise.
29702 * conf/i386-coreboot.rmk: Likewise.
29703 * conf/i386-efi.rmk: Likewise.
29704 * conf/i386-ieee1275.rmk: Likewise.
29705 * conf/i386-pc.rmk: Likewise.
29706 * conf/powerpc-ieee1275.rmk: Likewise.
29707 * conf/x86_64-efi.rmk: Likewise.
29708
29709 * configure.ac: Configure check for flex.
29710
29711 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29712 types.
29713 (grub_lexer_param): Struct member updates.
29714 (grub_parser_param): Likewise.
29715 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29716 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29717 (grub_script_lexer_init): Prototype update.
29718 (grub_script_lexer_record_start): Likewise.
29719 (grub_script_lexer_record_stop): Likewise.
29720 (grub_script_lexer_yywrap): New function prototype.
29721 (grub_script_lexer_fini): Likewise.
29722 (grub_script_execute_argument_to_string): Removed by...
29723 (grub_script_execute_argument_to_argv): ...better version.
29724
29725 * script/execute.c (ROUND_UPTO): New macro.
29726 (grub_script_execute_cmdline): Out of memory fixes.
29727 (grub_script_execute_menuentry): Likewise.
29728 (grub_script_execute_argument_to_string): Removed. Update all
29729 users by...
29730 (grub_script_execute_argument_to_argv): ...better version.
29731 * script/function.c (grub_script_function_create): Use
29732 grub_script_execute_argument_to_argv instead of
29733 grub_script_execute_argument_to_string.
29734
29735 * script/lexer.c (check_varstate): Removed.
29736 (check_textstate): Removed.
29737 (grub_script_lexer_record_start): Likewise.
29738 (grub_script_lexer_record_stop): Likewise.
29739 (recordchar): Replaced with...
29740 (grub_script_lexer_record): ...new function.
29741 (nextchar): Removed.
29742 (grub_script_lexer_init): Rewritten.
29743 (grub_script_yylex): Rewritten.
29744 (append_newline): New function.
29745 (grub_script_lexer_yywrap): New function.
29746 (grub_script_lexer_fini): New function.
29747 (grub_script_yyerror): Sets error flag.
29748
29749 * script/yylex.l: New file.
29750 (grub_lexer_yyfree): Wrapper for flex yyffre.
29751 (grub_lexer_yyalloc): Likewise.
29752 (grub_lexer_yyrealloc): Likewise.
29753 * script/parser.y: Refactored.
29754
29755 * script/script.c (grub_script_arg_add): Out of memory fixes.
29756 (grub_script_add_arglist): Likewise.
29757 (grub_script_create_cmdline): Likewise.
29758 (grub_script_create_cmdmenu): Likewise.
29759 (grub_script_add_cmd): Likewise.
29760 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29761 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29762 unnecessary code.
29763
29764 * tests/grub_script_echo1.in: New testcase.
29765 * tests/grub_script_vars1.in: New testcase.
29766 * tests/grub_script_echo_keywords.in: New testcase.
29767
29768 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29769
29770 Remove some redundancy in build system.
29771
29772 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29773 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29774 (TARGET_LDFLAGS): Add -nostdlib.
29775 (TARGET_IMG_LDFLAGS): Likewise.
29776 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29777 anything since mmap isn't available.
29778 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29779 Add util/time.c.
29780 (pkglib_MODULES): Remove reboot.mod.
29781 (reboot_mod_SOURCES): Removed.
29782 (reboot_mod_CFLAGS): Likewise.
29783 (reboot_mod_LDFLAGS): Likewise.
29784 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29785 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29786 (DEFSYMFILES): Add kernel_syms.lst.
29787 (kernel_img_HEADERS): Add common headers.
29788 (symlist.c): New target.
29789 (kernel_syms.lst): Likewise.
29790 (pkglib_MODULES): Add memdisk.mod.
29791 (memdisk_mod_SOURCES): New variable.
29792 (memdisk_mod_CFLAGS): Likewise.
29793 (memdisk_mod_LDFLAGS): Likewise.
29794 (pkglib_MODULES): Add reboot.mod.
29795 (reboot_mod_SOURCES): New variable.
29796 (reboot_mod_CFLAGS): Likewise.
29797 (reboot_mod_LDFLAGS): Likewise.
29798 (pkglib_MODULES): Add date.mod.
29799 (date_mod_SOURCES): New variable.
29800 (date_mod_CFLAGS): Likewise.
29801 (date_mod_LDFLAGS): Likewise.
29802 (pkglib_MODULES): Add datehook.mod.
29803 (datehook_mod_SOURCES): New variable.
29804 (datehook_mod_CFLAGS): Likewise.
29805 (datehook_mod_LDFLAGS): Likewise.
29806 (pkglib_MODULES): Add lsmmap.mod.
29807 (lsmmap_mod_SOURCES): New variable.
29808 (lsmmap_mod_CFLAGS): Likewise.
29809 (lsmmap_mod_LDFLAGS): Likewise.
29810 (pkglib_MODULES): Add boot.mod.
29811 (boot_mod_SOURCES): New variable.
29812 (boot_mod_CFLAGS): Likewise.
29813 (boot_mod_LDFLAGS): Likewise.
29814 * conf/i386-coreboot.rmk: Removed redundant parts.
29815 * conf/i386-ieee1275.rmk: Likewise.
29816 * conf/i386-pc.rmk: Likewise.
29817 * conf/mips-yeeloong.rmk: Likewise.
29818 * conf/mips.rmk: Likewise.
29819 * conf/powerpc-ieee1275.rmk: Likewise.
29820 * conf/sparc64-ieee1275.rmk: Likewise.
29821 * conf/x86_64-efi.rmk: Likewise.
29822 * conf/i386-coreboot.rmk: Moved qemu parts ..
29823 * conf/i386-qemu.rmk: ... here
29824 * conf/i386-efi.rmk: Moved common parts to...
29825 * conf/x86-efi.rmk: ... here.
29826 * conf/i386.rmk: Added modules common to all x86 variants.
29827 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29828 * disk/memdisk.c: Remove grub/machine/kernel.h.
29829 * gensymlist.sh.in: Include symbol.h.
29830 * hook/datehook.c: Correct module name.
29831 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29832 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29833 * include/grub/i386/efi/serial.h: New file.
29834 * include/grub/x86_64/efi/serial.h: Likewise.
29835 * util/time.c: Likewise.
29836 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29837
29838 2010-03-14 Colin King <colin.king@ubuntu.com>
29839 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29840
29841 Shrink the pre-partition-table part of boot.img by eight bytes.
29842
29843 * boot/i386/pc/boot.S (ERR): New macro.
29844 (chs_mode): Use ERR.
29845 (geometry_error): Likewise.
29846 (hd_probe_error): Remove. This is only used once, so we wrwite
29847 it inline instead.
29848 (read_error): Instead of printing read_error_string, just set up
29849 %si and fall through to ...
29850 (error_message): ... this new function, also used by ERR.
29851
29852 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29853
29854 Speed up consecutive hostdisk operations on the same device.
29855
29856 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29857 (grub_util_biosdisk_open): Initialise disk->data.
29858 (struct linux_partition_cache): New structure.
29859 (linux_find_partition): Cache partition start positions; these are
29860 expensive to compute on every read and write.
29861 (open_device): Cache open file descriptor in disk->data, so that we
29862 don't have to reopen it and flush the buffer cache for consecutive
29863 operations on the same device.
29864 (grub_util_biosdisk_close): New function.
29865 (grub_util_biosdisk_dev): Set `close' member.
29866
29867 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29868 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29869 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29870 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29871 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29872
29873 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29874
29875 Compile parts of grub-emu as modules.
29876
29877 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29878 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29879 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29880 (all-local): Add $(GRUB_EMU).
29881 (install-local): Install $(GRUB_EMU).
29882 (uninstall): Uninstall $(GRUB_EMU).
29883 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29884 * kern/dl.c: Likewise.
29885 * commands/sleep.c: Not include machine/time.h.
29886 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29887 (COMMON_CFLAGS): Likewise.
29888 (sbin_UTILITIES): Remove grub-emu.
29889 (grub_emu_SOURCES): Removed.
29890 (kernel_img_RELOCATABLE): New variable.
29891 (pkglib_PROGRAMS): Add kernel.img.
29892 (kernel_img_SOURCES): New variable
29893 (kernel_img_CFLAGS): Likewise.
29894 (kernel_img_LDFLAGS): Likewise.
29895 (TARGET_NO_STRIP): Likewise.
29896 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29897 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29898 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29899 (grub-emu): New target.
29900 (GRUB_EMU): New variable.
29901 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29902 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29903 * loader/xnu.c: Likewise.
29904 * include/grub/pci.h: Likewise.
29905 * genemuinit.sh: New file.
29906 * genemuinitheader.sh: Likewise.
29907 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29908 Support TARGET_NO_DYNAMIC_MODULES.
29909 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29910 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29911 * disk/loopback.c: Likewise.
29912 * font/font_cmd.c: Likewise.
29913 * partmap/acorn.c: Likewise.
29914 * partmap/amiga.c: Likewise.
29915 * partmap/apple.c: Likewise.
29916 * partmap/gpt.c: Likewise.
29917 * partmap/msdos.c: Likewise.
29918 * partmap/sun.c: Likewise.
29919 * parttool/msdospart.c: Likewise.
29920 * term/gfxterm.c: Likewise.
29921 * video/bitmap.c: Likewise.
29922 * video/readers/jpeg.c: Likewise.
29923 * video/readers/png.c: Likewise.
29924 * video/readers/tga.c: Likewise.
29925 * video/video.c: Likewise.
29926 * util/grub-emu.c (read_command_list): Removed.
29927 (main): Don't call util_init_nls.
29928 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29929 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29930
29931 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29932
29933 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29934 date.mod, datehook.mod.
29935 (datetime_mod_SOURCES): New variable.
29936 (datetime_mod_CFLAGS): Likewise.
29937 (datetime_mod_LDFLAGS): Likewise.
29938 (date_mod_SOURCES): Likewise.
29939 (date_mod_CFLAGS): Likewise.
29940 (date_mod_LDFLAGS): Likewise.
29941 (datehook_mod_SOURCES): Likewise.
29942 (datehook_mod_CFLAGS): Likewise.
29943 (datehook_mod_LDFLAGS): Likewise.
29944 * conf/sparc64-ieee1275.rmk: Likewise.
29945 * lib/ieee1275/datetime.c: New file.
29946
29947 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29948
29949 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29950 (ieee1275_fb_mod_SOURCES): New variable.
29951 (ieee1275_fb_mod_CFLAGS): Likewise.
29952 (ieee1275_fb_mod_LDFLAGS): Likewise.
29953 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29954 New proto.
29955 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29956 (HEAP_MAX_ADDR): Likewise.
29957 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29958 type.
29959 Correct stop condition.
29960 (grub_ieee1275_devices_iterate): New function.
29961 * video/ieee1275.c: New file.
29962
29963 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29964
29965 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29966
29967 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29968 as scratch.
29969 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29970 SCRATCH_PAD_DISKBOOT as scratch.
29971 (bootit): Pass Openfirmware pointer in %o4.
29972 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29973 of 0x200000.
29974 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29975 with util/grub-mkrawimage.c.
29976 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29977 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29978 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29979 (grub_aout_load) [GRUB_UTIL]: Likewise.
29980 * include/grub/kernel.h (grub_modules_get_end): New proto.
29981 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29982 (SCRATCH_PAD_BOOT): New definition.
29983 (SCRATCH_PAD_DISKBOOT): Likewise.
29984 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29985 * include/grub/sparc64/ieee1275/ieee1275.h
29986 (grub_ieee1275_original_stack): New variable
29987 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29988 New definition
29989 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29990 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29991 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29992 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29993 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29994 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29995 (grub_platform_image_format_t): New type.
29996 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29997 * kern/main.c (grub_modules_get_end)
29998 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29999 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
30000 (codestart): Switch stacks.
30001 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
30002 variable.
30003 (grub_heap_init): Use grub_modules_get_end.
30004 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
30005 stack.
30006 * util/grub-mkrawimage.c (generate_image): Support sparc64.
30007 (main): Likewise.
30008 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
30009
30010 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
30011
30012 * util/grub-mkrescue.in: Base ISO UUID on UTC.
30013
30014 2010-03-08 Matt Kraai <kraai@ftbfs.org>
30015
30016 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
30017 bug #559005).
30018
30019 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
30020
30021 * genmoddep.awk: Output all missing symbols and not only first.
30022
30023 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30024
30025 * NEWS: Put the date of 1.98 release.
30026
30027 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30028
30029 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
30030 ft2build.h.
30031
30032 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30033
30034 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
30035 completition in the middle of string.
30036
30037 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30038
30039 * util/grub-mkrescue.in: Use mktemp with explicit template.
30040
30041 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30042
30043 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
30044
30045 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30046
30047 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
30048 right pointer.
30049
30050 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30051
30052 Fix FreeBSD compilation.
30053
30054 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
30055 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
30056
30057 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30058
30059 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
30060
30061 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30062
30063 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
30064
30065 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30066
30067 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
30068
30069 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
30070
30071 Support relative image path in theme file.
30072
30073 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
30074 (image_set_property): Handle theme_dir and relative path.
30075
30076 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30077
30078 * configure.ac: Alias amd64 to x86_64.
30079
30080 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30081
30082 * NEWS: mention multiboot on EFI.
30083
30084 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30085
30086 * kern/main.c (grub_load_modules): Handle errors from init functions of
30087 embeded modules.
30088
30089 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30090
30091 * normal/autofs.c (autoload_fs_module): Handle errors.
30092
30093 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30094
30095 Disable linux.mod on qemu-mips since it's not functional and leads
30096 to compilation failure.
30097
30098 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
30099 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
30100 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
30101 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
30102 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
30103 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
30104 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
30105 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
30106 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
30107 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
30108 Reported by: BVK Chaitanya
30109
30110 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
30111
30112 * INSTALL: Add gettext as a dependency and add qemu to a new section
30113 "Prerequisites for make-check".
30114
30115 2010-03-04 Christian Franke <franke@computer.org>
30116
30117 * util/grub-pe2elf.c: Add missing include "progname.h".
30118
30119 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30120
30121 * normal/crypto.c (read_crypto_list): Fix a typo.
30122 Reported by: Seth Goldberg.
30123
30124 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30125
30126 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
30127 Reported by: Seth Goldberg.
30128
30129 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30130
30131 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
30132 ascii.bitmaps.
30133
30134 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30135
30136 * genmk.rb: Remove terminal*.lst in make clean.
30137 Reported by: Seth Goldberg.
30138
30139 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30140
30141 * util/i386/efi/grub-install.in: Copy gettext files.
30142
30143 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30144
30145 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30146
30147 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30148
30149 Wait for user entry basing on presence of output rather than on errors.
30150
30151 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30152 (grub_install_newline_hook): Likewise.
30153 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30154 * normal/menu.c (show_menu): Check line_counter to determine presence
30155 of output.
30156 * normal/term.c (grub_normal_line_counter): New variable.
30157 (grub_normal_get_line_counter): New function.
30158 (grub_install_newline_hook): Likewise.
30159
30160 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30161
30162 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30163
30164 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30165
30166 * configure.ac: Update version to 1.98.
30167
30168 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30169
30170 * util/grub.d/10_linux.in (linux_entry): Don't default to
30171 gfxpayload=keep if Linux doesn't support video handover.
30172
30173 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30174
30175 Don't compile video modules on yeeloong since video subsystem is part
30176 of kernel.
30177
30178 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30179 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30180 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30181 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30182 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30183 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30184 * include/grub/bitmap_scale.h: Likewise.
30185 * include/grub/bufio.h: Likewise.
30186 * include/grub/font.h: Likewise.
30187 * include/grub/gfxterm.h: Likewise.
30188 * include/grub/video.h: Likewise.
30189 * include/grub/vbe.h: Don't include video_fb.h.
30190 * video/i386/pc/vbe.c: Include video_fb.h.
30191 * commands/i386/pc/vbetest.c: Include video.h.
30192
30193 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30194
30195 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30196 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30197 default entry if GRUB_SAVEDEFAULT=true. This allows using
30198 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30199 saving a new default on every boot.
30200
30201 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30202
30203 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30204 * normal/term.c (read_terminal_list): Likewise.
30205 * normal/main.c (grub_normal_init_page): Likewise.
30206 (grub_normal_read_line_real): Likewise.
30207
30208 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30209
30210 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30211 memory leak.
30212 Reported by: Seth Goldberg.
30213
30214 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30215
30216 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30217 duplicate declaration of `start'.
30218
30219 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30220
30221 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30222 filename.
30223 Reported by: Georgy Buranov
30224
30225 2010-02-20 Carles Pina i Estany <carles@pina.cat>
30226
30227 * util/grub-mkrawimage.c (usage): Change string formatting to
30228 improve gettext.
30229
30230 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30231
30232 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30233 backspace keys.
30234
30235 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30236
30237 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30238 Reported by: Michael Suchanek.
30239
30240 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
30241
30242 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30243 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30244
30245 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30246
30247 Remove any reference to non-free fonts.
30248
30249 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30250 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30251 uses non-free components.
30252 * font/font.c (grub_font_get_name): Remove example name.
30253 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30254 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30255 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30256 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30257
30258 2010-02-16 Georgy Buranov <gburanov@gmail.com>
30259
30260 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30261
30262 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30263
30264 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30265 Double divisor.
30266 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30267 features.
30268 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30269
30270 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30271
30272 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30273
30274 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30275
30276 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30277 * docs/grub.texi (Command-line and menu entry commands): Document play
30278 command.
30279
30280 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30281
30282 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30283 parse arguments as inline tempo and notes. Move code for playing notes
30284 to...
30285 (play): ... new function.
30286
30287 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30288
30289 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30290 grub_uint16_t instead of short.
30291 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30292 disk from little endian to cpu endianness.
30293
30294 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30295
30296 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30297 GRUB_TICKS_PER_SECOND instead of 120.
30298
30299 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30300
30301 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30302 escape sequence after \e.
30303
30304 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30305
30306 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30307 non-ASCII characters.
30308
30309 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30310
30311 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30312 set root in single quotes to prevent \, from being unescaped.
30313
30314 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30315
30316 Prevent unknown commands from stopping menuentry execution.
30317
30318 * script/execute.c (grub_script_execute_cmdline): Print error after
30319 unknown command.
30320
30321 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30322
30323 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30324 Reported by: Pavel Pisa.
30325
30326 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30327
30328 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30329
30330 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30331
30332 Merge grub_ieee1275_map_physical into grub_map and rename to
30333 grub_ieee1275_map
30334
30335 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30336 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30337 Remove.
30338 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30339 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30340 necessary.
30341 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30342
30343 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30344
30345 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30346 opening and not after.
30347
30348 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30349
30350 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30351 constants.
30352
30353 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30354
30355 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30356 (alloc_phys): Use ALIGN_UP instead of align_addr.
30357
30358 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30359
30360 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30361
30362 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30363
30364 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30365
30366 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30367
30368 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30369 verbose dprintf.
30370
30371 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30372
30373 Fix over-4GiB seek on sparc64.
30374
30375 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30376 Replace pos_i and pos_lo with pos. All users updated.
30377 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30378 New constant.
30379 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30380 Likewise.
30381 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30382 and pos_lo.
30383
30384 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30385
30386 * util/grub-mkrawimage.c (main): Call set_program_name.
30387
30388 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30389
30390 Properly align 64-bit targets.
30391
30392 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30393 (generate_image): Use ALIGN_ADDR.
30394
30395 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30396
30397 Properly create cross-endian images.
30398
30399 * include/grub/types.h (grub_host_to_target_addr): New macro
30400 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30401
30402 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30403
30404 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30405
30406 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30407
30408 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30409
30410 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30411 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30412 (grub_linux_boot): Divide by 64K when on VESA.
30413
30414 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 Support GRUB_GFXPAYLOAD_LINUX.
30417
30418 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30419 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30420
30421 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30422
30423 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30424 to show messages instead of discarding them.
30425 Process errors after executing command and not before. Keep old method
30426 too as precaution.
30427
30428 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30429
30430 * configure.ac: Check for ft2build.h.
30431
30432 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30433
30434 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30435
30436 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30437
30438 * genkernsyms.sh.in: Use TARGET_CC.
30439
30440 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
30441
30442 * NEWS: Update.
30443
30444 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30445
30446 * include/grub/multiboot2.h: Remove leftover file.
30447 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30448 * include/grub/partition.h [GRUB_UTIL]: Likewise.
30449
30450 2010-02-07 Yves Blusseau <blusseau@zetam.org>
30451
30452 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
30453
30454 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30455
30456 Fix warnings in grub-emu when compiling with maximum warning options.
30457
30458 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30459 (grub_arch_modules_addr): Return 0 and not NULL.
30460 * util/misc.c (ENABLE_RELOCATABLE): New definition.
30461 (xstrdup): Use newstr instead of dup.
30462 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30463 of disk to dsk to avoid shadowing.
30464 (find_free_slot): Fix prototype.
30465 * util/getroot.c (grub_util_is_dmraid): Make static.
30466 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30467 Add missing prototype.
30468 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
30469
30470 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30471
30472 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30473 appropriately.
30474
30475 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30476
30477 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30478 code out.
30479
30480 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30481
30482 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30483 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30484 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30485 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30486 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30487 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30488
30489 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30490
30491 * include/grub/err.h (grub_err_printf): Don't export.
30492
30493 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30494
30495 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30496
30497 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30498
30499 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30500 * kern/misc.c (grub_gettext_dummy): Make static.
30501
30502 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30503
30504 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30505 by non-valid ones.
30506 * kern/term.c (grub_putchar): Likewise.
30507
30508 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30509
30510 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30511 buggy hook call and memory leak.
30512
30513 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30514
30515 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30516
30517 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30518
30519 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30520
30521 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30522
30523 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30524 modevar.
30525 Return grub_errno on allocation error.
30526
30527 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30528
30529 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30530
30531 2010-02-06 Yves Blusseau <blusseau@zetam.org>
30532
30533 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30534 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30535
30536 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30537
30538 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30539 non-pxe disk.
30540 (grub_pxefs_open): Likewise.
30541
30542 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30543
30544 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30545 * util/grub.d/10_kfreebsd.in: Likewise.
30546 * util/grub.d/10_linux.in: Likewise.
30547
30548 2010-02-06 Colin D Bennett <colin@gibibit.com>
30549
30550 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30551 (gfxmenu_mod_SOURCES): New variable.
30552 (gfxmenu_mod_CFLAGS): Likewise.
30553 (gfxmenu_mod_LDFLAGS): Likewise.
30554 * include/grub/term.h (grub_term_set_current_output): Declare
30555 argument as const.
30556 * docs/gfxmenu-theme-example.txt: New file.
30557 * gfxmenu/gfxmenu.c: Likewise.
30558 * gfxmenu/gui_box.c: Likewise.
30559 * gfxmenu/gui_canvas.c: Likewise.
30560 * gfxmenu/gui_circular_progress.c: Likewise.
30561 * gfxmenu/gui_image.c: Likewise.
30562 * gfxmenu/gui_label.c: Likewise.
30563 * gfxmenu/gui_list.c: Likewise.
30564 * gfxmenu/gui_progress_bar.c: Likewise.
30565 * gfxmenu/gui_string_util.c: Likewise.
30566 * gfxmenu/gui_util.c: Likewise.
30567 * gfxmenu/icon_manager.c: Likewise.
30568 * gfxmenu/model.c: Likewise.
30569 * gfxmenu/named_colors.c: Likewise.
30570 * gfxmenu/theme_loader.c: Likewise.
30571 * gfxmenu/view.c: Likewise.
30572 * gfxmenu/widget-box.c: Likewise.
30573 * include/grub/gfxmenu_model.h: Likewise.
30574 * include/grub/gfxmenu_view.h: Likewise.
30575 * include/grub/gfxwidgets.h: Likewise.
30576 * include/grub/gui.h: Likewise.
30577 * include/grub/gui_string_util.h: Likewise.
30578 * include/grub/icon_manager.h: Likewise.
30579
30580 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30581
30582 Agglomerate scrolling in gfxterm.
30583
30584 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30585 (grub_virtual_screen_setup): Initialise 'total_screen'.
30586 (write_char): Split to ...
30587 (paint_char): ... this ...
30588 (write_char): ... and this.
30589 (paint_char): Handle delayed scrolling.
30590 (draw_cursor): Likewise.
30591 (scroll_up): Split to ...
30592 (real_scroll): ... this ...
30593 (scroll_up): ... and this.
30594 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30595 characters.
30596 (grub_gfxterm_refresh): Call real_scroll.
30597
30598 2010-02-06 Colin D Bennett <colin@gibibit.com>
30599
30600 * include/grub/misc.h (grub_iscntrl): New inline function.
30601 (grub_isalnum): Likewise.
30602 (grub_strtol): Likewise.
30603
30604 2010-02-06 Colin D Bennett <colin@gibibit.com>
30605
30606 * normal/menu_text.c (get_entry_number): Move from here ...
30607 * normal/menu.c (get_entry_number): ... moved here.
30608 * include/grub/menu.h (grub_menu_get_default_entry_index):
30609 New prototype.
30610 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30611 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30612 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30613 (grub_menu_viewer_should_return): Likewise.
30614 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30615 * normal/menu_text.c (run_menu): Enable menu switching.
30616 * normal/menu_viewer.c (should_return): New variable.
30617 (menu_viewer_changed): Likewise.
30618 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30619 (grub_menu_viewer_should_return): New function.
30620 (menuviewer_write_hook): Likewise.
30621 (grub_menu_viewer_init): Likewise.
30622
30623 2010-02-06 Colin D Bennet <colin@gibibit.com>
30624 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30625
30626 Support for gfxterm in a window.
30627
30628 * include/grub/gfxterm.h: New file.
30629 * include/grub/video.h (struct grub_video_rect): New declaration.
30630 (grub_video_rect_t): Likewise.
30631 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30632 (refcount): New variable.
30633 (render_target): Likewise.
30634 (window): Likewise.
30635 (repaint_callback): Likewise.
30636 (grub_virtual_screen_setup): Use 'render_target'.
30637 (init_window): New function.
30638 (grub_gfxterm_init_window): Likewise.
30639 (grub_gfxterm_init): Check reference counter.
30640 Use init_window.
30641 (destroy_window): New function.
30642 (grub_gfxterm_destroy_window): Likewise.
30643 (grub_gfxterm_fini): Check reference counter.
30644 Use destroy_window.
30645 (redraw_screen_rect): Restore viewport.
30646 Use 'render_target' and 'window'.
30647 Call 'repaint_callback'.
30648 (write_char): Use 'render_target'.
30649 (draw_cursor): Likewise.
30650 (scroll_up): Restore viewport.
30651 Use 'render_target' and 'window'.
30652 Call 'repaint_callback'.
30653 (grub_gfxterm_cls): Likewise.
30654 (grub_gfxterm_refresh): Use 'window'.
30655 (grub_gfxterm_set_repaint_callback): New function.
30656 (grub_gfxterm_background_image_cmd): Use 'window'.
30657 (grub_gfxterm_get_term): New function.
30658 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30659
30660 2010-02-06 Colin D Bennett <colin@gibibit.com>
30661
30662 Bitmap scaling support.
30663
30664 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30665 (bitmap_scale_mod_SOURCES): New variable.
30666 (bitmap_scale_mod_CFLAGS): Likewise.
30667 (bitmap_scale_mod_LDFLAGS): Likewise.
30668 * include/grub/bitmap_scale.h: New file.
30669 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30670 (background_image_cmd_options): New variable.
30671 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30672 (cmd): Rename and change type to ...
30673 (background_image_cmd_handle): ... this. All users updated.
30674 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30675 * video/bitmap_scale.c: New file.
30676
30677 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30678
30679 SDL support.
30680
30681 * Makefile.in (LIBSDL): New variable.
30682 (enable_grub_emu_sdl): Likewise.
30683 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30684 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30685 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30686 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30687 * util/sdl.c: New file.
30688
30689 2010-02-06 Colin D Bennett <colin@gibibit.com>
30690 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30691
30692 Double buffering support.
30693
30694 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30695 * include/grub/video.h: Update comment.
30696 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30697 New type.
30698 (grub_video_fb_doublebuf_blit_init): New prototype.
30699 * term/gfxterm.c (scroll_up): Support double buffering.
30700 (grub_gfxterm_refresh): Likewise.
30701 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30702 (grub_video_fb_doublebuf_blit_init): Likewise.
30703 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30704 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30705 'displayed_page', 'render_page' and 'update_screen'.
30706 (grub_video_vbe_fini): Free offscreen buffer.
30707 (doublebuf_pageflipping_commit): New function.
30708 (doublebuf_pageflipping_update_screen): Likewise.
30709 (doublebuf_pageflipping_init): Likewise.
30710 (double_buffering_init): Likewise.
30711 (grub_video_vbe_setup): Enable doublebuffering.
30712 (grub_video_vbe_swap_buffers): Implement.
30713 (grub_video_vbe_set_active_render_target): Handle double buffering.
30714 (grub_video_vbe_get_active_render_target): Likewise.
30715 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30716 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30717 (grub_video_vbe_enable_double_buffering): Likewise.
30718 (grub_video_vbe_swap_buffers): Use update_screen.
30719 (grub_video_set_mode): Use double buffering.
30720
30721 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30722
30723 * maintainance/gentrigtables.py: Remove.
30724 * lib/trig.c: Likewise.
30725
30726 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30727
30728 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30729 `trigtables.c'.
30730 (trigtables.c): New rule.
30731 (gentrigtables): Likewise.
30732 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30733
30734 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30735
30736 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30737 integer constants.
30738
30739 2010-02-06 Colin D Bennet <colin@gibibit.com>
30740
30741 Trigonometry support.
30742
30743 * include/grub/trig.h: New file.
30744 * lib/trig.c: Likewise.
30745 * maintainance/gentrigtables.py: Likewise.
30746 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30747 (trig_mod_SOURCES): New variable.
30748 (trig_mod_CFLAGS): Likewise.
30749 (trig_mod_LDFLAGS): Likewise.
30750
30751 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30752
30753 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30754 disk devices.
30755
30756 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30757
30758 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30759 error.
30760
30761 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30762
30763 * util/hostdisk.c (open_device): Don't use partition device when reading
30764 before the partition.
30765 (grub_util_biosdisk_read): Don't read from partition and before the
30766 partition in single operation.
30767 (grub_util_biosdisk_write): Don't write to partition and before the
30768 partition in single operation.
30769
30770 2010-02-03 Torsten Landschoff <torsten@debian.org>
30771
30772 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30773 last sectors.
30774
30775 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30776
30777 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30778 CDROM reads.
30779 (grub_biosdisk_write): Refuse to write to CDROM.
30780
30781 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30782
30783 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30784
30785 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30786
30787 * font/font.c (find_glyph): Check that bmp_idx is available before
30788 using it.
30789 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30790 with (font == NULL).
30791
30792 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
30793
30794 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30795
30796 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30797
30798 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30799 * util/grub-script-check.c (getline): Fix empty lines case.
30800
30801 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30802
30803 * Makefile.in (check): Exit with fail status when one of the tests
30804 fails.
30805 * tests/example_functional_test.c (example_test): Fix reversed assert.
30806 * tests/example_unit_test.c (example_test): Likewise.
30807
30808 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
30809
30810 * util/grub.d/10_linux.in: This script does not use any of the
30811 contents of gettext.sh, only the external command `gettext', so stop
30812 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30813 the same prefix as GRUB.)
30814 * util/grub.d/10_kfreebsd.in: Likewise.
30815
30816 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30817
30818 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30819 of the line.
30820
30821 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30822
30823 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30824 last sectors.
30825
30826 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30827
30828 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30829 having a 4KiB and not 32KiB buffer size.
30830
30831 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30832
30833 * util/hostfs.c: Include `<errno.h>'.
30834 (grub_hostfs_read): Handle errors from fseeko() and fread().
30835
30836 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30837
30838 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30839 loop when using read hooks on files whose size isn't sector-aligned.
30840
30841 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30842
30843 Remove unused parameter.
30844
30845 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30846 (grub_iso9660_open): Remove initialization of `data->length'.
30847
30848 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30849
30850 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30851 memleak conditions.
30852
30853 2010-01-27 Carles Pina i Estany <carles@pina.cat>
30854
30855 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30856 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30857
30858 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30859
30860 * util/bin2h.c (usage): Fix warning (space after backslash).
30861
30862 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30863
30864 * font/font.c: Include `grub/fontformat.h.
30865 Remove font file format constants.
30866 (grub_font_load): Use the new macros.
30867 * include/grub/fontformat.h: New file.
30868 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30869 (write_font_pf2): Use the new macros.
30870
30871 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30872
30873 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30874 does.
30875
30876 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30877
30878 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30879
30880 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30881 (_start): Macroify `0x7F'.
30882
30883 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30884 (make_install_device): Use "(pxe)" as fallback prefix when booting
30885 via PXE.
30886
30887 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30888
30889 * configure.ac: Reset LIBS after check for libgcc symbols.
30890
30891 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
30892
30893 * util/hostdisk.c (open_device): Add trailing newline to debug
30894 message.
30895
30896 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30897
30898 * configure.ac: Check for `limits.h'.
30899 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30900
30901 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30902
30903 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30904 capitalize error strings.
30905
30906 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30907
30908 * util/grub.d/10_hurd.in: Add a recovery mode.
30909
30910 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30911
30912 * configure.ac: Check for libgcc symbols with -nostdlib.
30913
30914 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30915
30916 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30917
30918 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30919
30920 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30921 stack since heap may be unavailable at that point.
30922 (grub_ofconsole_gotoxy): Likewise.
30923
30924 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30925
30926 * configure.ac: Check for _restgpr_14_x.
30927 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30928 and _savegpr_* prototypes.
30929
30930 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30931
30932 Use generic grub_reboot() for i386-efi.
30933
30934 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30935 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30936 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30937
30938 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30939
30940 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30941 presence of "prefix" variable as it breaks when normal.mod is
30942 embedded.
30943
30944 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30945
30946 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30947 stack since heap is unavailable at that point.
30948
30949 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30950
30951 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30952 (grub_freebsd_bootinfo): Rewritten.
30953 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30954
30955 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30956
30957 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30958
30959 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30960
30961 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30962 domain now.
30963
30964 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
30965
30966 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30967 around for handling "/" to the correct fix. Fix a memory leak. Use
30968 xstrdup instead of strdup.
30969
30970 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30971
30972 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30973
30974 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30975
30976 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30977
30978 * font/font.c (struct grub_font): New member 'bmp_idx'.
30979 (font_init): Initialise 'bmp_idx'.
30980 (load_font_index): Fill 'bmp_idx'.
30981 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30982
30983 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30984
30985 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30986 unnecessary calls.
30987
30988 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30989
30990 Move context handling out of the kernel.
30991
30992 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30993 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30994 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30995 * conf/i386-efi.rmk: Likewise.
30996 * conf/i386-ieee1275.rmk: Likewise.
30997 * conf/i386-pc.rmk: Likewise.
30998 * conf/powerpc-ieee1275.rmk: Likewise.
30999 * conf/sparc64-ieee1275.rmk: Likewise.
31000 * conf/x86_64-efi.rmk: Likewise.
31001 * include/grub/env.h: Include grub/menu.h.
31002 (grub_env_var_type): Removed.
31003 (grub_env_var): Replaced field 'type' with 'global'.
31004 (grub_env_find): New prototype.
31005 (grub_env_context_open): Remove EXPORT_FUNC.
31006 (grub_env_context_close): Likewise.
31007 (grub_env_export): Likewise.
31008 (grub_env_set_data_slot): Removed.
31009 (grub_env_get_data_slot): Likewise.
31010 (grub_env_unset_data_slot): Likewise.
31011 (grub_env_unset_menu): New prototype.
31012 (grub_env_set_menu): Likewise.
31013 (grub_env_get_menu): Likewise.
31014 * include/grub/env_private.h: New file.
31015 * include/grub/normal.h (grub_context_init): New prototype.
31016 (grub_context_fini): Likewise.
31017 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
31018 * normal/context.c (grub_cmd_export): ... to here.
31019 * kern/env.c: Include env_private.h.
31020 (HASHSZ): Moved to include/grub/env_private.h.
31021 (grub_env_context): Likewise.
31022 (grub_env_sorted_var): Likewise.
31023 (current_context): Renamed from this ...
31024 (grub_current_context): ...to this. 'static' removed. All users updated.
31025 (grub_env_find): Removed 'static'.
31026 (grub_env_context_open): Moved to normal/context.c.
31027 (grub_env_context_close): Likewise.
31028 (grub_env_export): Likewise.
31029 (mangle_data_slot_name): Removed.
31030 (grub_env_set_data_slot): Likewise.
31031 (grub_env_get_data_slot): Likewise.
31032 (grub_env_unset_data_slot): Likewise.
31033 * kern/main.c (grub_set_root_dev): Don't export root.
31034 It will be done later.
31035 (grub_main): Don't export prefix.
31036 It will be done later.
31037 * normal/context.c: New file.
31038 * normal/main.c (free_menu): Use grub_env_unset_menu.
31039 (grub_normal_add_menu_entry): Use grub_env_get_menu.
31040 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
31041 (GRUB_MOD_INIT(normal)): Call grub_context_init.
31042 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
31043
31044 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31045
31046 setpci support.
31047
31048 * commands/setpci.c: New file.
31049 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
31050 (setpci_mod_SOURCES): New variable.
31051 (setpci_mod_CFLAGS): Likewise.
31052 (setpci_mod_LDFLAGS): Likewise.
31053
31054 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31055
31056 Byte-addressable PCI configuration space.
31057
31058 * bus/pci.c (grub_pci_make_address): Use byte address instead of
31059 dword address.
31060 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
31061 GRUB_PCI_REG_CACHELINE.
31062 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
31063 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
31064 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
31065 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
31066 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
31067 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
31068 grub_pci_make_address.
31069 (lock_rom_area): Likewise.
31070 * commands/lspci.c (grub_lspci_iter): Use macroses
31071 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
31072 of grub_pci_make_address.
31073 * disk/ata.c (grub_ata_pciinit): Likewise.
31074 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
31075 (GRUB_PCI_REG_VENDOR): Likewise.
31076 (GRUB_PCI_REG_DEVICE): Likewise.
31077 (GRUB_PCI_REG_COMMAND): Likewise.
31078 (GRUB_PCI_REG_STATUS): Likewise.
31079 (GRUB_PCI_REG_REVISION): Likewise.
31080 (GRUB_PCI_REG_CLASS): Likewise.
31081 (GRUB_PCI_REG_CACHELINE): Likewise.
31082 (GRUB_PCI_REG_LAT_TIMER): Likewise.
31083 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
31084 (GRUB_PCI_REG_BIST): Likewise.
31085 (GRUB_PCI_REG_ADDRESSES): Likewise.
31086 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31087 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31088 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31089 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31090 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31091 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31092 (GRUB_PCI_REG_CIS_POINTER): Likewise.
31093 (GRUB_PCI_REG_SUBVENDOR): Likewise.
31094 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
31095 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
31096 (GRUB_PCI_REG_CAP_POINTER): Likewise.
31097 (GRUB_PCI_REG_IRQ_LINE): Likewise.
31098 (GRUB_PCI_REG_IRQ_PIN): Likewise.
31099 (GRUB_PCI_REG_MIN_GNT): Likewise.
31100 (GRUB_PCI_REG_MAX_LAT): Likewise.
31101 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
31102 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
31103 * video/efi_uga.c (find_framebuf): Likewise.
31104 * video/sm712.c (grub_video_sm712_setup): Likewise.
31105 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
31106 space.
31107
31108 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31109
31110 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
31111 can be reliably determined to be supported.
31112
31113 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31114
31115 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
31116 that VESA is supported.
31117 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
31118 supported.
31119
31120 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31121
31122 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
31123
31124 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31125
31126 * util/misc.c (make_system_path_relative_to_its_root): Work around
31127 special-casing of "/", as previous incarnation of this routine did.
31128
31129 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31130
31131 Fix any-emu compilation.
31132
31133 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
31134 * grub_bin2h_SOURCES: New variable.
31135
31136 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31137
31138 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31139
31140 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31141
31142 * util/grub.d/00_header.in: Fix handling of locale_dir.
31143
31144 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31145
31146 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31147 as possible unifont location (Gentoo).
31148 Reported by: Alexander Brüning
31149
31150 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31151
31152 Don't try to generate lists for kernel.img.
31153
31154 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31155 (pkglib_MODULES): Remove kernel.img.
31156 (kernel_img_EXPORTS): Removed.
31157 (kernel_img_RELOCATABLE): New variable.
31158 * conf/x86_64-efi.rmk: Likewise.
31159 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31160
31161 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31162
31163 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31164 grub_xasprintf or grub_snprintf.
31165 (grub_vsprintf): Likewise.
31166 (grub_snprintf): New proto.
31167 (grub_vsnprintf): Likewise.
31168 (grub_xasprintf): Likewise.
31169 (grub_xvasprintf): Likewise.
31170 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31171 (grub_sprintf): Removed.
31172 (grub_vsnprintf): New function.
31173 (grub_snprintf): Likewise.
31174 (grub_xvasprintf): Likewise.
31175 (grub_xasprintf): Likewise.
31176 (grub_vsprintf): Renamed to ...
31177 (grub_vsnprintf_real): ...this. New argument max_len.
31178
31179 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31180
31181 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31182 fix grub-script-check warning.
31183
31184 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31185
31186 * include/grub/font.h (grub_font_load): Fix prototype.
31187
31188 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31189
31190 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31191
31192 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31193
31194 * include/grub/x86_64/at_keyboard.h: New file.
31195
31196 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31197
31198 * loader/mips/linux.c: Include missing grub/i18n.h.
31199
31200 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31201
31202 * normal/menu.c (notify_execution_failure): Clarify error message.
31203
31204 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31205
31206 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31207 return value (and revert all return statements). Update users.
31208
31209 2010-01-20 Dan Merillat <debian@dan.merillat.org>
31210
31211 * kern/device.c (grub_device_iterate): Allocate new part_ent
31212 structure based on sizeof (*p) rather than sizeof (p->next), to
31213 account for structure padding.
31214
31215 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31216 disk is NULL, which might happen for LVM physical volumes with no
31217 LVM signature.
31218
31219 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31220
31221 * loader/mips/linux.c (grub_cmd_initrd)
31222 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31223
31224 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31225
31226 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31227 (grub_video_video_init, grub_video_bitmap_init)
31228 (grub_font_manager_init, grub_term_gfxterm_init)
31229 (grub_at_keyboard_init): New extern declarations.
31230 (grub_machine_init): Initialize gfxterm and at_keyboard.
31231
31232 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31233
31234 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31235 `gfxterm.mod' into core image.
31236
31237 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31238 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31239 (kernel_img_FORMAT): Copy to ...
31240
31241 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31242 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31243 (kernel_img_FORMAT): ... here, and ...
31244
31245 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31246 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31247 (kernel_img_FORMAT): ... here.
31248
31249 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31250 and input (at_keyboard) terminals in kernel.
31251 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31252
31253 (pkglib_MODULES): Remove `pci.mod'.
31254 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31255 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31256 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31257 (at_keyboard_mod_LDFLAGS): Remove variables.
31258
31259 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
31260
31261 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31262
31263 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31264
31265 * include/grub/mips/libgcc.h: Only export symbols for functions
31266 that libgcc provides.
31267
31268 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31269
31270 MIPS support.
31271
31272 * bus/bonito.c: New file.
31273 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31274 GRUB_PCI_NUM_DEVICES.
31275 * term/i386/pc/serial.c: Move to ...
31276 * term/serial.c: ... here. All users updated.
31277 * util/i386/pc/grub-mkimage.c: Move to ...
31278 * util/grub-mkrawimage.c: ... here. All users updated.
31279 * term/i386/pc/at_keyboard.c: Move to ...
31280 * term/at_keyboard.c: ... here. All users updated.
31281 * conf/mips-qemu-mips.rmk: New file.
31282 * conf/mips-yeeloong.rmk: Likewise.
31283 * conf/mips.rmk: Likewise.
31284 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31285 mipsel-qemu-mips.
31286 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31287 to port addresses.
31288 (grub_ata_pciinit): Support CS5536.
31289 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31290 * font/font_cmd.c (loadfont_command): Open file before passing it to
31291 grub_font_load.
31292 (pseudo_file_read): New function.
31293 (pseudo_file_close): Likewise.
31294 (pseudo_fs): New structure.
31295 (load_font_module): New function.
31296 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31297 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31298 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31299 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31300 * include/grub/i386/at_keyboard.h: Split into ...
31301 * include/grub/at_keyboard.h: ... this ...
31302 * include/grub/i386/at_keyboard.h: ... and this.
31303 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31304 New prototype.
31305 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31306 updated.
31307 (grub_elf64_size): Likewise.
31308 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31309 filename.
31310 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31311 * include/grub/i386/coreboot/serial.h: Rewritten.
31312 * include/grub/i386/ieee1275/serial.h: Include
31313 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31314 * include/grub/i386/pc/serial.h: Moved from here ...
31315 * include/grub/serial.h: ... to here. All users updated.
31316 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31317 (GRUB_PCI_NUM_BUS): Likewise.
31318 (GRUB_PCI_NUM_DEVICES): Likewise.
31319 (grub_pci_device_map_range): Add missing volatile keyword.
31320 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31321 * include/grub/mips/at_keyboard.h: New file.
31322 * include/grub/mips/cache.h: Likewise.
31323 * include/grub/mips/io.h: Likewise.
31324 * include/grub/mips/kernel.h: Likewise.
31325 * include/grub/mips/libgcc.h: Likewise.
31326 * include/grub/mips/pci.h: Likewise.
31327 * include/grub/mips/qemu-mips/boot.h: Likewise.
31328 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31329 * include/grub/mips/qemu-mips/loader.h: Likewise.
31330 * include/grub/mips/qemu-mips/memory.h: Likewise.
31331 * include/grub/mips/qemu-mips/serial.h: Likewise.
31332 * include/grub/mips/qemu-mips/time.h: Likewise.
31333 * include/grub/mips/relocator.h: Likewise.
31334 * include/grub/mips/time.h: Likewise.
31335 * include/grub/mips/types.h: Likewise.
31336 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31337 * include/grub/mips/yeeloong/boot.h: Likewise.
31338 * include/grub/mips/yeeloong/kernel.h: Likewise.
31339 * include/grub/mips/yeeloong/loader.h: Likewise.
31340 * include/grub/mips/yeeloong/memory.h: Likewise.
31341 * include/grub/mips/yeeloong/pci.h: Likewise.
31342 * include/grub/mips/yeeloong/serial.h: Likewise.
31343 * include/grub/mips/yeeloong/time.h: Likewise.
31344 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31345 * kern/elf.c (grub_elf32_size): New parameter. All users
31346 updated.
31347 (grub_elf64_size): Likewise.
31348 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31349 Load modules before saying "Welcome to GRUB!".
31350 Call grub_refresh after saying "Welcome to GRUB!".
31351 * kern/mips/cache.S: New file.
31352 * kern/mips/cache_flush.S: Likewise.
31353 * kern/mips/dl.c: Likewise.
31354 * kern/mips/init.c: Likewise.
31355 * kern/mips/qemu-mips/init.c: Likewise.
31356 * kern/mips/startup.S: Likewise.
31357 * kern/mips/yeeloong/init.c: Likewise.
31358 * kern/term.c (grub_putcode): Handle NULL terminal.
31359 (grub_getcharwidth): Likewise.
31360 (grub_getkey): Likewise.
31361 (grub_checkkey): Likewise.
31362 (grub_getkeystatus): Likewise.
31363 (grub_getxy): Likewise.
31364 (grub_getwh): Likewise.
31365 (grub_gotoxy): Likewise.
31366 (grub_cls): Likewise.
31367 (grub_setcolorstate): Likewise.
31368 (grub_setcolor): Likewise.
31369 (grub_getcolor): Likewise.
31370 (grub_refresh): Likewise.
31371 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31372 (write_jump): Add hatch nop.
31373 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31374 * lib/mips/setjmp.S: New file.
31375 * loader/mips/linux.c: Likewise.
31376 * term/i386/pc/at_keyboard.c: Move from here ...
31377 * term/at_keyboard.c: ... to here.
31378 * term/i386/pc/serial.c: Moved from here ...
31379 * term/serial.c: ... to here. All users updated.
31380 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31381 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31382 (serial_translate_key_sequence): Avoid deadlock.
31383 (grub_serial_getkey): Handle backspace.
31384 (grub_serial_putchar): Fix newline handling.
31385 * util/i386/pc/grub-mkimage.c: Move from here ...
31386 * util/grub-mkrawimage.c: ... to here. All users updated.
31387 (generate_image): New parameters 'font_path' and 'format'.
31388 Support embedding font.
31389 Use grub_host_to_target* instead of grub_cpu_to_le*.
31390 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31391 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31392 (options): New option "--font".
31393 (usage): Likewise.
31394 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31395 (main): Handle "--font".
31396 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31397 (grub_virtual_screen_setup): Set bg_color_display.
31398 (redraw_screen_rect): Use bg_color_display instead of incorrect
31399 bg_color.
31400 (grub_gfxterm_cls): Likewise.
31401 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31402 Support embedding config file.
31403 (add_segments): Likewise.
31404 (options): New option "--config".
31405 (main): Handle "--config".
31406 * video/sm712.c: New file.
31407
31408 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31409
31410 Fix parallel builds.
31411
31412 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31413 font.c depend on ascii.h).
31414
31415 2010-01-12 Carles Pina i Estany <carles@pina.cat>
31416
31417 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31418
31419 2010-01-11 Carles Pina i Estany <carles@pina.cat>
31420
31421 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31422 By default: disabled.
31423 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31424 parameter.
31425
31426 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31427
31428 * font/font.c: Update copyright years.
31429 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31430
31431 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31432
31433 * font/font.c: Include `ascii.h'.
31434 (ASCII_BITMAP_SIZE): New macro.
31435 (ascii_font_glyph): Define.
31436 (ascii_glyph_lookup): New function.
31437 (grub_font_get_string_width): Change comment. If glyph not found, use
31438 ascii_glyph_lookup.
31439 (grub_font_get_glyph_with_fallback): If glyph not available returns
31440 ascii_glyph_lookup.
31441 * util/grub-mkfont.c (file_formats): New enum.
31442 (options): Add `ascii-bitmaps' new option.
31443 (usage): Add `asii-bitmaps' new option.
31444 (write_font_ascii_bitmap): New function.
31445 (write_font): Rename to ...
31446 (write_font_p2): ... this. Remove print_glyphs call.
31447 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31448 used. Call print_glyphs.
31449 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31450
31451 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31452
31453 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31454 (grub_bin2h_SOURCES): New variable.
31455 * util/bin2h.c: New file.
31456
31457 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31458
31459 * include/multiboot.h: Resynced with spec.
31460 * include/multiboot2.h: Likewise.
31461 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31462 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31463
31464 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31465
31466 * include/grub/term.h (grub_term_register_input,
31467 grub_term_register_output): Check return of terminal init()
31468 routines, and abort if errors are raised.
31469
31470 * commands/terminal.c: Update copyright year.
31471
31472 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31473
31474 * commands/terminal.c (grub_cmd_terminal_input)
31475 (grub_cmd_terminal_output): Check return of terminal init()
31476 routines, and abort if errors are raised.
31477
31478 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31479
31480 * include/grub/i386/bsd.h: Fix include pathes.
31481
31482 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31483
31484 Add missing *BSD copyright headers.
31485
31486 * include/grub/aout.h: Add BSD licence.
31487 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31488 * include/grub/i386/freebsd_linker.h: ... here,
31489 * include/grub/i386/freebsd_reboot.h: ... here,
31490 * include/grub/i386/netbsd_bootinfo.h: ... here,
31491 * include/grub/i386/netbsd_reboot.h: ... here,
31492 * include/grub/i386/openbsd_bootarg.h: ... here,
31493 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31494 licence to each file.
31495
31496 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31497
31498 * acinclude.m4: Remove `nop' assembly instruction; it's not
31499 implemented by all architectures.
31500
31501 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31502
31503 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31504 ELILO. This is no longer necessary.
31505
31506 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31507
31508 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31509
31510 * util/grub-script-check.c: grub-script-check tool.
31511 * conf/common.rmk: Make rules for grub-script-check.
31512
31513 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31514
31515 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31516 spotting it back in 2008. Shame on me for forgetting he did.
31517
31518 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31519
31520 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31521
31522 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31523 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31524 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31525 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31526 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31527 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31528
31529 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31530
31531 * include/grub/test.h: Add license header.
31532 * tests/example_functional_test.c: Likewise.
31533 * tests/example_unit_test.c: Likewise.
31534 * tests/lib/functional_test.c: Likewise.
31535 * tests/lib/test.c: Likewise.
31536 * tests/lib/unit_test.c: Likewise.
31537
31538 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31539
31540 Use flag-based instead of hook-based video mode selection and "auto"
31541 keyword.
31542
31543 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31544 (grub_video_set_mode): Changed prototype. All users updated.
31545 (grub_video_check_mode_flag): New inline function.
31546 * video/video.c (parse_modespec): New function.
31547 (grub_video_set_mode): Parse flags and keywords.
31548
31549 2010-01-17 Carles Pina i Estany <carles@pina.cat>
31550
31551 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31552 fprintf call.
31553
31554 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31555
31556 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31557
31558 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31559
31560 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31561 string.
31562 * util/grub-emu.c (usage): Likewise.
31563 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31564 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31565 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31566 * util/i386/pc/grub-setup.c (usage): Likewise.
31567
31568 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31569
31570 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31571 the message.
31572 (grub_util_info): Likewise.
31573 (grub_util_error): Likewise.
31574 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31575 and/or new lines in `grub_util_warna', `grub_util_info',
31576 `grub_util_error' calls.
31577 * util/getroot.c: Likewise.
31578 * util/grub-editenv.c: Likewise.
31579 * util/grub-emu.c: Likewise.
31580 * util/grub-fstest.c: Likewise.
31581 * util/grub-mkdevicemap.c: Likewise.
31582 * util/grub-mkfont.c: Likewise.
31583 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31584 * util/grub-mkrelpath.c: Likewise.
31585 * util/grub-pe2elf.c: Likewise.
31586 * util/grub-probe.c: Likewise.
31587 * util/hostdisk.c: Likewise.
31588 * util/i386/efi/grub-mkimage.c: Likewise.
31589 * util/i386/pc/grub-mkimage.c: Likewise.
31590 * util/i386/pc/grub-setup.c: Likewise.
31591 * util/ieee1275/ofpath.c: Likewise.
31592 * util/mkisofs/eltorito.c: Likewise.
31593 * util/mkisofs/rock.c: Likewise.
31594 * util/mkisofs/write.c: Likewise.
31595 * util/raid.c: Likewise.
31596 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31597 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31598
31599 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31600
31601 Enable multiboot on non-pc.
31602
31603 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31604 multiboot.mod and multiboot2.mod to ...
31605 * conf/i386.rmk (pkglib_MODULES): ... here.
31606 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31607 Moved to ...
31608 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31609 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31610 Moved to ...
31611 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31612 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31613 Moved to ...
31614 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31615 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31616 Moved to ...
31617 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31618 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31619 relocator.mod.
31620 (ata_mod_SOURCES): Removed.
31621 (ata_mod_CFLAGS): Likewise.
31622 (ata_mod_LDFLAGS): Likewise.
31623 (relocator_mod_SOURCES): Removed.
31624 (relocator_mod_CFLAGS): Likewise.
31625 (relocator_mod_ASFLAGS): Likewise.
31626 (relocator_mod_LDFLAGS): Likewise.
31627 Include i386.mk.
31628 * include/grub/x86_64/multiboot.h: New file.
31629 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31630 Terminate EFI.
31631
31632 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31633
31634 Video multiboot support.
31635
31636 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31637 New prototype.
31638 * include/multiboot.h: Resynced with multiboot specification.
31639 * include/multiboot2.h: Likewise.
31640 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31641 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31642 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31643 (HAS_VGA_TEXT): Likewise.
31644 (accepts_video): New variable.
31645 (grub_multiboot_set_accepts_video): New function.
31646 (grub_multiboot_get_mbi_size): Account for video structures.
31647 (set_video_mode): New function.
31648 (retrieve_video_parameters): Likewise.
31649 (grub_multiboot_make_mbi): Fill video fields.
31650
31651 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31652
31653 Video driver ids.
31654
31655 * include/grub/video.h (grub_video_driver_id): New type.
31656 (grub_video_adapter): New member 'id'. All users updated.
31657 (grub_video_get_driver_id): New proto.
31658 * video/video.c (grub_video_get_driver_id): New function.
31659
31660 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31661
31662 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31663 `var=val'.
31664
31665 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31666
31667 * normal/cmdline.c (print_completion): Gettextizze.
31668
31669 2001-01-14 Carles Pina i Estany <carles@pina.cat>
31670
31671 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31672
31673 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31674
31675 * gettext/gettext.c (grub_gettext_translate): Push and pop
31676 grub_errno.
31677 (grub_gettext_delete_list): Change comment style.
31678 * kern/err.c (grub_error): Gettextizze.
31679 (grub_fatal): Gettextizze.
31680
31681 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31682
31683 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31684 (grub_linux16_real_boot): ... this.
31685 * kern/i386/loader.S: Likewise.
31686 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31687 (grub_linux16_boot): New function. Switches to text mode and calls
31688 grub_linux16_real_boot().
31689
31690 * loader/i386/bsd.c: Include `<grub/video.h>'.
31691 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31692 text mode before calling grub_unix_real_boot().
31693
31694 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31695 (grub_multiboot_boot): Switch to text mode before calling
31696 grub_relocator32_boot().
31697
31698 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31699 (grub_chainloader_boot): Switch to text mode before calling
31700 grub_chainloader_real_boot().
31701
31702 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31703 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31704
31705 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31706 non-empty value.
31707
31708 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31709 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31710
31711 * util/grub.d/00_header.in: Define a "savedefault" function for use
31712 in menu entries.
31713 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31714
31715 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31716 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31717
31718 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31719 saved_entry if boot_once is unset.
31720 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31721 previous saved entry (i.e. grub-reboot).
31722
31723 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31724
31725 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31726
31727 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31728
31729 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31730 `var=val'.
31731 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31732
31733 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31734
31735 * util/grub-reboot.in: Fix --version output.
31736 * util/grub-set-default.in: Likewise.
31737
31738 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31739
31740 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31741 blocks.
31742
31743 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31744
31745 * util/grub.d/00_header.in: Quote the value assigned to `default',
31746 in case it contains spaces.
31747
31748 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31749
31750 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31751 `save_default_entry' call from the macosx case to the linux case.
31752
31753 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
31754 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
31755
31756 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31757 in `chosen' environment variable.
31758 * normal/menu_text.c (get_entry_number): Check if the variable
31759 matches the title of a menu entry.
31760 (run_menu): Pass menu to get_entry_number.
31761
31762 * util/grub-reboot.in: New file.
31763 * util/grub-set-default.in: New file.
31764 * conf/common.rmk (grub-reboot): New utility.
31765 (grub-set-default): New utility.
31766
31767 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31768 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31769 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31770 move it to `saved_entry' for the next boot. Load environment on
31771 initialisation.
31772 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31773 * util/grub.d/10_hurd.in: Likewise.
31774 * util/grub.d/10_linux.in (linux_entry): Likewise.
31775 * util/grub.d/10_windows.in: Likewise.
31776 * util/grub.d/30_os-prober.in: Likewise.
31777
31778 * util/grub-install.in: Create environment block.
31779 * util/i386/efi/grub-install.in: Likewise.
31780 * util/ieee1275/grub-install.in: Likewise.
31781 * util/sparc64/ieee1275/grub-install.in: Likewise.
31782
31783 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31784
31785 Unit testing framework for GRUB.
31786
31787 * Makefile.in: Test framework build rules for 'make check'.
31788 * conf/tests.rmk: Build rules for individual tests and framework.
31789
31790 * include/grub/test.h: Header file for whitebox tests.
31791 * tests/lib/functional_test.c: Framework support for whitebox
31792 functional tests.
31793 * tests/lib/test.c: Common whitebox testing code for unit and
31794 functional tests.
31795 * tests/lib/unit_test.c: Framework support for whitebox unit
31796 tests.
31797
31798 * tests/util/grub-shell-tester.in: Support utility for grub-script
31799 tests.
31800 * tests/util/grub-shell.in: Utility to execute grub-script
31801 commands in a Qemu instance.
31802
31803 * tests/example_functional_test.c: Example whitebox functional
31804 test.
31805 * tests/example_grub_script_test.in: Example grub-script test.
31806 * tests/example_scripted_test.in: Example scripted test.
31807 * tests/example_unit_test.c: Example whitebox unit test.
31808
31809 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31810
31811 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31812 Add loader/i386/multiboot_mbi.c.
31813 (multiboot2_mod_SOURCES): Likewise.
31814 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31815 (multiboot2_mod_SOURCES): Likewise.
31816 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31817 (grub_multiboot_make_mbi): Likewise.
31818 (grub_multiboot_free_mbi): Likewise.
31819 (grub_multiboot_init_mbi): Likewise.
31820 (grub_multiboot_add_module): Likewise.
31821 (grub_multiboot_set_bootdev): Likewise.
31822 * loader/i386/multiboot.c (mbi): Removed.
31823 (mbi_dest): Likewise.
31824 (alloc_mbi): New variable.
31825 (grub_multiboot_payload_size): Removed. All users updated.
31826 (grub_multiboot_pure_size): New variable.
31827 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31828 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31829 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31830 (grub_fill_multiboot_mmap): Likewise.
31831 (grub_multiboot_get_bootdev): Likewise.
31832 (grub_multiboot): Use multiboot_mbi functions.
31833 * loader/i386/multiboot_mbi.c: New file.
31834
31835 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31836
31837 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31838 it would result in module crash.
31839
31840 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31841
31842 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31843 (grub_ofconsole_getwh): Split to ...
31844 (grub_ofconsole_getwh): ... this.
31845 (grub_ofconsole_dimensions): ...and this.
31846 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31847
31848 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31849
31850 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31851
31852 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31853
31854 * loader/i386/pc/multiboot2.c: Removed stalled file.
31855
31856 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31857
31858 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31859 Reported by: Grégoire Sutre
31860
31861 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31862
31863 * util/misc.c (canonicalize_file_name): New function.
31864 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31865 instead of realpath().
31866
31867 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
31868
31869 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31870 and make it clearer that it's optional. Based on confusion
31871 witnessed on IRC.
31872
31873 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31874
31875 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31876 in premature implicit newline.
31877
31878 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31879
31880 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31881 which resulted in garbled command line at the end of screen.
31882
31883 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31884
31885 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31886 initialization with similar approach as with other Linux loaders.
31887
31888 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31889
31890 Fix i386-ieee1275 build.
31891
31892 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31893 and grub_term_height() for video_{width,height} initialization.
31894
31895 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31896
31897 Fix grub-emu build.
31898
31899 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31900
31901 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31902 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31903
31904 Support for multiple terminals.
31905
31906 * Makefile.in (pkglib_DATA): terminal.lst.
31907 (terminal.lst): New target.
31908 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31909 (GRUB_MOD_INIT(handler)): Likewise.
31910 (GRUB_MOD_FINI(handler)): Likewise.
31911 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31912 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31913 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31914 (grub_cmd_sleep): Use grub_term_save_pos.
31915 * commands/terminal.c: New file.
31916 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31917 commands/terminal.c and lib/charset.c.
31918 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31919 (pkglib_MODULES): Add terminal.mod.
31920 (terminal_mod_SOURCES): New variable.
31921 (terminal_mod_CFLAGS): Likewise.
31922 (terminal_mod_LDFLAGS): Likewise.
31923 * genhandlerlist.sh: Don't handle terminals.
31924 * genmk.rb: Generate terminal-*.lst.
31925 * genterminallist.sh: New file.
31926 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31927 (grub_is_valid_utf8): Likewise.
31928 (grub_utf8_to_ucs4_alloc): Likewise.
31929 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31930 (grub_menu_register_viewer): Changed argument.
31931 (grub_menu_try_text): New proto.
31932 (grub_gfxmenu_try_hook): New declaration.
31933 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31934 (grub_menu_init_page): Additional argument term.
31935 (grub_normal_init_page): Likewise.
31936 (grub_cmdline_get): Arguments simplified.
31937 (grub_utf8_to_ucs4_alloc): Removed.
31938 (grub_print_ucs4): Additional argument term.
31939 (grub_getstringwidth): Likewise.
31940 (grub_print_message_indented): Likewise.
31941 (grub_menu_text_register_instances): New proto.
31942 (grub_show_menu): Likewise.
31943 (read_terminal_list): Likewise.
31944 (grub_set_more): Likewise.
31945 * include/grub/parser.h: Include handler.h.
31946 * include/grub/reader.h: Rewritten.
31947 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31948 (GRUB_TERM_WIDTH): Changed to function.
31949 (GRUB_TERM_HEIGHT): Likewise.
31950 (GRUB_TERM_BORDER_WIDTH): Likewise.
31951 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31952 (GRUB_TERM_NUM_ENTRIES): Likewise.
31953 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31954 (GRUB_TERM_CURSOR_X): Likewise.
31955 (grub_term_input_class): Likewise.
31956 (grub_term_output_class): Likewise.
31957 (grub_term_outputs_disabled): New declaration.
31958 (grub_term_inputs_disabled): Likewise.
31959 (grub_term_outputs): Likewise.
31960 (grub_term_inputs): Likewise.
31961 (grub_term_register_input): Rewritten.
31962 (grub_term_register_output): Likewise.
31963 (grub_term_unregister_input): Likewise.
31964 (grub_term_unregister_output): Likewise.
31965 (FOR_ACTIVE_TERM_INPUTS): New macro.
31966 (FOR_DISABLED_TERM_INPUTS): Likewise.
31967 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31968 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31969 * include/grub/terminfo.h: Add oterm argument to all protypes.
31970 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31971 Use grub_rescue_run.
31972 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31973 All users updated.
31974 * kern/reader.c: Removed. All users updated.
31975 * kern/rescue_reader.c (grub_rescue_init): Removed.
31976 (grub_rescue_reader): Likewise.
31977 (grub_register_rescue_reader): Likewise.
31978 (grub_rescue_run): New function based on kern/reader.c.
31979 * kern/term.c: Adapted for multiterm.
31980 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31981 (grub_is_valid_utf8): Likewise.
31982 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31983 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31984 right terminal.
31985 * loader/i386/linux.c (grub_linux_boot): Likewise.
31986 * normal/auth.c (grub_username_get): New function.
31987 (grub_auth_check_authentication): Use grub_username_get.
31988 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31989 * normal/color.c: Adapt for multiterm.
31990 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31991 (grub_normal_init_page): Additional argument term.
31992 (read_lists): Call read_terminal_lists.
31993 (grub_enter_normal_mode): Call grub_cmdline_run.
31994 Handle grub_normal_exit_level.
31995 (grub_cmd_normal): Make reentrant.
31996 (grub_cmd_normal_exit): New function.
31997 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31998 * normal/menu.c: Adapt for multiterm.
31999 * normal/menu_entry.c: Likewise.
32000 * normal/menu_text.c: Likewise.
32001 * normal/menu_viewer.c: Removed. All users updated.
32002 * normal/term.c: New file.
32003 * util/console.c: Change order of includes to workaround a bug in
32004 ncurses headers.
32005 * term/terminfo.c: New argument oterm on all exported functions.
32006 All users updated.
32007 * util/grub-editenv.c (grub_term_input_class): Removed.
32008 (grub_term_output_class): Likewise.
32009
32010 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32011
32012 Make loader output a bit more user-friendly.
32013
32014 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
32015 is being loaded. Likewise for the Hurd.
32016
32017 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
32018 that kernel of FreeBSD ${version} is being loaded.
32019
32020 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
32021 grub_dprintf().
32022 (grub_cmd_initrd): Likewise.
32023 * util/grub.d/10_linux.in (linux_entry): Print message indicating
32024 that Linux ${version} is being loaded. Likewise for initrd.
32025
32026 2010-01-09 Carles Pina i Estany <carles@pina.cat>
32027
32028 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
32029
32030 2010-01-08 Carles Pina i Estany <carles@pina.cat>
32031
32032 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
32033 (GRUB_MOD_INIT): Gettextizze.
32034 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
32035 (GRUB_MOD_INIT): Gettextizze.
32036 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
32037 (grub_cmd_linux): Capitalise Linux.
32038 (GRUB_MOD_INIT): Gettextizze.
32039 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
32040 (grub_cmd_linux): Capitalise Linux.
32041 (GRUB_MOD_INIT): Gettextizze.
32042 * loader/i386/linux.c: Include `<grub/i18n.h>'.
32043 (grub_cmd_linux): Capitalise Linux.
32044 (GRUB_MOD_INIT): Gettextizze.
32045 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
32046 (GRUB_MOD_INIT): Gettextizze.
32047 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
32048 (grub_cmd_linux): Capitalise Linux.
32049 (GRUB_MOD_INIT): Gettextizze.
32050 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
32051 (grub_cpu_xnu_init): Gettextizze.
32052 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
32053 (GRUB_MOD_INIT): Gettextizze.
32054 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
32055 (GRUB_MOD_INIT): Gettextizze.
32056 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
32057 (grub_linux_load64): Capitalise Linux.
32058 (GRUB_MOD_INIT): Gettextizze.
32059 * loader/xnu.c: Include `<grub/i18n.h>'.
32060 (GRUB_MOD_INIT): Gettextizze.
32061 * po/POTFILES: Add `loader/efi/appleloader.c',
32062 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
32063 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
32064 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
32065 `loader/i386/xnu.c', `loader/multiboot_loader.c',
32066 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
32067 and `loader/xnu.c'.
32068
32069 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32070
32071 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
32072
32073 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32074
32075 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
32076 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
32077 * util/mkisofs/mkisofs.c (main): Readjust --version output.
32078
32079 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32080
32081 Reset Multiboot 2 support. New loader implements the draft in
32082 /branches/multiboot2 and shares as much code as possible with the
32083 production Multiboot 1 implementation.
32084
32085 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
32086 * loader/multiboot2.c: Likewise.
32087 * loader/i386/multiboot_helper.S: Likewise.
32088 * include/multiboot2.h: Replace with latest version from the draft
32089 in /branches/multiboot2.
32090
32091 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
32092 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
32093 and `loader/multiboot2.c'.
32094 (pkglib_MODULES): Add `multiboot2.mod'.
32095 (multiboot2_mod_SOURCES): New variable.
32096 (multiboot2_mod_LDFLAGS): Likewise.
32097 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
32098
32099 * conf/i386-pc.rmk: Likewise.
32100
32101 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32102 (multiboot_mod_SOURCES): Remove variable.
32103 (multiboot_mod_LDFLAGS): Likewise.
32104 (multiboot_mod_CFLAGS): Likewise.
32105
32106 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
32107 `<multiboot2.h>' instead of `<multiboot.h>'.
32108 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
32109 (MULTIBOOT_HEADER_MAGIC): New macros.
32110
32111 * loader/multiboot_loader.c (module_version_status): Remove variable.
32112 (find_multi_boot2_header): Remove function.
32113 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
32114 logic. Always check for the Multiboot version we're compiling for.
32115 (grub_cmd_module_loader): Likewise.
32116 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
32117 command instead of `multiboot'.
32118
32119 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32120
32121 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
32122 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
32123 all users.
32124
32125 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32126 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32127
32128 Fix breakage introduced with previous commit.
32129
32130 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
32131 commands.
32132 * normal/handler.c (read_handler_list): Revert part of previous commit
32133 affecting this file.
32134 * normal/main.c (read_lists): Move read_handler_list() call back to ...
32135 (grub_normal_execute): ... here.
32136
32137 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32138
32139 Merge prefix-redefinition-fix branch.
32140
32141 * normal/autofs.c (read_fs_list): Make function capable of being
32142 run multiple times, gracefuly replacing the previous data
32143 structures.
32144 * normal/dyncmd.c (read_command_list): Likewise.
32145 * normal/handler.c (read_handler_list): Likewise.
32146 * normal/main.c (read_lists): New function. Calls all the
32147 list reading functions.
32148 (grub_normal_execute): Use read_lists() instead of calling all
32149 list reading functions explicitly. Register read_lists() as a
32150 variable hook attached to ${prefix}.
32151
32152 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32153
32154 Merge crypto branch.
32155
32156 * Makefile.in (pkglib_DATA): Add crypto.lst.
32157 (crypto.lst): New target.
32158 * commands/hashsum.c: New file.
32159 * commands/password.c (check_password): Use grub_crypto_memcmp.
32160 * commands/password_pbkdf2.c: New file.
32161 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32162 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32163 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32164 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32165 -I$(srcdir)/lib/libgcrypt_wrap.
32166 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32167 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32168 password_pbkdf2.mod.
32169 (crypto_mod_SOURCES): New variable.
32170 (crypto_mod_CFLAGS): Likewise.
32171 (crypto_mod_LDFLAGS): Likewise.
32172 (hashsum_mod_SOURCES): New variable.
32173 (hashsum_mod_CFLAGS): Likewise.
32174 (hashsum_mod_LDFLAGS): Likewise.
32175 (pbkdf2_mod_SOURCES): New variable.
32176 (pbkdf2_mod_CFLAGS): Likewise.
32177 (pbkdf2_mod_LDFLAGS): Likewise.
32178 (password_pbkdf2_mod_SOURCES): New variable.
32179 (password_pbkdf2_mod_CFLAGS): Likewise.
32180 (password_pbkdf2_mod_LDFLAGS): Likewise.
32181 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32182 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32183 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32184 Include conf/gcry.rmk.
32185 * include/grub/auth.h: Rewritten.
32186 * include/grub/crypto.h: New file.
32187 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32188 * include/grub/normal.h (read_crypto_list): New prototype.
32189 * lib/crypto.c: New file.
32190 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32191 * lib/pbkdf2.c: Likewise.
32192 * normal/auth.c (grub_auth_strcmp): Removed.
32193 (grub_iswordseparator): Likewise.
32194 (grub_auth_strword): Likewise.
32195 (is_authenticated): Use grub_strword.
32196 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32197 and grub_strword. Pass entered password to authentication callback.
32198 * normal/crypto.c: New file.
32199 * normal/main.c: Call read_crypto_list.
32200 * util/grub-mkpasswd-pbkdf2.c: New file.
32201 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32202
32203 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32204
32205 Fix descent and ascent calculation.
32206
32207 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32208 (options): New option "asce".
32209 (usage): Likewise.
32210 (add_char): Ignore invalid glyphs for descent calculation.
32211 Calculate ascent from actual content.
32212 (print_glyphs): Use 'asce'.
32213 (write_font): Likewise. Allow ascent override.
32214 (main): Handle "asce" option.
32215
32216 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32217
32218 * kern/err.c: Include `<grub/i18n.h>'.
32219 (grub_print_error): Add full stop. Gettextizze.
32220 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32221 (grub_bsd_load_elf): Capitalise ELF.
32222 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32223 (grub_cmd_freebsd_module): Likewise.
32224 (grub_cmd_freebsd_module_elf): Likewise.
32225 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32226
32227 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32228
32229 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32230 * commands/search_file.c (HELP_MESSAGE): New macro.
32231 * commands/search_label.c (HELP_MESSAGE): Likewise.
32232 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32233 * po/POTFILES: Add `commands/search_file.c',
32234 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32235 `commands/search.c'.
32236
32237 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32238
32239 * config.rpath: Update from Gnulib.
32240
32241 2010-01-05 Yves Blusseau <blusseau@zetam.org>
32242
32243 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32244
32245 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32246
32247 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32248
32249 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32250
32251 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32252 arguments to fread so that we get a return value in bytes, rather
32253 than something that will normally be rounded down to 0.
32254 Adjust error handling to avoid producing garbage when size_t is not
32255 the same size as long long.
32256
32257 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32258
32259 * util/mkisofs/write.c (padblock_write): Check return value of
32260 fread.
32261
32262 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32263
32264 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32265 floppy images now.
32266
32267 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32268
32269 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32270
32271 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32272 instead of manual alignment.
32273 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32274 verbose). Avoid attempts to read past end of the device
32275 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32276 but GRUB_DISK_CACHE_SIZE may exceed that).
32277
32278 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32279
32280 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32281 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32282 it to upper layer.
32283
32284 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32285
32286 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32287 New constant.
32288 (grub_efi_piwg_device_path): New structure
32289 (grub_efi_piwg_device_path_t): New type.
32290 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32291 (devpath_1): Transform to a structure. All users updated.
32292 (devpath_2): Likewise.
32293 (devpath_3): Likewise.
32294 (devpath_4): Likewise.
32295 (devpath_5): Likewise.
32296
32297 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32298
32299 * loader/efi/appleloader.c: Restored. Update all users.
32300
32301 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32302
32303 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32304
32305 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32306 (struct boot_blocklist): Move from here ...
32307 * include/grub/i386/pc/boot.h [ASM_FILE]
32308 (struct grub_boot_blocklist): ... to here. Update all users.
32309 (setup): Only initialize `start' member of `first_block'
32310 structure. Add assert() calls to verify the other members.
32311
32312 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32313 (generate_image): Fix broken blocklist length initialization.
32314 Add assert() call to verify blocklist `segment' field.
32315
32316 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32317
32318 * loader/efi/appleloader.c: Remove. Update all users.
32319
32320 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32321
32322 * boot/i386/pc/boot.S: Update copyright year.
32323 * boot/i386/pc/cdboot.S: Likewise.
32324 * boot/i386/pc/diskboot.S: Likewise.
32325 * boot/i386/pc/lnxboot.S: Likewise.
32326 * boot/i386/pc/pxeboot.S: Likewise.
32327 * bus/pci.c: Likewise.
32328 * commands/cmp.c: Likewise.
32329 * commands/help.c: Likewise.
32330 * commands/hexdump.c: Likewise.
32331 * commands/i386/pc/halt.c: Likewise.
32332 * commands/i386/pc/play.c: Likewise.
32333 * commands/i386/pc/vbeinfo.c: Likewise.
32334 * commands/ls.c: Likewise.
32335 * commands/test.c: Likewise.
32336 * disk/dmraid_nvidia.c: Likewise.
32337 * disk/i386/pc/biosdisk.c: Likewise.
32338 * disk/ieee1275/nand.c: Likewise.
32339 * disk/ieee1275/ofdisk.c: Likewise.
32340 * disk/lvm.c: Likewise.
32341 * disk/raid.c: Likewise.
32342 * disk/raid6_recover.c: Likewise.
32343 * disk/scsi.c: Likewise.
32344 * fs/affs.c: Likewise.
32345 * fs/cpio.c: Likewise.
32346 * fs/ext2.c: Likewise.
32347 * fs/hfs.c: Likewise.
32348 * fs/iso9660.c: Likewise.
32349 * fs/ntfs.c: Likewise.
32350 * fs/sfs.c: Likewise.
32351 * fs/udf.c: Likewise.
32352 * fs/ufs.c: Likewise.
32353 * fs/xfs.c: Likewise.
32354 * gencmdlist.sh: Likewise.
32355 * genmk.rb: Likewise.
32356 * include/grub/disk.h: Likewise.
32357 * include/grub/efi/api.h: Likewise.
32358 * include/grub/efi/efi.h: Likewise.
32359 * include/grub/efi/pe32.h: Likewise.
32360 * include/grub/elf.h: Likewise.
32361 * include/grub/fs.h: Likewise.
32362 * include/grub/i386/at_keyboard.h: Likewise.
32363 * include/grub/i386/pc/memory.h: Likewise.
32364 * include/grub/i386/pc/vbe.h: Likewise.
32365 * include/grub/i386/pci.h: Likewise.
32366 * include/grub/i386/tsc.h: Likewise.
32367 * include/grub/ieee1275/ieee1275.h: Likewise.
32368 * include/grub/ntfs.h: Likewise.
32369 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32370 * include/grub/sparc64/libgcc.h: Likewise.
32371 * include/grub/symbol.h: Likewise.
32372 * include/grub/types.h: Likewise.
32373 * include/multiboot2.h: Likewise.
32374 * io/gzio.c: Likewise.
32375 * kern/device.c: Likewise.
32376 * kern/disk.c: Likewise.
32377 * kern/efi/efi.c: Likewise.
32378 * kern/efi/mm.c: Likewise.
32379 * kern/elf.c: Likewise.
32380 * kern/file.c: Likewise.
32381 * kern/i386/dl.c: Likewise.
32382 * kern/i386/pc/init.c: Likewise.
32383 * kern/i386/pc/startup.S: Likewise.
32384 * kern/ieee1275/ieee1275.c: Likewise.
32385 * kern/ieee1275/init.c: Likewise.
32386 * kern/main.c: Likewise.
32387 * kern/mm.c: Likewise.
32388 * kern/powerpc/dl.c: Likewise.
32389 * kern/sparc64/dl.c: Likewise.
32390 * kern/x86_64/dl.c: Likewise.
32391 * lib/hexdump.c: Likewise.
32392 * loader/efi/appleloader.c: Likewise.
32393 * loader/i386/ieee1275/linux.c: Likewise.
32394 * loader/i386/pc/chainloader.c: Likewise.
32395 * loader/i386/pc/linux.c: Likewise.
32396 * loader/i386/pc/multiboot2.c: Likewise.
32397 * loader/ieee1275/multiboot2.c: Likewise.
32398 * loader/multiboot2.c: Likewise.
32399 * loader/multiboot_loader.c: Likewise.
32400 * loader/powerpc/ieee1275/linux.c: Likewise.
32401 * normal/completion.c: Likewise.
32402 * normal/menu_entry.c: Likewise.
32403 * partmap/apple.c: Likewise.
32404 * util/grub.d/10_hurd.in: Likewise.
32405 * util/hostfs.c: Likewise.
32406 * video/readers/png.c: Likewise.
32407
32408 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
32409
32410 * include/grub/misc.h (GNUC_PREREQ): New macro.
32411 (ATTRIBUTE_ERROR): New macro.
32412 * include/grub/list.h (grub_bad_type_cast_real): Use
32413 ATTRIBUTE_ERROR.
32414
32415 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32416
32417 * normal/menu_text.c (print_message): Change messages.
32418
32419 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32420
32421 * normal/menu_entry.c (store_completion): Gettextizze.
32422
32423 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32424
32425 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32426
32427 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32428
32429 * po/POTFILES: Sort correctly.
32430
32431 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32432
32433 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32434 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32435 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32436 full stop.
32437 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32438 summary. Gettextizze the strings.
32439 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32440 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32441 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32442 full stop.
32443 (GRUB_MOD_INIT): Remove command name from summary.
32444 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32445 summary.
32446 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32447 * term/i386/pc/serial.c (options): Add full stops.
32448 (GRUB_MOD_INIT): Remove command name from the summary.
32449
32450 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32451
32452 * commands/acpi.c: Gettextizze help strings and/or options. Include
32453 `grub/i18n.h' if needed.
32454 * commands/blocklist.c: Likewise.
32455 * commands/boot.c: Likewise.
32456 * commands/cat.c: Likewise.
32457 * commands/cmp.c: Likewise.
32458 * commands/configfile.c: Likewise.
32459 * commands/crc.c: Likewise.
32460 * commands/date.c: Likewise.
32461 * commands/echo.c: Likewise.
32462 * commands/efi/fixvideo.c: Likewise.
32463 * commands/efi/loadbios.c: Likewise.
32464 * commands/gptsync.c: Likewise.
32465 * commands/halt.c: Likewise.
32466 * commands/handler.c: Likewise.
32467 * commands/hdparm.c: Likewise.
32468 * commands/hexdump.c: Likewise.
32469 * commands/i386/cpuid.c: Likewise.
32470 * commands/i386/pc/drivemap.c: Likewise.
32471 * commands/i386/pc/halt.c: Likewise.
32472 * commands/i386/pc/pxecmd.c: Likewise.
32473 * commands/i386/pc/vbeinfo.c: Likewise.
32474 * commands/i386/pc/vbetest.c: Likewise.
32475 * commands/ieee1275/suspend.c: Likewise.
32476 * commands/keystatus.c: Likewise.
32477 * commands/loadenv.c: Likewise.
32478 * commands/ls.c: Likewise.
32479 * commands/lsmmap.c: Likewise.
32480 * commands/lspci.c: Likewise.
32481 * commands/memrw.c: Likewise.
32482 * commands/minicmd.c: Likewise.
32483 * commands/parttool.c: Likewise.
32484 * commands/password.c: Likewise.
32485 * commands/probe.c: Likewise.
32486 * commands/read.c: Likewise.
32487 * commands/reboot.c: Likewise.
32488 * commands/search.c: Likewise.
32489 * commands/sleep.c: Likewise.
32490 * commands/test.c: Likewise.
32491 * commands/true.c: Likewise.
32492 * commands/usbtest.c: Likewise.
32493 * commands/videotest.c: Likewise.
32494 * commands/xnu_uuid.c: Likewise.
32495 * disk/loopback.c: Likewise.
32496 * hello/hello.c: Likewise.
32497 * loader/i386/bsd.c: Likewise.
32498 * term/i386/pc/serial.c: Likewise.
32499 * po/POTFILES: Add new files.
32500
32501 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
32502
32503 * term/i386/pc/at_keyboard.c
32504 (keyboard_controller_wait_untill_ready): Rename to ...
32505 (keyboard_controller_wait_until_ready): ... this. Update all users.
32506
32507 2010-01-01 Carles Pina i Estany <carles@pina.cat>
32508
32509 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32510 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32511 string using string width.
32512 * normal/menu_text.c (grub_print_message_indented): Use
32513 grub_print_spaces and not print_spaces.
32514 (print_timeout): Likewise.
32515 (print_spaces): Move to...
32516 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32517
32518 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32519
32520 Import from Gnulib.
32521
32522 * gnulib/getdelim.c: New file.
32523 * gnulib/getline.c: Likewise.
32524
32525 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32526
32527 * include/grub/list.h (grub_assert_fail): Removed.
32528 (grub_bad_type_cast_real): New function.
32529 (grub_bad_type_cast): New macro.
32530 (GRUB_AS_LIST): Use grub_bad_type_cast.
32531 (GRUB_AS_LIST_P): Likewise.
32532 (GRUB_AS_NAMED_LIST): Likewise.
32533 (GRUB_AS_NAMED_LIST_P): Likewise.
32534 (GRUB_AS_PRIO_LIST): Likewise.
32535 (GRUB_AS_PRIO_LIST_P): Likewise.
32536 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
32537
32538 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32539
32540 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32541 Fix syntax error.
32542
32543 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32544
32545 * configure.ac: Check for TARGET_CFLAGS initialization before we
32546 initialize it ourselves (sigh).
32547 Move a few modifications to TARGET_CFLAGS to be unconditional
32548 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32549 eh_frame)
32550
32551 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32552 * term/i386/pc/at_keyboard.c
32553 (keyboard_controller_wait_untill_ready): Likewise.
32554 (keyboard_controller_led): Rename `led_status' paramter to avoid
32555 name conflict.
32556
32557 2009-12-28 Carles Pina i Estany <carles@pina.cat>
32558
32559 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32560 quotes.
32561
32562 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32563
32564 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32565
32566 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32567
32568 * normal/menu_text.c (grub_print_message_indented): Prevent
32569 past-the-end-of-array dereference.
32570
32571 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32572
32573 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32574 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32575
32576 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32577
32578 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32579 * normal/main.c (grub_normal_read_line): Remove a space from the
32580 default prompt.
32581
32582 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32583
32584 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32585 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32586 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32587 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32588 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32589 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32590 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32591
32592 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32593
32594 * video/readers/jpeg.c (cmd): Declare.
32595 (grub_cmd_jpegtest): Use `grub_command_t' type.
32596 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32597 Assign to `cmd'.
32598 (GRUB_MOD_FINI): Use `cmd' to unregister.
32599 * video/readers/png.c (cmd): Declare.
32600 (grub_cmd_pngtest): Use `grub_command_t' type.
32601 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32602 Assign to `cmd'.
32603 (GRUB_MOD_FINI): Use `cmd' to unregister.
32604 * video/readers/tga.c (cmd): Declare.
32605 (grub_cmd_tgatest): Use `grub_command_t' type.
32606 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32607 Assign to `cmd'.
32608 (GRUB_MOD_FINI): Use `cmd' to unregister.
32609
32610 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32611
32612 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32613 stops.
32614 * kern/corecmd.c (grub_register_core_commands): Likewise.
32615 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32616 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32617 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32618 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32619 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32620 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32621 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32622 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32623 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32624 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32625 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32626 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32627 * normal/handler.c (insert_handler): Likewise.
32628 * normal/main.c (GRUB_MOD_INIT): Likewise.
32629 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32630
32631 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32632
32633 * commands/help.c (grub_cmd_help): Print the command name before the
32634 summary.
32635 (GRUB_MOD_INIT): Remove command name from the summary.
32636 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
32637 string as summary.
32638 * lib/arg.c (find_long): Print the command name before the summary.
32639 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32640 summary.
32641 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32642 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32643 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32644 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32645 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32646 * commands/date.c (GRUB_MOD_INIT): Likewise.
32647 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32648 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32649 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32650 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32651 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32652 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32653 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32654 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32655 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32656 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32657 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32658 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32659 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32660 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32661 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32662 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32663 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32664 * commands/password.c (GRUB_MOD_INIT): Likewise.
32665 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32666 * commands/read.c (GRUB_MOD_INIT): Likewise.
32667 * commands/search.c (GRUB_MOD_INIT): Likewise.
32668 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32669 * commands/test.c (GRUB_MOD_INIT): Likewise.
32670 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32671 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32672 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32673 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32674 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32675 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32676 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32677 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32678 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32679 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32680 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32681 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32682 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32683 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32684
32685 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32686
32687 Use search command for preliminar UUID search.
32688
32689 * commands/search.c: Split into ...
32690 * commands/search_wrap.c: ...this
32691 * commands/search.c: ...and this.
32692 * commands/search_file.c: New file.
32693 * commands/search_label.c: New file.
32694 * commands/search_uuid.c: New file.
32695 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32696 Add commands/search_wrap.c, commands/search_file.c,
32697 commands/search_label.c and commands/search_uuid.c.
32698 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32699 (search_mod_SOURCES): Set to commands/search_wrap.c.
32700 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32701 search_label.mod.
32702 (search_fs_file_mod_SOURCES): New variable.
32703 (search_fs_file_mod_CFLAGS): Likewise.
32704 (search_fs_file_mod_LDFLAGS): Likewise.
32705 (search_label_mod_SOURCES): Likewise.
32706 (search_label_mod_CFLAGS): Likewise.
32707 (search_label_mod_LDFLAGS): Likewise.
32708 (search_fs_uuid_mod_SOURCES): New variable.
32709 (search_fs_uuid_mod_CFLAGS): Likewise.
32710 (search_fs_uuid_mod_LDFLAGS): Likewise.
32711 (fs_file_mod_SOURCES): Removed.
32712 (fs_file_mod_CFLAGS): Likewise.
32713 (fs_file_mod_LDFLAGS): Likewise.
32714 (fs_uuid_mod_SOURCES): Removed.
32715 (fs_uuid_mod_CFLAGS): Likewise.
32716 (fs_uuid_mod_LDFLAGS): Likewise.
32717 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32718 Set to util/grub-install.in.
32719 * disk/fs_file.c: Removed.
32720 * disk/fs_uuid.c: Likewise.
32721 * include/grub/search.h: New file.
32722 * util/grub-install.in: Handle sparc64.
32723 Create and use load.cfg.
32724 * util/sparc64/ieee1275/grub-install.in: Removed.
32725
32726 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32727
32728 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32729 Ignore return status if CF is cleared.
32730 (grub_biosdisk_get_diskinfo_standard): Likewise.
32731
32732 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32733
32734 * term/i386/pc/at_keyboard.c
32735 (keyboard_controller_wait_untill_ready): New function.
32736 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32737 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32738 for keyboard polling, rather than duplicate the same loop. This
32739 saves a few bytes in code size.
32740
32741 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32742
32743 Support for (pxe[:server[:gateway]]) syntax and
32744 use environment variable for PXE.
32745
32746 * commands/i386/pc/pxecmd.c (options): Removed.
32747 (print_ip): Removed.
32748 (grub_cmd_pxe): Removed
32749 (grub_cmd_pxe_unload): New function.
32750 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32751 (grub_pxe_your_ip): Made static.
32752 (grub_pxe_default_server_ip): Likewise.
32753 (grub_pxe_default_gateway_ip): Likewise.
32754 (grub_pxe_blksize): Likewise.
32755 (parse_ip): New function.
32756 (grub_pxe_open): Support server and gateway specification.
32757 (grub_pxe_close): Free disk->data.
32758 (grub_pxefs_open): Use disk->data.
32759 (grub_pxefs_read): Likewise.
32760 (grub_env_write_readonly): New function.
32761 (set_mac_env): Likewise.
32762 (set_env_limn_ro): Likewise.
32763 (parse_dhcp_vendor): Likewise.
32764 (grub_pxe_detect): Set the environment variables.
32765 (set_ip_env): New function.
32766 (write_ip_env): Likewise.
32767 (grub_env_write_pxe_default_server): Likewise.
32768 (grub_env_write_pxe_default_gateway): Likewise.
32769 (grub_env_write_pxe_blocksize): Likewise.
32770 (GRUB_MOD_INIT(pxe)): Set environment variables.
32771 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32772 (grub_pxe_mac_addr_t): ... this. All users updated.
32773 (grub_pxe_your_ip): Removed.
32774 (grub_pxe_server_ip): Likewise.
32775 (grub_pxe_gateway_ip): Likewise.
32776 (grub_pxe_blksize): Likewise.
32777
32778 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32779
32780 * commands/help.c: Include `<grub/i18n.h>'.
32781 (grub_cmd_help): Gettextizze.
32782 (GRUB_MOD_INIT): Likewise.
32783 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32784 (GRUB_MOD_INIT): Gettextizze.
32785 * commands/search.c: Include `<grub/i18n.h>'.
32786 (options): Gettextizze.
32787 (GRUB_MOD_INIT): Gettextizze.
32788 * lib/arg.c: Include `<grub/i18n.h>'.
32789 (help_options): Gettextizze.
32790 (find_long): Likewise.
32791 (grub_arg_show_help): Likewise.
32792 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32793 (read_command_list): Gettextizze.
32794 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
32795 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
32796
32797 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32798
32799 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32800 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32801 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32802 (led_status): New variable.
32803 (keyboard_controller_led): New function.
32804 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32805 update led status for caps lock, num lock and scroll lock.
32806
32807 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
32808
32809 * util/hostdisk.c (open_device): Fix a comment.
32810
32811 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32812
32813 * util/grub-install.in (host_os): New variable.
32814 * util/i386/efi/grub-install.in (host_os): Likewise.
32815
32816 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32817
32818 * util/mkisofs/write.c (padblock_write): Abort when given an
32819 excedingly large embed image, instead of silently truncating it.
32820
32821 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32822
32823 * include/multiboot.h: Indentation fixes.
32824
32825 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32826
32827 * include/multiboot.h (struct multiboot_aout_symbol_table)
32828 (struct multiboot_elf_section_header_table): New structure
32829 declarations (stolen from GRUB Legacy).
32830 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32831 table information.
32832
32833 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32834 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32835 type aliases.
32836
32837 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32838
32839 * include/multiboot.h: Make comments src2texi-friendly.
32840
32841 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32842
32843 For consistency with [multiboot]/docs/boot.S.
32844
32845 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32846 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32847 (MULTIBOOT_MAGIC2): Rename from this ...
32848 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32849
32850 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32851
32852 * include/multiboot.h: Remove `<grub/types.h>'.
32853 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32854 types. Update all users.
32855
32856 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32857
32858 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32859 `couldn't' and `can not' by `cannot'.
32860 * commands/i386/pc/drivemap.c: Likewise.
32861 * disk/ata.c: Likewise.
32862 * disk/ieee1275/nand.c: Likewise.
32863 * fs/affs.c: Likewise.
32864 * fs/fat.c: Likewise.
32865 * fs/hfs.c: Likewise.
32866 * fs/hfsplus.c: Likewise.
32867 * fs/iso9660.c: Likewise.
32868 * fs/jfs.c: Likewise.
32869 * fs/minix.c: Likewise.
32870 * fs/reiserfs.c: Likewise.
32871 * fs/sfs.c: Likewise.
32872 * fs/udf.c: Likewise.
32873 * fs/ufs.c: Likewise.
32874 * fs/xfs.c: Likewise.
32875 * loader/powerpc/ieee1275/linux.c: Likewise.
32876 * loader/sparc64/ieee1275/linux.c: Likewise.
32877 * util/grub-probe.c: Likewise.
32878 * util/misc.c: Likewise.
32879
32880 2009-12-24 Carles Pina i Estany <carles@pina.cat>
32881
32882 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32883 grub_errno calls.
32884 * commands/acpi.c: Likewise.
32885 * commands/blocklist.c: Likewise.
32886 * commands/efi/loadbios.c: Likewise.
32887 * commands/i386/pc/drivemap.c: Likewise.
32888 * commands/loadenv.c: Likewise.
32889 * commands/memrw.c: Likewise.
32890 * commands/password.c: Likewise.
32891 * commands/videotest.c: Likewise.
32892 * disk/ata.c: Likewise.
32893 * disk/ata_pthru.c: Likewise.
32894 * disk/dmraid_nvidia.c: Likewise.
32895 * disk/ieee1275/nand.c: Likewise.
32896 * disk/ieee1275/ofdisk.c: Likewise.
32897 * disk/loopback.c: Likewise.
32898 * disk/lvm.c: Likewise.
32899 * disk/mdraid_linux.c: Likewise.
32900 * disk/raid.c: Likewise.
32901 * disk/raid6_recover.c: Likewise.
32902 * disk/scsi.c: Likewise.
32903 * efiemu/main.c: Likewise.
32904 * efiemu/mm.c: Likewise.
32905 * efiemu/pnvram.c: Likewise.
32906 * efiemu/symbols.c: Likewise.
32907 * font/font.c: Likewise.
32908 * fs/cpio.c: Likewise.
32909 * fs/hfsplus.c: Likewise.
32910 * fs/iso9660.c: Likewise.
32911 * fs/jfs.c: Likewise.
32912 * fs/minix.c: Likewise.
32913 * fs/ntfs.c: Likewise.
32914 * fs/ntfscomp.c: Likewise.
32915 * fs/reiserfs.c: Likewise.
32916 * fs/ufs.c: Likewise.
32917 * fs/xfs.c: Likewise.
32918 * gettext/gettext.c: Likewise.
32919 * include/grub/auth.h: Likewise.
32920 * kern/elf.c: Likewise.
32921 * kern/file.c: Likewise.
32922 * kern/ieee1275/init.c: Likewise.
32923 * kern/ieee1275/mmap.c: Likewise.
32924 * kern/ieee1275/openfw.c: Likewise.
32925 * kern/powerpc/dl.c: Likewise.
32926 * kern/sparc64/dl.c: Likewise.
32927 * lib/arg.c: Likewise.
32928 * loader/i386/bsd.c: Likewise.
32929 * loader/i386/bsdXX.c: Likewise.
32930 * loader/i386/efi/linux.c: Likewise.
32931 * loader/i386/efi/xnu.c: Likewise.
32932 * loader/i386/ieee1275/linux.c: Likewise.
32933 * loader/i386/linux.c: Likewise.
32934 * loader/i386/multiboot.c: Likewise.
32935 * loader/i386/pc/linux.c: Likewise.
32936 * loader/i386/pc/multiboot2.c: Likewise.
32937 * loader/i386/xnu.c: Likewise.
32938 * loader/ieee1275/multiboot2.c: Likewise.
32939 * loader/macho.c: Likewise.
32940 * loader/machoXX.c: Likewise.
32941 * loader/multiboot2.c: Likewise.
32942 * loader/multiboot_loader.c: Likewise.
32943 * loader/powerpc/ieee1275/linux.c: Likewise.
32944 * loader/sparc64/ieee1275/linux.c: Likewise.
32945 * loader/xnu.c: Likewise.
32946 * loader/xnu_resume.c: Likewise.
32947 * mmap/i386/pc/mmap.c: Likewise.
32948 * normal/menu_viewer.c: Likewise.
32949 * partmap/acorn.c: Likewise.
32950 * partmap/amiga.c: Likewise.
32951 * partmap/apple.c: Likewise.
32952 * script/lexer.c: Likewise.
32953 * term/gfxterm.c: Likewise.
32954 * term/i386/pc/serial.c: Likewise.
32955 * term/i386/pc/vga.c: Likewise.
32956 * term/ieee1275/ofconsole.c: Likewise.
32957 * term/terminfo.c: Likewise.
32958 * video/bitmap.c: Likewise.
32959 * video/efi_gop.c: Likewise.
32960 * video/efi_uga.c: Likewise.
32961 * video/fb/video_fb.c: Likewise.
32962 * video/i386/pc/vbe.c: Likewise.
32963 * video/readers/tga.c: Likewise.
32964 * video/video.c: Likewise.
32965
32966 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
32967
32968 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32969 * commands/lspci.c: Likewise.
32970 * commands/probe.c: Likewise.
32971 * commands/xnu_uuid.c: Likewise.
32972 * conf/i386-coreboot.rmk: Likewise.
32973 * conf/i386-efi.rmk: Likewise.
32974 * conf/i386-ieee1275.rmk: Likewise.
32975 * conf/i386-pc.rmk: Likewise.
32976 * conf/powerpc-ieee1275.rmk: Likewise.
32977 * conf/sparc64-ieee1275.rmk: Likewise.
32978 * conf/x86_64-efi.rmk: Likewise.
32979 * fs/i386/pc/pxe.c: Likewise.
32980 * gettext/gettext.c: Likewise.
32981 * include/grub/efi/graphics_output.h: Likewise.
32982 * include/grub/i386/pc/memory.h: Likewise.
32983 * kern/env.c: Likewise.
32984 * kern/i386/qemu/startup.S: Likewise.
32985 * lib/i386/pc/biosnum.c: Likewise.
32986 * lib/i386/relocator.c: Likewise.
32987 * lib/i386/relocator_asm.S: Likewise.
32988 * lib/relocator.c: Likewise.
32989 * loader/i386/bsd.c: Likewise.
32990 * loader/i386/multiboot.c: Likewise.
32991 * loader/i386/pc/chainloader.c: Likewise.
32992 * loader/i386/xnu.c: Likewise.
32993 * loader/xnu.c: Likewise.
32994 * normal/main.c: Likewise.
32995 * normal/menu_text.c: Likewise.
32996 * util/getroot.c: Likewise.
32997 * util/grub-mkconfig_lib.in: Likewise.
32998 * util/grub.d/00_header.in: Likewise.
32999 * util/i386/pc/grub-mkimage.c: Likewise.
33000 * util/mkisofs/eltorito.c: Likewise.
33001 * util/mkisofs/exclude.h: Likewise.
33002 * util/mkisofs/hash.c: Likewise.
33003 * util/mkisofs/iso9660.h: Likewise.
33004 * util/mkisofs/joliet.c: Likewise.
33005 * util/mkisofs/mkisofs.c: Likewise.
33006 * util/mkisofs/mkisofs.h: Likewise.
33007 * util/mkisofs/multi.c: Likewise.
33008 * util/mkisofs/name.c: Likewise.
33009 * util/mkisofs/rock.c: Likewise.
33010 * util/mkisofs/tree.c: Likewise.
33011 * util/mkisofs/write.c: Likewise.
33012 * video/efi_gop.c: Likewise.
33013
33014 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
33015
33016 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
33017 size counting.
33018
33019 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33020
33021 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
33022 * genmk.rb (class SCRIPT): Modify the target file instead of source.
33023
33024 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33025
33026 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
33027 (GRUB_MOD_INIT(memrw)): Update help line.
33028
33029 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33030
33031 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
33032 Use grub_extcmd_t. All users updated.
33033 (options): New variable.
33034 (grub_cmd_read): Restructure for readability. Support "-v" option.
33035 (grub_cmd_write): Restructure for readability.
33036
33037 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33038
33039 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
33040
33041 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33042
33043 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
33044 with the actual contents of the correspondending make variable.
33045 * util/grub-mkrescue.in (pkglib_DATA): New variable.
33046 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
33047 specifying `*.lst' and `efiemu??.o'
33048
33049 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33050
33051 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
33052 after function name.
33053 Noticed by Rene Engelhard <rene@debian.org>.
33054
33055 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33056
33057 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
33058 (options): New variable.
33059 (iospace): Likewise.
33060 (grub_lspci_iter): List IO spaces if "-i" was given.
33061 (grub_cmd_lspci): Parse options.
33062 (GRUB_MOD_INIT(lspci)): Use extcmd.
33063 (GRUB_MOD_FINI(lspci)): Likewise.
33064
33065 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33066
33067 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
33068 `function' keyword.
33069 Patch by Tony Mancill <tmancill@debian.org>.
33070
33071 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33072
33073 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
33074 (grub_uhci_portstatus): Likewise.
33075 (grub_uhci_portstatus): Add necessary delay.
33076 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
33077
33078 2009-12-21 Carles Pina i Estany <carles@pina.cat>
33079
33080 * commands/acpi.c (options): Fix capitalizations and/or full stops.
33081 (GRUB_MOD_INIT): Likewise.
33082 * commands/boot.c (GRUB_MOD_INIT): Likewise.
33083 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
33084 * commands/echo.c (options): Fix capitalizations and/or full stops.
33085 * commands/efi/loadbios.c (enable_rom_area): Likewise.
33086 (enable_rom_area): Likewise.
33087 (GRUB_MOD_INIT): Likewise.
33088 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
33089 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
33090 * commands/handler.c (GRUB_MOD_INIT): Likewise.
33091 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
33092 * commands/hexdump.c (options): Likewise.
33093 * commands/i386/cpuid.c (options): Likewise.
33094 (GRUB_MOD_INIT): Likewise.
33095 * commands/i386/pc/drivemap.c (options): Likewise.
33096 (GRUB_MOD_INIT): Likewise.
33097 * commands/i386/pc/halt (options): Likewise.
33098 (GRUB_MOD_INIT): Likewise.
33099 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
33100 * commands/i386/pc/pxecmd.c (options): Likewise.
33101 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
33102 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
33103 * commands/keystatus.c (options): Likewise.
33104 (GRUB_MOD_INIT): Likewise.
33105 * commands/loadenv.c (options): Likewise.
33106 * commands/ls.c (options): Likewise.
33107 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
33108 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
33109 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
33110 * commands/parttool.c (helpmsg): Likewise.
33111 * commands/probe.c (options): Likewise.
33112 * commands/read.c (GRUB_MOD_INIT): Likewise.
33113 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
33114 * commands/search.c (options): Likewise.
33115 * commands/sleep.c (options): Likewise.
33116 * commands/test.c (GRUB_MOD_INIT): Likewise.
33117 * commands/true.c (GRUB_MOD_INIT): Likewise.
33118 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
33119 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
33120 * lib/arg.c (help_options): Likewise.
33121 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
33122 `$(XGETTEXT)'.
33123 * po/POTFILES: Add `commands/loadenv.c'.
33124
33125 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
33126
33127 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
33128 instead of specifying them explicit.
33129
33130 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33131
33132 * NEWS: Add grub-probe support for GNU/Hurd.
33133
33134 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33135
33136 * NEWS: gettext was added after 1.97.
33137
33138 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33139
33140 * util/mkisofs/msdos_partition.h: New file (based on
33141 include/grub/msdos_partition.h).
33142 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33143 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33144 (ld_options, main): Recognize --protective-msdos-label.
33145 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33146 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33147 (padblock_write): If `use_protective_msdos_label' is set, patch a
33148 protective DOS-style label in the output image.
33149
33150 * util/grub-mkrescue.in: Use --protective-msdos-label.
33151
33152 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33153
33154 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33155 boot.
33156
33157 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33158
33159 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33160 variables.
33161 (ld_options, main): Recognize `--embedded-boot'.
33162 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33163 declarations.
33164 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33165 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33166 (padblock_write): Likewise. Rewrite to support embedded boot image.
33167
33168 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33169 for BIOS-based disk boot instead of only ElTorito.
33170
33171 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33172
33173 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33174 build (not needed for bootstrap).
33175
33176 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33177
33178 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33179 from i386-pc build (not needed for bootstrap).
33180 Rewrite a pair of strings.
33181
33182 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33183
33184 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33185
33186 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
33187
33188 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33189
33190 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33191
33192 * kern/env.c (grub_env_context_open): Mark exported variable for
33193 reexport.
33194
33195 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33196
33197 * kern/env.c (grub_env_export): Create nonexistent variables before
33198 exporting.
33199
33200 2009-12-20 Carles Pina i Estany <carles@pina.cat>
33201
33202 * include/grub/auth.h: Include `<grub/i18n.h>'.
33203 (GRUB_GET_PASSWORD): Gettextizze string.
33204 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33205 menu_text.c.
33206 (grub_utf8_to_ucs4_alloc): Fix indentation.
33207 (grub_print_ucs4): Likewise.
33208 (grub_getstringwidth): Likewise.
33209 (print_message_indented): New declaration.
33210 * normal/auth.c: Include `<grub/i18n.h>'.
33211 (grub_auth_check_authentication): Gettexttize string.
33212 * normal/cmdline.c: Include `<grub/i18n.h>'.
33213 (grub_cmdline_get): Gettextizze.
33214 * normal/color.c: Include `<grub/i18n.h>'.
33215 (grub_parse_color_name_pair): Gettexttize strings.
33216 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33217 string (use `print_message_indented').
33218 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33219 `include/grub/normal.h'.
33220 (print_message_indented): Renamed to ...
33221 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33222 used in normal/main.c).
33223 (print_message): Use `grub_print_message_indented' instead of
33224 `print_message_indented'.
33225 (print_timeout): Likewise.
33226 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33227 (grub_normal_print_device_info): Gettexttize strings.
33228 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33229
33230 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33231
33232 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33233 of arguments. Return number of tokens and not arguments. All users
33234 updated.
33235
33236 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33237
33238 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33239 non-MSDOS paritions.
33240
33241 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33242
33243 * include/grub/types.h (UNUSED): Removed since it conflicts with
33244 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33245 Reported by Grégoire Sutre.
33246
33247 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33248
33249 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33250 (grub_print_ucs4_alloc): Likewise.
33251 (grub_getstringwidth): Likewise.
33252 * normal/main.c (grub_normal_init_page): Gettextize version string.
33253 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33254 (getstringwidth): Renamed to ...
33255 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33256 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33257 (grub_print_ucs4): Remove `static' qualifer (now used in
33258 normal/main.c).
33259 * po/POTFILES: Add normal/main.c.
33260
33261 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33262
33263 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33264 (print_message_indented): Add `margin_left' and `margin_right'
33265 parameters.
33266 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33267 strings.
33268 (print_timeout): Use `print_message_indented' to print the message.
33269 Deletes `second_stage' parameter.
33270 (run_menu): Update `print_timeout' calls.
33271
33272 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33273
33274 Fix console palette on OpenFirmware.
33275
33276 * term/ieee1275/ofconsole.c (MAX): Removed.
33277 (colors): Redone based on VGA palette.
33278 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33279 colors are supported.
33280 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33281
33282 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33283
33284 Fix potential EfiEmu double prepare.
33285
33286 * efiemu/main.c (prepared): New variable
33287 (grub_efiemu_unload): Set prepare to '0'.
33288 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33289
33290 set_virtual_address_map support.
33291
33292 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33293 prototype.
33294 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33295 prototype.
33296 (grub_efiemu_crc32): Likewise.
33297 (grub_efiemu_crc64): Likewise.
33298 (grub_efiemu_set_virtual_address_map): Likewise.
33299 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33300 New definition.
33301 (grub_autoefi_set_virtual_address_map): Likewise.
33302 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33303 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33304 Restructure flow to accomodate it.
33305 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33306 (grub_efiemu_crc): Recompute CRC32.
33307 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33308 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33309 * efiemu/symbols.c (relocated_handle): New variable.
33310 (grub_efiemu_free_syms): Free relocated_handle.
33311 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33312 (grub_efiemu_write_sym_markers): New function.
33313 (grub_efiemu_set_virtual_address_map): Likewise.
33314
33315 Newer XNU parameters.
33316
33317 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33318 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33319 (grub_xnu_fill_devicetree): New prototype.
33320 (grub_xnu_heap_real_start): New variable.
33321 * loader/xnu.c (get_name_ptr): New function.
33322 (grub_xnu_load_driver): Fill namelen and name.
33323
33324 64-bit xnu support.
33325
33326 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33327 and 'loader/macho64.c'.
33328 * conf/i386-pc.rmk: Likewise.
33329 * conf/x86_64-efi.rmk: Likewise.
33330 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33331 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33332 * include/grub/macho.h (grub_macho_segment64): New structure.
33333 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33334 (grub_macho_size32): ... to this.
33335 (grub_macho32_get_entry_point): Renamed from ...
33336 (grub_macho_get_entry_point32): ... to this.
33337 (grub_macho_contains_macho64): New prototype.
33338 (grub_macho_size64): Likewise.
33339 (grub_macho_get_entry_point64): Likewise.
33340 (grub_macho32_load): Renamed from ...
33341 (grub_macho_load32): ... to this.
33342 (grub_macho32_filesize): Renamed from ...
33343 (grub_macho_filesize32): ... to this.
33344 (grub_macho32_readfile): Renamed from ...
33345 (grub_macho_readfile32): ... to this.
33346 (grub_macho_filesize64): New prototype.
33347 (grub_macho_readfile64): Likewise.
33348 (grub_macho_parse32): Likewise.
33349 (grub_macho_parse64): Likewise.
33350 * loader/macho.c: Split into ...
33351 * loader/machoXX.c: ... and this. Replace 32 with XX.
33352 * loader/macho32.c: New file.
33353 * loader/macho64.c: Likewise.
33354 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33355 (grub_cmd_xnu_kernel): Make 32-bit only.
33356 (grub_cmd_xnu_kernel64): New function.
33357 (grub_xnu_load_driver): Support Mach-O 64.
33358 (grub_cmd_xnu_mkext): Likewise.
33359 * util/grub.d/30_os-prober.in (osx_entry): New function.
33360 Generate entries for 64-bit boot too.
33361
33362 Eliminate ad-hoc tree format in XNU and EfiEmu.
33363
33364 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33365 * efiemu/pnvram.c: Rewritten to use environment variables.
33366 All users updated.
33367
33368 Inline utf16_to_utf8.
33369
33370 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33371 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33372 All users updated.
33373 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33374
33375 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33376 * commands/usbtest.c (grub_usb_get_string): ... move here.
33377 (usb_print_str): Fix error handling.
33378 * include/grub/usb.h (grub_usb_get_string): Remove.
33379
33380 UTF-8 to UTF-16 transformation.
33381
33382 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33383 (charset_mod_SOURCES): New variable.
33384 (charset_mod_CFLAGS): Likewise.
33385 (charset_mod_LDFLAGS): Likewise.
33386 * include/grub/utf.h: New file.
33387 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33388
33389 Support for device properties.
33390
33391 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33392 (grub_xnu_devprop_device_header): Likewise.
33393 (grub_xnu_devprop_device_descriptor): Likewise.
33394 (grub_xnu_devprop_add_device): New prototype.
33395 (grub_xnu_devprop_remove_device): Likewise.
33396 (grub_xnu_devprop_remove_property): Likewise.
33397 (grub_xnu_devprop_add_property_utf8): Likewise.
33398 (grub_xnu_devprop_add_property_utf16): Likewise.
33399 (grub_cpu_xnu_init): Likewise.
33400 (grub_cpu_xnu_fini): Likewise.
33401 (grub_cpu_xnu_unload): Likewise.
33402 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33403 (property_descriptor): Likewise.
33404 (devices): New variable.
33405 (grub_xnu_devprop_remove_property): New function.
33406 (grub_xnu_devprop_add_device): Likewise.
33407 (grub_xnu_devprop_remove_device): Likewise.
33408 (grub_xnu_devprop_add_property): Likewise.
33409 (grub_xnu_devprop_add_property_utf8): Likewise.
33410 (grub_xnu_devprop_add_property_utf16): Likewise.
33411 (hextoval): Likewise.
33412 (grub_cpu_xnu_fill_devprop): Likewise.
33413 (grub_cmd_devprop_load): Likewise.
33414 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33415 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33416 (cmd_devprop_load): New variable.
33417 (grub_cpu_xnu_init): New function.
33418 (grub_cpu_xnu_fini): Likewise.
33419 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33420 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33421 (grub_cmd_xnu_devtree): Likewise.
33422 (hextoval): New function.
33423 (unescape): Likewise.
33424 (grub_xnu_fill_devicetree): Likewise.
33425
33426 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33427 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33428
33429 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33430
33431 Workaround for broken ATI VBE.
33432
33433 * video/i386/pc/vbe.c (last_set_mode): New variable.
33434 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33435 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33436 (grub_video_vbe_setup): Don't check for reserved flag.
33437
33438 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
33439
33440 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33441 the `find' command.
33442
33443 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33444
33445 UUID support for HFS.
33446
33447 * fs/hfs.c (grub_hfs_uuid): New function.
33448 (grub_hfs_fs): New value .uuid.
33449 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33450
33451 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
33452
33453 Fix a segfault with parsing unknown long options.
33454
33455 * util/grub-mkrelpath.c (options): Zero terminate it.
33456
33457 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33458
33459 * include/grub/misc.h (grub_puts): New declaration.
33460 (grub_puts_): Likewise.
33461 * kern/misc.c (grub_puts): New definition.
33462 (grub_puts_): Likewise.
33463
33464 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33465
33466 * util/grub-probe.c (probe): Improve error message.
33467
33468 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33469
33470 * loader/i386/multiboot_elfxx.c
33471 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33472 initialization.
33473
33474 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33475
33476 Relocator framework
33477
33478 * loader/i386/xnu_helper.S: Removed. All users updated.
33479 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33480 (relocator_mod_SOURCES): New variable.
33481 (relocator_mod_CFLAGS): Likewise.
33482 (relocator_mod_LDFLAGS): Likewise.
33483 (relocator_mod_ASFLAGS): Likewise.
33484 * conf/x86_64.rmk: Likewise.
33485 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33486 (grub_multiboot_payload_entry_offset): Likewise.
33487 (grub_multiboot_forward_relocator): Likewise.
33488 (grub_multiboot_forward_relocator_end): Likewise.
33489 (grub_multiboot_backward_relocator): Likewise.
33490 (grub_multiboot_backward_relocator_end): Likewise.
33491 (grub_multiboot_payload_eip): New variable.
33492 (grub_multiboot_payload_orig): Likewise.
33493 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33494 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33495 * include/grub/i386/memory.h
33496 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33497 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33498 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33499 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33500 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33501 * include/grub/i386/relocator.h: New file.
33502 * include/grub/x86_64/relocator.h: Likewise.
33503 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33504 (XNU_RELOCATOR): New macro.
33505 (grub_xnu_launcher_start): Remove.
33506 (grub_xnu_launcher_end): Likewise.
33507 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33508 (grub_xnu_heap_real_start): Remove.
33509 (grub_xnu_heap_start): Change to void *. All users updated.
33510 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33511 * lib/i386/relocator.c: New file.
33512 * lib/i386/relocator_asm.S: Likewise.
33513 * lib/i386/relocator_backward.S: Likewise.
33514 * lib/mips/relocator.c: Likewise.
33515 * lib/mips/relocator_asm.S: Likewise.
33516 * lib/relocator.c: Likewise.
33517 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33518 (entry): Removed.
33519 (playground): Likewise.
33520 (grub_multiboot_payload_orig): New variable.
33521 (grub_multiboot_payload_dest): Likewise.
33522 (grub_multiboot_payload_size): Likewise.
33523 (grub_multiboot_payload_eip): Likewise.
33524 (grub_multiboot_payload_esp): Likewise.
33525 (grub_multiboot_boot): Use grub_relocator32_boot.
33526 (grub_multiboot_unload): Free relocators.
33527 (grub_multiboot): Setup stack. Use relocators.
33528 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33529 (grub_multiboot_load_elfXX): Use relocators.
33530 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33531 (grub_multiboot_payload_size): Likewise.
33532 (grub_multiboot_payload_dest): Likewise.
33533 (grub_multiboot_payload_entry_offset): Likewise.
33534 (grub_multiboot_forward_relocator): Likewise.
33535 (grub_multiboot_backward_relocator): Likewise.
33536 (grub_multiboot_real_boot): Likewise.
33537 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33538 (grub_xnu_entry_point): Likewise.
33539 (grub_xnu_arg1): Likewise.
33540 (grub_xnu_stack): Likewise.
33541 (grub_xnu_launch): Removed.
33542 (grub_xnu_boot_resume): New function.
33543 (grub_xnu_boot): Use relocators.
33544 * loader/i386/xnu_helper.S: Removed.
33545 * loader/xnu.c (grub_xnu_heap_start): New variable.
33546 (grub_xnu_heap_size): Likewise.
33547 (grub_xnu_heap_malloc): Use relocators.
33548 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33549
33550 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33551
33552 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33553 anything.
33554
33555 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33556
33557 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33558 GRUB_ERR_NONE before calling grub_env_set.
33559
33560 2009-12-12 Robert Millan <rmh@aybabtu.com>
33561
33562 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33563 * genmk.rb (video): New variable.
33564 (CLEANFILES, VIDEOFILES): Add #{video}.
33565 (#{video}): New target rule.
33566 * genvideolist.sh: New file.
33567 * Makefile.in (pkglib_DATA): Add video.lst.
33568 (video.lst): New target rule.
33569 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33570 `video.lst'.
33571 * util/grub.d/30_os-prober.in: Replace `vbe' with
33572 ${GRUB_VIDEO_BACKEND}.
33573
33574 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33575
33576 * THANKS: Add David Miller.
33577
33578 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33579
33580 libpciaccess support.
33581
33582 * Makefile.in (LIBPCIACCESS): New variable.
33583 (enable_grub_emu_pci): Likewise.
33584 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33585 util/pci.c and commands/lspci.c.
33586 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33587 * configure.ac (grub-emu-pci): New option.
33588 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33589 (grub_pci_device_unmap_range): Likewise.
33590 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33591 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33592 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33593 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33594 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33595 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33596 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33597 * include/grub/pciutils.h: New file.
33598 * util/pci.c: Likewise.
33599
33600 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
33601
33602 * util/misc.c: Don't include <errno.h> twice.
33603
33604 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
33605
33606 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33607 name in an error message.
33608 (grub_biosdisk_rw): Likewise.
33609
33610 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33611
33612 Eliminate NTFS 4Gib barrier.
33613
33614 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33615 (read_run_data): Likewise.
33616 (grub_ntfs_read_run_list): Likewise.
33617 (grub_ntfs_read_block): Likewise.
33618 (grub_ntfs_iterate_dir): Likewise.
33619 (read_mft): Likewise.
33620 (read_data): Likewise.
33621 Use COM_LOG_LEN.
33622 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33623 to avoid 64-bit division
33624 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33625 (grub_ntfs_rlst): Use grub_disk_addr_t.
33626
33627 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33628
33629 Eliminate grub-fstest 4Gib barrier.
33630
33631 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33632 (read_file): Fix error reporting.
33633
33634 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33635
33636 Eliminate hexdump 4Gib barrier.
33637
33638 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33639 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33640
33641 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33642
33643 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33644 Fixes amarsh bug.
33645
33646 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33647
33648 Remove miscellaneous files in distclean target.
33649
33650 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33651
33652 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
33653
33654 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33655 if they're already set. This resolves the conflict between my
33656 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33657 fixing the --grub-probe option again.
33658 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33659 change on 2009-10-06, so that we now once again source
33660 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33661
33662 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33663
33664 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33665 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33666 `util/devicemap.c'.
33667
33668 2009-12-08 Carles Pina i Estany <carles@pina.cat>
33669
33670 * include/grub/misc.h (grub_printf_): New declaration.
33671 * kern/misc.c (grub_printf_): New definition.
33672 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33673 instead of `grub_printf' and `_'.
33674 * normal/menu_entry.c (store_completion): Likewise.
33675 (run): Likewise.
33676 (grub_menu_entry_run): Likewise.
33677 * normal/menu_text.c (grub_wait_after_message): Likewise.
33678 (notify_booting): Likewise.
33679 (notify_fallback): Likewise.
33680 (notify_execution_failure): Likewise.
33681
33682 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
33683
33684 * configure.ac: Check for vasprintf.
33685 * util/misc.c (asprintf): Move allocation from here ...
33686 (vasprintf): ... to here. New function.
33687 (xasprintf): New function.
33688 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33689 prototypes.
33690 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33691 * util/grub-mkfont.c (write_font): Likewise.
33692 * util/grub-probe.c (probe): Likewise.
33693 * util/hostdisk.c (make_device_name): Likewise.
33694
33695 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
33696
33697 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33698 anything even prefixed with 'cdrom' as a cdrom.
33699
33700 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
33701
33702 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33703 mount points.
33704
33705 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33706
33707 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33708 grub_gettext_msg_list.
33709 (grub_gettext_gettranslation_from_position): Return const char *
33710 and not char *.
33711 (grub_gettext_translate): Add the translated strings into a list,
33712 returns from the list if existing there.
33713 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33714 (grub_gettext_delete_list): Delete the list.
33715 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33716 lang environment variable is changed.
33717 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33718
33719 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33720
33721 Rename kernel.mod to kernel.img.
33722
33723 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33724 (kernel_mod_EXPORTS): Rename to ...
33725 (kernel_img_EXPORTS): ... this.
33726 (kernel_mod_SOURCES): Rename to ...
33727 (kernel_img_SOURCES): ... this.
33728 (kernel_mod_HEADERS): Rename to ...
33729 (kernel_img_HEADERS): ... this. All users updated.
33730 (kernel_mod_CFLAGS): Rename to ...
33731 (kernel_img_CFLAGS): ... this.
33732 (kernel_mod_ASFLAGS): Rename to ...
33733 (kernel_img_ASFLAGS): ... this.
33734 (kernel_mod_LDFLAGS): Rename to ...
33735 (kernel_img_LDFLAGS): ... this.
33736 * conf/x86_64-efi.rmk: Likewise.
33737 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33738 (read_kernel_image): ... this. All users updated.
33739 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33740
33741 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33742
33743 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33744 (print_spaces): New function.
33745 (grub_print_ucs4): New function.
33746 (getstringwidth): New function.
33747 (print_message_indented): New function.
33748 (print_message): Gettexttize strings using print_message_indented.
33749 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33750 width.
33751 (get_entry_number): Gettextize and uses dynamic terminal width.
33752 (notify_booting, notify_fallback, notify_execution_failure):
33753 Gettextize.
33754 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33755 string.
33756 (run): Likewise.
33757 (grub_menu_entry_run): Likewise.
33758 * PO/POTFILES: Add normal/menu_entry.c.
33759
33760 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33761
33762 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33763
33764 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33765
33766 * util/grub-install.in: Install gettext .mo files.
33767 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33768
33769 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33770
33771 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33772 grub_dprintf.
33773
33774 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33775
33776 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33777 non-firmware-dependant one in realmode.S takes precedence.
33778
33779 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33780
33781 * commands/halt.c: Replace misc arch-specific headers with
33782 `<grub/misc.h>'.
33783 * commands/reboot.c: Likewise.
33784 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33785 `<grub/misc.h>'.
33786 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33787 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33788 (kernel_img_SOURCES): ... to here.
33789
33790 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33791 * include/grub/i386/pc/init.h: Likewise.
33792 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33793 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33794
33795 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33796
33797 * include/grub/i386/halt.h: Remove.
33798 * include/grub/i386/reboot.h: Likewise.
33799
33800 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33801
33802 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
33803
33804 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33805 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33806 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33807 "progname.h"
33808 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33809 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33810 (usage): Add missing comma in printf.
33811
33812 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33813
33814 Use the same reboot approach on i386 coreboot and qemu as we do on
33815 BIOS.
33816
33817 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33818 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33819 * kern/i386/reboot.c: Remove.
33820 * include/grub/i386/reboot.h (grub_reboot): Export function.
33821 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33822 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33823 0xf000:0xfff0 instead of 0xffff:0x0000.
33824 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33825 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33826
33827 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33828
33829 Fix $srcdir != $objdir build.
33830
33831 * Makefile.in (po/%.po): Rewrite as ...
33832 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33833
33834 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33835
33836 Fix GNU/Hurd grub-install crash.
33837 * util/grub-probe.c (probe): Try to access `path' only when it is not
33838 NULL.
33839
33840 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33841
33842 Correct module naming.
33843
33844 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33845 (GRUB_MOD_INIT(efi_uga)): ... to this
33846 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33847 (GRUB_MOD_FINI(efi_uga)): ... to this
33848 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33849 (GRUB_MOD_INIT(efi_gop)): ... to this
33850 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33851 (GRUB_MOD_FINI(efi_gop)): ... to this
33852
33853 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33854
33855 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33856 translatable.
33857 (usage): Translate `arg' strings using gettext().
33858 Thanks to Jordi Mallach for the suggestion.
33859
33860 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33861
33862 GOP support. Based on patch from Bean
33863 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33864
33865 * video/efi_gop.c: New file.
33866 * include/grub/efi/graphics_output.h: Likewise.
33867 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33868 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33869 variables.
33870 * conf/x86_64-efi.rmk: Likewise.
33871
33872 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33873
33874 Rename efi_fb to efi_uga.
33875
33876 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33877 'efi_uga.mod'.
33878 (efi_fb_mod_SOURCES): Rename this ...
33879 (efi_uga_mod_SOURCES): ... to this.
33880 (efi_fb_mod_CFLAGS): Rename this ...
33881 (efi_uga_mod_CFLAGS): ... to this.
33882 (efi_fb_mod_LDFLAGS): Rename this ...
33883 (efi_uga_mod_LDFLAGS): ... to this.
33884 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33885 'efi_uga.mod'.
33886 (efi_fb_mod_SOURCES): Rename this ...
33887 (efi_uga_mod_SOURCES): ... to this.
33888 (efi_fb_mod_CFLAGS): Rename this ...
33889 (efi_uga_mod_CFLAGS): ... to this.
33890 (efi_fb_mod_LDFLAGS): Rename this ...
33891 (efi_uga_mod_LDFLAGS): ... to this.
33892 * video/efi_fb.c: Move this ...
33893 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33894
33895 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33896
33897 * po/README: New file. Explain our PO file workflow.
33898
33899 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33900
33901 * po/ChangeLog: Remove. Move relevant entries back to ...
33902 * ChangeLog: ... here.
33903 * po/ca.po: Remove (now handled by TLP).
33904 * po/id.po: Likewise.
33905 * po/zh_CN.po: Likewise.
33906 * Makefile.in (LINGUAS): Initialize in a way that supports
33907 empty set.
33908
33909 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33910
33911 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33912 reliing on po/LINGUAS.
33913 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33914 (po/%.po): ... this.
33915
33916 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33917
33918 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33919 (main): Use `program_name' instead of nonexistent `progname'.
33920
33921 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33922
33923 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33924 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33925
33926 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33927
33928 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33929 commit.
33930 * conf/i386-efi.rmk: Likewise.
33931 * conf/i386-ieee1275.rmk: Likewise.
33932 * conf/powerpc-ieee1275.rmk: Likewise.
33933 * conf/sparc64-ieee1275.rmk: Likewise.
33934 * conf/x86_64-efi.rmk: Likewise.
33935
33936 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33937
33938 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33939
33940 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33941
33942 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33943
33944 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33945
33946 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33947 (grub_mkdevicemap_SOURCES): New variable.
33948 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33949 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33950 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33951 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33952 (grub_mkdevicemap_SOURCES): Remove.
33953 * conf/i386-efi.rmk: Likewise.
33954 * conf/i386-ieee1275.rmk: Likewise.
33955 * conf/i386-pc.rmk: Likewise.
33956 * conf/powerpc-ieee1275.rmk: Likewise.
33957 * conf/sparc64-ieee1275.rmk: Likewise.
33958 * conf/x86_64-efi.rmk: Likewise.
33959 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33960 (usage): Fix strings to use `program_name'.
33961 (main): Initialize gettext.
33962 * util/grub-editenv.c: Likewise.
33963 * util/grub-emu.c: Likewise.
33964 * util/grub-fstest.c: Likewise.
33965 * util/grub-mkdevicemap.c: Likewise.
33966 * util/grub-mkfont.c: Likewise.
33967 * util/grub-mkrelpath.c: Likewise.
33968 * util/grub-pe2elf.c: Likewise.
33969 * util/grub-probe.c: Likewise.
33970 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33971 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33972 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33973
33974 * util/misc.c: Include `"progname.h"'.
33975 (progname): Remove variable.
33976 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33977
33978 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
33979
33980 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33981 printf and print a newline after the menuentry header line.
33982 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33983
33984 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
33985
33986 autoconf >= 2.60 support $(localedir).
33987
33988 * INSTALL: Note that autoconf 2.60 is required.
33989 * configure.ac (AC_PREREQ): Bump to 2.60.
33990 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33991 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33992
33993 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33994
33995 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33996 aclocal is run.
33997
33998 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33999
34000 * normal/main.c (grub_normal_read_line): Fix off-by-one
34001 buffer overflow.
34002
34003 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34004
34005 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
34006 "parser.grub" in grub_command_execute() call.
34007
34008 2009-11-24 Carles Pina i Estany <carles@pina.cat>
34009
34010 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
34011 * conf/i386-efi.rmk: Likewise.
34012 * conf/i386-ieee1275.rmk: Likewise.
34013 * conf/i386-pc.rmk: Likewise.
34014 * conf/powerpc-ieee1275.rmk: Likewise.
34015 * conf/sparc64-ieee1275.rmk: Likewise.
34016 * conf/x86_64-efi.rmk: Likewise.
34017 * gettext/gettex.c: Include <grub/i18n.h>.
34018 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
34019 here ...
34020 * include/grub/i18n.h: ... to here
34021 * include/grub/i18n.h: ... to here.
34022 * kern/misc.c: Include <grub/i18n.h>
34023 (grub_gettext_dummy): Move above user.
34024
34025 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34026
34027 * util/Makefile.in (install-local): Convert a `for' into a normal
34028 shell expansion.
34029
34030 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
34031
34032 * autogen.sh: Add automake call.
34033 * config.guess: Remove.
34034 * config.sub: Likewise.
34035 * install-sh: Likewise.
34036
34037 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34038
34039 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
34040
34041 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34042
34043 * util/Makefile.in (install-local): Convert a make `$(foreach)'
34044 function to a normal shell `for'.
34045
34046 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34047
34048 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34049
34050 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34051
34052 * util/grub-mkrelpath.c: New file.
34053 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
34054 (grub_mkrelpath_SOURCES): New variable.
34055 * include/grub/util/misc.h: New function prototype.
34056 * util/misc.c (make_system_path_relative_to_its_root): New function.
34057
34058 * util/grub-mkconfig_lib.in (bindir): New variable.
34059 (grub_mkrelpath): Likewise.
34060 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
34061
34062 * util/probe.c (probe): Make the file path relative to its root.
34063 Change a info message to use the GRUB path. Enable again the
34064 check if we can read the file with GRUB facilities.
34065
34066 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
34067 to its root.
34068
34069 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34070
34071 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
34072 platform.
34073
34074 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34075
34076 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
34077 strncmp().
34078
34079 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34080
34081 * util/getroot.c (grub_util_is_dmraid): New function.
34082 (grub_util_get_dev_abstraction): Treat dmraid and multipath
34083 devices as normal ones, not as LVM.
34084
34085 2009-11-23 Carles Pina i Estany <carles@pina.cat>
34086
34087 * conf/common.rmk: Add grub-gettext_lib target and updates
34088 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
34089 LDFLAGS.
34090 * gettext/gettext.c: New file. (Reads mo files).
34091 * include/grub/file.h (grub_file_pread): New prototype.
34092 * include/grub/i18n.h (_): New prototype.
34093 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
34094 prototypes.
34095 * kern/misc.c (grub_gettext_dummy): New function.
34096 * normal/menu_text.c: Include <grub/i18n.h>.
34097 * normal/menu_text.c (print_timeout): Gettexttize string.
34098 * normal/menu_text.c (print_message): Gettexttize string.
34099 * po/POTFILES: Add `normal/menu_text.c'.
34100 * po/ca.po: Add new translations.
34101 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34102 gettext module and defines locale_dir and lang in grub.cfg.
34103 * NEWS: Add gettext support.
34104
34105 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34106
34107 * util/hostdisk.c: Include `<grub/i18n.h>'.
34108 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
34109 (make_device_name): Rewrite using asprintf.
34110 (convert_system_partition_to_system_disk): Replace 0 with NULL.
34111 (find_system_device): If a device is not found, generate one just
34112 by reusing the OS path name.
34113 (read_device_map): Make it permissible for device.map not to exist.
34114
34115 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34116
34117 * script/sh/execute.c: Move from here ...
34118 * script/execute.c: ... to here. Update all users.
34119 * script/sh/function.c: Move from here ...
34120 * script/function.c: ... to here. Update all users.
34121 * script/sh/lexer.c: Move from here ...
34122 * script/lexer.c: ... to here. Update all users.
34123 * script/sh/main.c: Move from here ...
34124 * script/main.c: ... to here. Update all users.
34125 * script/sh/parser.y: Move from here ...
34126 * script/parser.y: ... to here. Update all users.
34127 * script/sh/script.c: Move from here ...
34128 * script/script.c: ... to here. Update all users.
34129
34130 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34131
34132 * configure.ac: Detect all `emu' platforms. Define
34133 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
34134 --enable-grub-emu logic. Disable include/grub/machine
34135 symlink on `emu' platforms.
34136
34137 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34138 * gensymlist.sh.in: Likewise.
34139
34140 * include/grub/i386/coreboot/machine.h: Remove file.
34141 * include/grub/i386/efi/machine.h: Likewise.
34142 * include/grub/i386/ieee1275/machine.h: Likewise.
34143 * include/grub/i386/pc/machine.h: Likewise.
34144 * include/grub/i386/qemu/machine.h: Likewise.
34145 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34146 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34147 * include/grub/x86_64/efi/machine.h: Likewise.
34148
34149 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34150 * commands/halt.c: Likewise.
34151 * commands/reboot.c: Likewise.
34152 * include/grub/autoefi.h: Likewise.
34153 * include/grub/i386/at_keyboard.h: Likewise.
34154 * include/grub/i386/kernel.h: Likewise.
34155 * include/grub/i386/loader.h: Likewise.
34156 * include/grub/i386/pc/memory.h: Likewise.
34157 * kern/dl.c: Likewise.
34158 * kern/i386/coreboot/init.c: Likewise.
34159 * loader/i386/bsd.c: Likewise.
34160 * loader/i386/linux.c: Likewise.
34161 * loader/multiboot_loader.c: Likewise.
34162 * term/i386/pc/serial.c: Likewise.
34163 * term/usb_keyboard.c: Likewise.
34164
34165 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34166 `<grub/machine/machine.h>'
34167 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34168 * util/misc.c: Remove `<grub/machine/machine.h>' and
34169 `<grub/machine/time.h>'.
34170
34171 * Makefile.in (enable_grub_emu): Remove variable.
34172 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34173
34174 * conf/any-emu.rmk: New file.
34175 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34176 (grub_emu_init.c): Move from here ...
34177 * conf/any-emu.rmk: ... to here.
34178
34179 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34180 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34181 * conf/any-emu.rmk: ... to here.
34182
34183 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34184
34185 * include/grub/parser.h (grub_parser_register): Document need
34186 of `name' parameter.
34187 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34188 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34189 "sh" to "grub".
34190
34191 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34192
34193 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34194 `$(XGETTEXT)'.
34195 * include/grub/i18n.h (N_): New macro.
34196 * util/mkisofs/mkisofs.h: Likewise.
34197 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34198 around N_().
34199 (usage): Use gettext() to translate help strings when printing them.
34200
34201 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34202
34203 Based on patch from Bean
34204 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34205
34206 * video/efi_fb.c: New file.
34207 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34208 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34209 variables.
34210 * conf/x86_64-efi.rmk: Likewise.
34211
34212 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34213
34214 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34215 * util/i386/pc/grub-setup.c: Likewise.
34216
34217 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34218
34219 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34220 <hurd/fs.h>
34221 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34222 file_get_storage_info to implement grub_guess_root_device.
34223
34224 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34225
34226 * Makefile.in (target): Use make's builtin $(shell) function
34227 instead of calling directly $(SHELL) to create the locale directories,
34228 inside the $(foreach) function.
34229
34230 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34231
34232 * util/grub-mkrescue.in: Print an error and usage if output option
34233 has not been given.
34234
34235 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34236
34237 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34238 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34239 root and /boot are on different devices.
34240
34241 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34242
34243 Fix build for srcdir != objdir.
34244
34245 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34246 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34247 $(srcdir).
34248 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34249 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34250 reference for input.
34251
34252 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34253
34254 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34255 or hardlinking it). Remove -J option, Joliet is not compatible with
34256 multiple source directories.
34257
34258 2009-11-21 Carles Pina i Estany <carles@pina.cat>
34259 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34260
34261 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34262 (process_input_dir): New function. Process an arbitrary input
34263 directory.
34264 Misc adjustments to support both "override mode" and system-wide mode.
34265
34266 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34267
34268 * configure.ac (UNIFONT_BDF): Rename to ...
34269 (FONT_SOURCE): ... this. Update all users.
34270
34271 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34272
34273 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34274 to the list of unifont files to look for.
34275
34276 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34277
34278 Patch from Joe Auricchio <jauricchio@gmail.com>
34279 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34280 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34281 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34282
34283 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34284
34285 * Makefile.in (install-local): Add a missing backslash.
34286
34287 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34288
34289 * include/grub/x86_64/io.h: New file.
34290
34291 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34292
34293 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34294 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34295 Include `"progname.h"'.
34296 (main): Initialize gettext.
34297 * util/i386/pc/grub-setup.c: Gettexttize.
34298 * util/i386/pc/grub-mkimage.c: Likewise.
34299
34300 * Makefile.in (po/*.po): Redefine as ...
34301 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34302
34303 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34304
34305 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34306
34307 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34308 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34309 (program_name): Remove.
34310 (main): Initialize gettext support.
34311 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34312 Include `<libintl.h>'.
34313 (_): New macro.
34314
34315 * util/mkisofs/eltorito.c: Gettexttize.
34316 * util/mkisofs/joliet.c: Likewise.
34317 * util/mkisofs/mkisofs.c: Likewise.
34318 * util/mkisofs/multi.c: Likewise.
34319 * util/mkisofs/rock.c: Likewise.
34320 * util/mkisofs/tree.c: Likewise.
34321 * util/mkisofs/write.c: Likewise.
34322
34323 * po/POTFILES: Update with new files.
34324
34325 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34326
34327 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34328 * util/mkisofs/iso9660.h: Likewise.
34329 * util/mkisofs/joliet.c: Likewise.
34330 * util/mkisofs/mkisofs.c: Likewise.
34331 * util/mkisofs/mkisofs.h: Likewise.
34332 * util/mkisofs/rock.c: Likewise.
34333 * util/mkisofs/tree.c: Likewise.
34334 * util/mkisofs/write.c: Likewise.
34335
34336 * util/mkisofs/eltorito.c (rcsid): Remove.
34337 * util/mkisofs/hash.c: Likewise.
34338 * util/mkisofs/joliet.c: Likewise.
34339 * util/mkisofs/name.c: Likewise.
34340 * util/mkisofs/rock.c: Likewise.
34341 * util/mkisofs/tree.c: Likewise.
34342 * util/mkisofs/write.c: Likewise.
34343
34344 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34345
34346 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34347 instead of static allocation.
34348 * util/mkisofs/match.h: Likewise.
34349
34350 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34351
34352 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34353 and `util/grub.d/10_linux.in'.
34354 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34355 translatable Shell files.
34356
34357 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34358
34359 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34360
34361 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34362
34363 * INSTALL: Document Automake is needed for bootstrap.
34364 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
34365 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34366 Add gettext initialization.
34367 (kfreebsd_entry): Make menuentry output translatable.
34368
34369 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34370
34371 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34372 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34373 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34374 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34375 (LINGUAS): Auto-generate using `po/LINGUAS'.
34376 * po/LINGUAS: New file.
34377
34378 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34379
34380 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34381 other things).
34382 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34383 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34384 bindtextdomain() calls for gettext initialization.
34385
34386 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34387
34388 * gnulib/progname.c: New file (imported from Gnulib).
34389 * gnulib/progname.h: Likewise.
34390 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34391 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34392 (usage): Replace `progname' with `program_name'.
34393 (main): Use set_program_name() for program name initialization.
34394
34395 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34396
34397 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34398 from here ...
34399 * Makefile.in (CPPFLAGS): ... to here.
34400
34401 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34402
34403 * aclocal.m4: Move from here ...
34404 * acinclude.m4: ... to here.
34405 * autogen.sh: Add call to `aclocal'.
34406 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34407
34408 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34409
34410 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34411 (LINGUAS): New variable.
34412 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34413 (install-local): Install MO files.
34414 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34415 * include/grub/i18n.h: New file.
34416 * po/POTFILES: New file.
34417 * po/ca.po: New file.
34418 * util/grub.d/10_linux.in (bindir): New variable.
34419 Add gettext initialization.
34420 (linux_entry): Make menuentry output translatable.
34421 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34422 (usage): Make --help output translatable.
34423 (main): Initialize gettext.
34424
34425 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34426
34427 * import_gcry.py: New file (written by Vladimir with minor
34428 adjustments).
34429 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34430 ciphers.
34431 * INSTALL: Document that Python is required for bootstrap.
34432
34433 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34434
34435 Import ciphers from libgcrypt 1.4.4.
34436
34437 * lib/libgcrypt/cipher/ChangeLog
34438 * lib/libgcrypt/cipher/ac.c
34439 * lib/libgcrypt/cipher/arcfour.c
34440 * lib/libgcrypt/cipher/bithelp.h
34441 * lib/libgcrypt/cipher/blowfish.c
34442 * lib/libgcrypt/cipher/camellia-glue.c
34443 * lib/libgcrypt/cipher/camellia.c
34444 * lib/libgcrypt/cipher/camellia.h
34445 * lib/libgcrypt/cipher/cast5.c
34446 * lib/libgcrypt/cipher/cipher.c
34447 * lib/libgcrypt/cipher/crc.c
34448 * lib/libgcrypt/cipher/des.c
34449 * lib/libgcrypt/cipher/dsa.c
34450 * lib/libgcrypt/cipher/ecc.c
34451 * lib/libgcrypt/cipher/elgamal.c
34452 * lib/libgcrypt/cipher/hash-common.c
34453 * lib/libgcrypt/cipher/hash-common.h
34454 * lib/libgcrypt/cipher/hmac-tests.c
34455 * lib/libgcrypt/cipher/md.c
34456 * lib/libgcrypt/cipher/md4.c
34457 * lib/libgcrypt/cipher/md5.c
34458 * lib/libgcrypt/cipher/primegen.c
34459 * lib/libgcrypt/cipher/pubkey.c
34460 * lib/libgcrypt/cipher/rfc2268.c
34461 * lib/libgcrypt/cipher/rijndael-tables.h
34462 * lib/libgcrypt/cipher/rijndael.c
34463 * lib/libgcrypt/cipher/rmd.h
34464 * lib/libgcrypt/cipher/rmd160.c
34465 * lib/libgcrypt/cipher/rsa.c
34466 * lib/libgcrypt/cipher/seed.c
34467 * lib/libgcrypt/cipher/serpent.c
34468 * lib/libgcrypt/cipher/sha1.c
34469 * lib/libgcrypt/cipher/sha256.c
34470 * lib/libgcrypt/cipher/sha512.c
34471 * lib/libgcrypt/cipher/tiger.c
34472 * lib/libgcrypt/cipher/twofish.c
34473 * lib/libgcrypt/cipher/whirlpool.c
34474
34475 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34476
34477 Fix build for systems without error().
34478
34479 * gnulib/error.c: New file (imported from Gnulib).
34480 * gnulib/error.h: Likewise.
34481 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34482 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34483 (this variable is now used by error()).
34484
34485 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34486
34487 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34488 instead of relying that char is signed.
34489
34490 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34491
34492 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34493 blocksize different from specified.
34494 (grub_pxefs_read): Likewise.
34495
34496 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34497
34498 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34499
34500 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34501 (grub_ata_readwrite): Likewise. Update 2 format strings.
34502 (grub_atapi_read): Likewise.
34503
34504 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34505 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34506 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34507 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34508 (ata_mod_LDFLAGS): Move from here ...
34509 * conf/i386.rmk: ... to here ...
34510 * conf/x86_64-efi.rmk: ... and here.
34511 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34512 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34513
34514 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34515
34516 Relicense multiboot.h, with RMS' blessing.
34517
34518 * include/multiboot.h: Change to X11 license.
34519
34520 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34521
34522 Support --version in grub-mkisofs.
34523
34524 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34525 (OPTION_VERSION): New macro.
34526 (ld_options): Recognize --version.
34527 (usage): Move `program_name' from here ...
34528 (program_name): ... to here. Add `static' qualifier.
34529 (main): Recognize `OPTION_VERSION'.
34530
34531 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
34532
34533 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34534 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34535
34536 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34537
34538 Fix help2man generation for mkisofs.
34539
34540 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34541 (usage): Send output to stdout (rather than stderr).
34542
34543 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34544
34545 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34546 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34547 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34548 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34549 (bin_SCRIPTS): Add `grub-mkfloppy'.
34550 (grub_mkfloppy_SOURCES): New variable.
34551
34552 * util/grub-mkrescue.in: New file.
34553 * util/i386/pc/grub-mkfloppy.in: New file.
34554
34555 * util/i386/coreboot/grub-mkrescue.in: Remove.
34556 * util/i386/pc/grub-mkrescue.in: Remove.
34557
34558 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34559
34560 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34561 from here ...
34562 * include/multiboot.h (struct multiboot_header): ... to here. Update
34563 all users.
34564 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34565 from here ...
34566 * include/multiboot.h (struct multiboot_info): ... to here. Update
34567 all users.
34568 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34569 from here ...
34570 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34571 Update all users.
34572 * include/grub/multiboot.h (struct grub_mod_list): Move
34573 from here ...
34574 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34575 Update all users.
34576
34577 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34578
34579 * include/multiboot2.h (multiboot_word): Rename from this ...
34580 (multiboot2_word): ... to this. Update all users.
34581 (multiboot_header): Rename from this ...
34582 (multiboot2_header): ... to this. Update all users.
34583 (multiboot_tag_header): Rename from this ...
34584 (multiboot2_tag_header): ... to this. Update all users.
34585 (multiboot_tag_start): Rename from this ...
34586 (multiboot2_tag_start): ... to this. Update all users.
34587 (multiboot_tag_name): Rename from this ...
34588 (multiboot2_tag_name): ... to this. Update all users.
34589 (multiboot_tag_module): Rename from this ...
34590 (multiboot2_tag_module): ... to this. Update all users.
34591 (multiboot_tag_memory): Rename from this ...
34592 (multiboot2_tag_memory): ... to this. Update all users.
34593 (multiboot_tag_unused): Rename from this ...
34594 (multiboot2_tag_unused): ... to this. Update all users.
34595 (multiboot_tag_end): Rename from this ...
34596 (multiboot2_tag_end): ... to this. Update all users.
34597
34598 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34599
34600 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34601 this platform we should support Multiboot1 first.
34602
34603 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34604 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34605 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34606
34607 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34608
34609 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34610 of write calls (converting them to fwrite() if they aren't already).
34611 (get_torito_desc): Likewise.
34612 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34613
34614 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34615
34616 * util/i386/pc/grub-install.in: Move from here ...
34617 * util/grub-install.in: ... to here. Update all users.
34618
34619 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
34620
34621 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34622
34623 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34624
34625 Support for El Torito without floppy emulation.
34626
34627 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34628 (init_boot_catalog): Improve error handling.
34629 (get_torito_desc): Don't use floppy emulation unless requested by
34630 user. Patch boot information table when requested via
34631 `-boot-info-table'.
34632 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34633 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34634 (use_boot_info_table): New variables.
34635 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34636 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34637 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34638 `--eltorito-emul-floppy'.
34639 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34640 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34641 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34642 (use_boot_info_table, get_731): New prototypes.
34643 * util/mkisofs/write.c (get_731): New function.
34644
34645 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
34646
34647 Fix the generation of the man page.
34648
34649 * util/pc/i386/grub-install.in: Source
34650 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34651
34652 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34653
34654 Large file support for grub-mkisofs.
34655
34656 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34657 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34658 (session_start): Upgrade type to `uint64_t'. Update all users.
34659 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34660 (struct directory_entry): Upgrade type of `starting_block' and
34661 `size' to `uint64_t'. Update all users.
34662 (struct deferred): Remove unused structure.
34663 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34664 Update all users.
34665 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34666 file is larger than `UINT32_MAX'.
34667 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34668 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34669 return value.
34670 (struct deferred_write): Upgrade type of `extent' and `size' to
34671 `uint64_t'. Update all users.
34672 (last_extent_written): Upgrade type to `uint64_t'. Update all
34673 users.
34674 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34675 Update all users. Upgrade type of `remain' to `int64_t' and
34676 `use' to `size_t'. Use error() to handle fread() errors.
34677 (write_files): Rely on write_one_file() rather than calling
34678 xfwrite() directly.
34679
34680 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
34681
34682 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34683
34684 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34685
34686 * util/mkisofs/fnmatch.c: Remove.
34687 * util/mkisofs/getopt1.c: Likewise.
34688 * util/mkisofs/getopt.c: Likewise.
34689 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34690 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34691 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34692 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34693 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34694
34695 * configure.ac: Detect `mingw32msvc' host_os.
34696 Check for lstat(), getuid() and getgid().
34697
34698 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34699 instances of `u_char' with `uint8_t'.
34700
34701 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34702 [!HAVE_GETUID] (getuid): New function (stub).
34703 [!HAVE_GETGID] (getgid): Likewise.
34704 [!HAVE_LSTAT] (lstat): Likewise.
34705 [!S_IROTH] (S_IROTH): New macro (dummy).
34706 [!S_IRGRP] (S_IRGRP): Likewise.
34707
34708 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34709
34710 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34711 conditional expression).
34712
34713 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34714
34715 Import from Gnulib.
34716
34717 * gnulib/fnmatch.c: New file.
34718 * gnulib/fnmatch.h: Likewise.
34719 * gnulib/fnmatch_loop.c: Likewise.
34720 * gnulib/getopt.c: Likewise.
34721 * gnulib/getopt.h: Likewise.
34722 * gnulib/getopt1.c: Likewise.
34723 * gnulib/getopt_int.h: Likewise.
34724 * gnulib/gettext.h: Likewise.
34725
34726 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34727
34728 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34729 * normal/handler.c (read_handler_list): Likewise.
34730
34731 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34732
34733 Misc cleanup.
34734
34735 * kern/command.c (grub_register_command_prio): Use
34736 grub_zalloc() instead of explicitly zeroing data.
34737 * kern/list.c: Include `<grub/mm.h>'.
34738 (grub_named_list_find): Replace `0' with `NULL'.
34739 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34740 (fs_module_list): Change type to `grub_named_list_t'. Update all
34741 users.
34742 * normal/dyncmd.c (read_command_list): Add space between function
34743 call and parenthesis.
34744 * normal/handler.c (read_handler_list): Likewise.
34745
34746 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34747
34748 * normal/auth.c (punishment_delay): Moved from here ...
34749 (grub_auth_strcmp): ... to here (inside function).
34750
34751 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34752
34753 * include/grub/list.h (struct grub_named_list): Remove `const'
34754 qualifier from `name'.
34755 (struct grub_prio_list): Likewise.
34756
34757 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34758
34759 * normal/auth.c: Include `<grub/time.h>'.
34760 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34761
34762 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34763
34764 * normal/auth.c (punishment_delay): New variable.
34765 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34766 (grub_auth_check_authentication): Punish failed login attempts with
34767 an incremental (2^N) delay.
34768
34769 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34770
34771 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34772 path with $(srcdir).
34773
34774 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34775
34776 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34777
34778 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34779
34780 * util/i386/coreboot/grub-mkrescue.in: New file.
34781 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34782 variables.
34783
34784 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34785 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34786 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34787 requirements.
34788 * util/mkisofs/defaults.h: New file.
34789 * util/mkisofs/eltorito.c: Likewise.
34790 * util/mkisofs/exclude.h: Likewise.
34791 * util/mkisofs/fnmatch.c: Likewise.
34792 * util/mkisofs/getopt.c: Likewise.
34793 * util/mkisofs/getopt1.c: Likewise.
34794 * util/mkisofs/hash.c: Likewise.
34795 * util/mkisofs/include/fctldefs.h: Likewise.
34796 * util/mkisofs/include/mconfig.h: Likewise.
34797 * util/mkisofs/include/prototyp.h: Likewise.
34798 * util/mkisofs/include/statdefs.h: Likewise.
34799 * util/mkisofs/iso9660.h: Likewise.
34800 * util/mkisofs/joliet.c: Likewise.
34801 * util/mkisofs/match.c: Likewise.
34802 * util/mkisofs/match.h: Likewise.
34803 * util/mkisofs/mkisofs.c: Likewise.
34804 * util/mkisofs/mkisofs.h: Likewise.
34805 * util/mkisofs/multi.c: Likewise.
34806 * util/mkisofs/name.c: Likewise.
34807 * util/mkisofs/rock.c: Likewise.
34808 * util/mkisofs/tree.c: Likewise.
34809 * util/mkisofs/write.c: Likewise.
34810
34811 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34812
34813 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34814 being insecure.
34815
34816 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34817
34818 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34819 `grub-mkimage' (and use $0 when possible).
34820
34821 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34822
34823 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34824 error message for excessively large memory map.
34825
34826 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34827
34828 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34829 executable bit.
34830
34831 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34832
34833 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34834 message for coreboot users.
34835
34836 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34837
34838 Fix build with GNU gold.
34839
34840 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34841 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34842 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34843 link addresses.
34844 * aclocal.m4: Likewise.
34845
34846 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
34847
34848 * configure.ac (AC_PREREQ): Bump to 2.59d.
34849 * INSTALL: Make it more clear when Autoconf and Ruby are
34850 needed and when to run `./autogen.sh'.
34851
34852 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34853
34854 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34855 OSes.
34856
34857 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34858
34859 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34860
34861 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34862
34863 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34864 giving it to GNU Mach.
34865
34866 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34867
34868 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34869 GNU partition number to get internal GRUB partition number.
34870
34871 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34872
34873 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34874 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34875
34876 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34877
34878 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34879 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34880 case.
34881
34882 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
34883
34884 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34885
34886 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34887
34888 Fix build problem.
34889
34890 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34891 `-isystem=$(srcdir)/include'.
34892
34893 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34894
34895 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34896 checked (grub-install doesn't currently rely on it).
34897
34898 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34899
34900 Revert SVN r2660.
34901
34902 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34903 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34904 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34905 * conf/i386-ieee1275.rmk: Likewise.
34906 * conf/i386-pc.rmk: Likewise.
34907 * conf/powerpc-ieee1275.rmk: Likewise.
34908 * conf/sparc64-ieee1275.rmk: Likewise.
34909 * conf/x86_64-efi.rmk: Likewise.
34910
34911 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34912
34913 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34914
34915 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34916
34917 * include/grub/misc.h: Stop checking for APPLE_CC.
34918
34919 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34920
34921 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34922 doesn't cause an infinite call loop.
34923
34924 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
34925
34926 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34927 strings.
34928
34929 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34930
34931 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34932 variable.
34933 * Makefile.in: Likewise.
34934
34935 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34936
34937 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34938
34939 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34940
34941 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34942
34943 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34944
34945 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34946
34947 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34948
34949 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34950 from here ...
34951 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34952
34953 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34954
34955 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34956 in $(MAKEINFO) invocation. This makes it clear in output that
34957 errors are being ignored.
34958
34959 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34960
34961 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34962 from here ...
34963 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34964 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34965 * conf/i386-ieee1275.rmk: Likewise.
34966 * conf/i386-pc.rmk: Likewise.
34967 * conf/powerpc-ieee1275.rmk: Likewise.
34968 * conf/sparc64-ieee1275.rmk: Likewise.
34969 * conf/x86_64-efi.rmk: Likewise.
34970
34971 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34972
34973 * util/grub-editenv.c (main): If only a command is given, use
34974 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34975 (usage): FILENAME is now optional and has a default.
34976
34977 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34978
34979 Improve grub-mkconfig performance when there are several menu
34980 entries on a single filesystem.
34981
34982 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34983 prepare_grub_to_access_device.
34984 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34985 * util/grub.d/30_os-prober.in: Likewise.
34986
34987 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34988
34989 * util/grub.d/10_freebsd.in: Remove.
34990 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34991 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34992
34993 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34994
34995 * docs/grub.cfg: Fix example usage of *BSD loaders.
34996
34997 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34998
34999 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
35000 grub_util_error() call.
35001
35002 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35003
35004 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
35005 `reserved_first_sector' member.
35006 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
35007 `reserved_first_sector' to 1.
35008 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
35009 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
35010 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
35011 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
35012 filesystems which begin at first sector.
35013 (options): New option --skip-fs-probe.
35014 (main): Handle --skip-fs-probe and pass it to setup().
35015
35016 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35017
35018 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
35019 (memset): Fix function prototype.
35020
35021 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35022 2009-10-25 Vasily Averin <vvs@parallels.com>
35023
35024 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
35025 `dirent.direntlen == 0'.
35026
35027 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35028
35029 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
35030 `cpio'.
35031 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
35032
35033 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35034
35035 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
35036 `__trampoline_setup' and `__ucmpdi2'.
35037 * include/grub/powerpc/libgcc.h: Only export symbols for functions
35038 that libgcc provides.
35039
35040 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35041
35042 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
35043 * include/grub/sparc64/libgcc.h (memset): Likewise.
35044 * include/grub/misc.h (memset, memcmp): New function prototypes.
35045
35046 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35047
35048 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
35049 `cpio'.
35050 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
35051
35052 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35053
35054 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
35055 * docs/grub.cfg: Compensate for recent change in multiboot
35056 loader (since 2009-08-14 it won't pass filename to payload).
35057 * util/grub.d/10_hurd.in: Likewise.
35058
35059 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
35060
35061 * config.guess: Update to latest version from config git
35062 repository.
35063 * config.sub: Likewise.
35064
35065 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
35066
35067 Fix build on sparc64.
35068
35069 * configure.ac: Perform checks for libgcc symbols before
35070 adding `-nostdlib' to LDFLAGS.
35071
35072 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35073
35074 Let user specify OpenBSD root device.
35075
35076 * loader/i386/bsd.c (openbsd_root): New variable.
35077 (openbsd_opts): New option 'root'.
35078 (OPENBSD_ROOT_ARG): New macro.
35079 (grub_openbsd_boot): Use 'openbsd_root'.
35080 (grub_cmd_openbsd): Fill 'openbsd_root'.
35081
35082 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35083
35084 * NEWS: Misc adjustments.
35085
35086 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35087
35088 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
35089
35090 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35091
35092 * configure.ac: Bump version to 1.97.
35093
35094 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
35095
35096 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
35097 -mno-3dnow on x86 architectures. Some toolchains enable these
35098 features by default, but they rely on registers that aren't enabled
35099 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
35100
35101 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
35102
35103 Make entry text a bit more readable.
35104
35105 * util/grub.d/10_linux.in: Add `with' before `Linux'.
35106
35107 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35108
35109 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
35110
35111 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35112
35113 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
35114 operations.
35115
35116 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35117
35118 * configure.ac: Add missing dollar.
35119
35120 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35121
35122 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
35123
35124 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
35125 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
35126 exports.
35127 * include/grub/sparc64/libgcc.h: Likewise. Use
35128 preprocessor conditionals.
35129
35130 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35131
35132 * conf/common.rmk (grub-dumpbios): Remove rule.
35133 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
35134 * util/grub-dumpbios.in: Remove file.
35135
35136 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35137
35138 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35139 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35140
35141 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35142 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35143 users.
35144
35145 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35146 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35147 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35148 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35149 users.
35150
35151 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35152
35153 * term/tparm.c: Switch to GPLv3.
35154
35155 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35156
35157 * include/grub/i386/cpuid.h: Add header protection.
35158
35159 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35160
35161 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35162
35163 * include/grub/i386/cpuid.h: New file.
35164 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35165 (has_longmode): Rename to ...
35166 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35167 `static' attribute.
35168 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35169 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35170 on a CPU that doesn't implement AMD64 instruction set.
35171
35172 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35173
35174 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35175 that version.texi is rebuilt on version number changes.
35176
35177 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35178
35179 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35180 Fixes bug #27602.
35181
35182 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35183
35184 * util/i386/pc/grub-install.in: Source
35185 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35186 that the --grub-probe option will work.
35187 * util/sparc64/ieee1275/grub-install.in: Likewise.
35188
35189 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35190
35191 * configure.ac: Bump version to 1.97~beta4.
35192
35193 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35194
35195 Resync grub-mkdevicemap in x86_64-efi.
35196
35197 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35198 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35199 `util/devicemap.c'.
35200
35201 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
35202
35203 * util/grub-editenv.c (create_envblk_file): Write new block with a
35204 .new suffix and then rename it into place, to ensure atomic
35205 creation.
35206
35207 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35208
35209 Do not automatically install headers.
35210
35211 * Makefile.in (include_DATA): Remove. Update all users.
35212
35213 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35214
35215 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35216 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35217
35218 * util/osdetect.lua: Remove.
35219 * script/lua/lauxlib.c: Likewise.
35220 * script/lua/ldebug.c: Likewise.
35221 * script/lua/grub_main.c: Likewise.
35222 * script/lua/lauxlib.h: Likewise.
35223 * script/lua/ldebug.h: Likewise.
35224 * script/lua/ltablib.c: Likewise.
35225 * script/lua/liolib.c: Likewise.
35226 * script/lua/lstrlib.c: Likewise.
35227 * script/lua/lualib.h: Likewise.
35228 * script/lua/ldo.c: Likewise.
35229 * script/lua/ldump.c: Likewise.
35230 * script/lua/ldo.h: Likewise.
35231 * script/lua/loslib.c: Likewise.
35232 * script/lua/lundump.c: Likewise.
35233 * script/lua/grub_lib.c: Likewise.
35234 * script/lua/ldblib.c: Likewise.
35235 * script/lua/lundump.h: Likewise.
35236 * script/lua/lmem.c: Likewise.
35237 * script/lua/grub_lib.h: Likewise.
35238 * script/lua/lmathlib.c: Likewise.
35239 * script/lua/lstate.c: Likewise.
35240 * script/lua/ltm.c: Likewise.
35241 * script/lua/lvm.c: Likewise.
35242 * script/lua/lmem.h: Likewise.
35243 * script/lua/lstate.h: Likewise.
35244 * script/lua/ltm.h: Likewise.
35245 * script/lua/ltable.c: Likewise.
35246 * script/lua/lvm.h: Likewise.
35247 * script/lua/llex.c: Likewise.
35248 * script/lua/lgc.c: Likewise.
35249 * script/lua/grub_lua.h: Likewise.
35250 * script/lua/loadlib.c: Likewise.
35251 * script/lua/lfunc.c: Likewise.
35252 * script/lua/lopcodes.c: Likewise.
35253 * script/lua/lparser.c: Likewise.
35254 * script/lua/ltable.h: Likewise.
35255 * script/lua/llex.h: Likewise.
35256 * script/lua/lgc.h: Likewise.
35257 * script/lua/lfunc.h: Likewise.
35258 * script/lua/lbaselib.c: Likewise.
35259 * script/lua/lopcodes.h: Likewise.
35260 * script/lua/lparser.h: Likewise.
35261 * script/lua/lzio.c: Likewise.
35262 * script/lua/linit.c: Likewise.
35263 * script/lua/lobject.c: Likewise.
35264 * script/lua/llimits.h: Likewise.
35265 * script/lua/lstring.c: Likewise.
35266 * script/lua/lzio.h: Likewise.
35267 * script/lua/lapi.c: Likewise.
35268 * script/lua/lcode.c: Likewise.
35269 * script/lua/lua.h: Likewise.
35270 * script/lua/lobject.h: Likewise.
35271 * script/lua/lstring.h: Likewise.
35272 * script/lua/lapi.h: Likewise.
35273 * script/lua/lcode.h: Likewise.
35274 * script/lua/luaconf.h: Likewise.
35275
35276 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
35277
35278 * docs/grub.texi (Command-line and menu entry commands): Document
35279 date and echo commands.
35280
35281 2009-09-24 Pavel Roskin <proski@gnu.org>
35282
35283 * include/grub/kernel.h (struct grub_module_header): Remove
35284 `grub_module_header_types'. Make `type' unsigned. Make `size'
35285 32-bit on all platforms.
35286 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35287 8-bit field. Use grub_host_to_target32() for `size'.
35288 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35289 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35290 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35291
35292 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35293
35294 Fix "lost keypress" bug in at_keyboard.
35295
35296 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35297 Checks for readyness of input buffer (without flushing it).
35298 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35299 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35300
35301 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35302
35303 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35304 size check within GRUB_MACHINE_PCBIOS section.
35305
35306 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35307
35308 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35309 return value.
35310 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35311 KEYBOARD_ISREADY check.
35312 (grub_at_keyboard_checkkey): Rename to ...
35313 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35314 Remove gratuitous cast.
35315
35316 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
35317
35318 * configure.ac: Call AC_PROG_MKDIR_P.
35319 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35320 version.texi in $(builddir) rather than $(srcdir).
35321 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35322 to makeinfo's @include search path.
35323
35324 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35325
35326 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35327
35328 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35329
35330 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35331 for `*.dpkg-new'.
35332
35333 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
35334
35335 Build info documentation. Some code borrowed from Automake.
35336
35337 * configure.ac: Check for makeinfo.
35338 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35339 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35340 docs/version.texi.
35341 (MOSTLYCLEANFILES): Add vti.tmp.
35342 (docs/version.texi, docs/stamp-vti): Update automatically.
35343 (docs/grub.info): Build info documentation. Use --force and ignore
35344 errors for now.
35345 (all-local): Add $(INFOS).
35346 (install-local): Install info files.
35347 (uninstall): Uninstall info files.
35348 * docs/version.texi: Remove from revision control. This file is
35349 automatically generated on build now.
35350 * gendistlist.sh: Add `*.info'.
35351
35352 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35353
35354 * kern/term.c: Fix indentation.
35355
35356 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35357
35358 * util/hostdisk.c: Fix a comment.
35359
35360 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35361
35362 Fix regression introduced in r2539.
35363
35364 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35365 to 0xA1.
35366
35367 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
35368
35369 * util/grub.d/30_os-prober.in: Don't throw away stderr from
35370 os-prober. Under normal operation, it does not print anything to
35371 stderr; if it does, we need to debug it, and throwing away stderr
35372 makes that excessively difficult.
35373
35374 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35375
35376 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35377
35378 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35379
35380 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35381 AC_LANG_PROGRAM from autoconf.
35382 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35383 prototypes (fixes warning).
35384
35385 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35386 `--disable-werror' was used.
35387
35388 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35389
35390 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35391 uninitialized `lastaddr'.
35392
35393 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35394
35395 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
35396
35397 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35398
35399 * commands/test.c (get_fileinfo): Return immediately if
35400 grub_fs_probe fails.
35401
35402 2009-09-14 José Martínez <xosemp@gmail.com>
35403
35404 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35405
35406 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35407
35408 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35409 output.
35410
35411 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35412
35413 * configure.ac: Remove --enable-grub-pe2elf. Only build
35414 grub-pe2elf when needed by the build system itself.
35415 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35416
35417 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35418
35419 * configure.ac: Bump version to 1.97~beta3.
35420 * docs/version.texi: Likewise.
35421
35422 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35423
35424 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35425 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35426 from here ...
35427 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35428 (grub_linux_setup_video): ... to here (with some adjustments).
35429
35430 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35431
35432 Fix memory corruption issue (spotted by Colin Watson).
35433
35434 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35435 causing returned size to be stored in an incorrect memory location.
35436 Fix use of uninitialized value when storing the returned size.
35437
35438 2009-09-12 Yves Blusseau <blusseau@zetam.org>
35439
35440 Change clean rules to properly remove files
35441
35442 * genmk.rb: add new clean rules
35443 * Makefile.in (clean): add the new targets
35444 (mostlyclean): likewise
35445
35446 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35447
35448 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35449 to grub_uint64_t.
35450 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35451 non-resident files.
35452
35453 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35454
35455 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35456 part of bug #27349.
35457
35458 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35459
35460 * util/grub-mkconfig.in: Make the created config mode 400 and
35461 print a warning if it fails.
35462
35463 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35464
35465 * util/grub.d/40_custom.in: Ask user to type custom entries below
35466 comment, rather than below 'exec tail' line.
35467
35468 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35469
35470 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35471 visible in grub.cfg.
35472
35473 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35474
35475 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35476 file.
35477
35478 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35479
35480 * docs/grub.cfg: Add an example menu entry for memtest86+.
35481
35482 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
35483
35484 * config.guess: Update to latest version from config git.
35485 * config.sub: Likewise.
35486
35487 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
35488
35489 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35490 unknown-command case. Fixes bug #27320.
35491
35492 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
35493
35494 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35495 `help' if the command exists.
35496
35497 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35498
35499 * INSTALL: Require GCC 4.1.3 or later.
35500
35501 2009-09-06 Yves Blusseau <blusseau@zetam.org>
35502
35503 * Makefile.in (RMKFILES): add i386-qemu.rmk
35504 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35505 $(srcdir)/stamp-h.in
35506
35507 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35508
35509 * util/grub-probe.c (probe): Comment out buggy codepath, which
35510 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35511 should be re-enabled after 1.97.
35512
35513 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
35514
35515 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35516 find searches for.
35517
35518 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35519
35520 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35521 unnecessary calls to grub_error.
35522
35523 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
35524
35525 * NEWS: Mention `keystatus' and Unicode fonts.
35526
35527 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35528
35529 * configure.ac: Bump version to 1.97~beta2.
35530 * docs/version.texi: Likewise.
35531
35532 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35533
35534 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35535 containing unwind information in some cases where it previously did
35536 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35537 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35538 discussion.
35539
35540 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35541
35542 Embedding loadenv module into grub-emu
35543
35544 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35545 commands/loadenv.c
35546 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35547 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35548 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35549 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35550 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35551 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35552
35553 2009-09-03 Magnus Granberg <zorry@ume.nu>
35554
35555 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35556 include -fPIE in the default specs.
35557 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35558 to TARGET_CFLAGS.
35559
35560 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
35561
35562 * INSTALL: Note that GNU Bison 2.3 or later is required.
35563
35564 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35565
35566 * kern/i386/pc/startup.S: Fix typo.
35567
35568 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35569
35570 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35571 according to GCS.
35572
35573 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35574
35575 * docs/grub.texi (Naming convention): Describe one-based partition
35576 numbering.
35577 (Device syntax): Likewise.
35578 (File name syntax): Likewise.
35579 (Block list syntax): Likewise.
35580 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35581 menu.lst.
35582 (File name syntax): Likewise.
35583 (Command-line and menu entry commands): Document acpi, blocklist,
35584 crc, export, insmod, keystatus, ls, set, and unset commands.
35585
35586 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35587
35588 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35589 to avoid implying that only one of --shift, --ctrl, or --alt may be
35590 used.
35591
35592 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35593
35594 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35595 rather than comparing against S_IFREG, which will almost never work.
35596
35597 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35598
35599 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35600 (write_blocklists): Likewise.
35601
35602 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
35603
35604 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35605 argument to grub_printf.
35606
35607 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
35608
35609 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
35610 non GNU test.
35611
35612 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35613
35614 * kern/file.c (grub_file_read): Spelling fix
35615
35616 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35617
35618 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35619 loading of headers in some cases.
35620
35621 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35622
35623 * configure.ac: Bump version to 1.97~beta1.
35624 * docs/version.texi: Likewise.
35625
35626 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
35627
35628 * include/grub/i386/xnu.h: Add license header.
35629 include grub/err.h explicitly.
35630
35631 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35632
35633 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35634 to `ufs' in the vfs.root.mountfrom kernel parameter.
35635
35636 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35637
35638 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35639
35640 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35641 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35642
35643 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35644 `ARRAY_SIZE' macro.
35645
35646 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35647
35648 * kern/file.c (grub_file_read): Check offset.
35649 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35650 * fs/jfs.c (grub_jfs_read_file): Likewise.
35651 * fs/ntfs.c (grub_ntfs_read): Likewise.
35652 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35653 * fs/minix.c (grub_minix_read_file): Correct offset check.
35654 * fs/ufs.c (grub_ufs_read_file): Likewise.
35655
35656 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35657
35658 * term/i386/pc/console.c (bios_data_area): Cast
35659 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35660
35661 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35662
35663 1-bit optimised blitters.
35664
35665 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35666 prototype.
35667 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35668 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35669 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35670 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35671 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35672 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35673 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35674 function.
35675 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35676 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35677 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35678 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35679 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35680 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35681 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35682 when possible.
35683 * video/video.c (grub_video_get_blit_format): Return
35684 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35685
35686 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35687
35688 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35689 the first argument to grub_printf.
35690
35691 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35692 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35693
35694 Add `getkeystatus' terminal method. Add a new `keystatus' command
35695 to query it.
35696
35697 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35698 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35699 modifier key bitmasks.
35700 (struct grub_term_input): Add `getkeystatus' member.
35701 (grub_getkeystatus): Add prototype.
35702 * kern/term.c (grub_getkeystatus): New function.
35703
35704 * include/grub/i386/pc/memory.h
35705 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35706 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35707 Data Area layout.
35708 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35709 (grub_console_term_input): Set `getkeystatus' member.
35710 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35711 constants.
35712 (grub_usb_keyboard_getreport): Likewise.
35713 (grub_usb_keyboard_checkkey): Likewise.
35714 (grub_usb_keyboard_getkeystatus): New function.
35715 (grub_usb_keyboard_term): Set `getkeystatus' member.
35716
35717 * commands/keystatus.c: New file.
35718 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35719 (keystatus_mod_SOURCES): New variable.
35720 (keystatus_mod_CFLAGS): Likewise.
35721 (keystatus_mod_LDFLAGS): Likewise.
35722 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35723 commands/keystatus.c.
35724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35726 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35728 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35729 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35730
35731 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35732
35733 Split befs.mod and afs.mod into *_be.mod and *.mod
35734
35735 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35736 (grub_fstest_SOURCES): Likewise.
35737 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35738 (afs_be_mod_SOURCES): New variable.
35739 (afs_be_mod_CFLAGS): Likewise.
35740 (afs_be_mod_LDFLAGS): Likewise.
35741 (befs_be_mod_SOURCES): Likewise.
35742 (befs_be_mod_CFLAGS): Likewise.
35743 (befs_be_mod_LDFLAGS): Likewise.
35744 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35745 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35746 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35747 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35748 (grub_emu_SOURCES): Likewise.
35749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35750 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35751 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35752 * fs/afs_be.c: New file.
35753 * fs/befs_be.c: New file.
35754 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35755 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35756 (U16): Replaced with ...
35757 (grub_afs_to_cpu16): ...this. All users updated.
35758 (U32): Replaced with ...
35759 (grub_afs_to_cpu32): ...this. All users updated.
35760 (U64): Replaced with ...
35761 (grub_afs_to_cpu64): ...this. All users updated.
35762 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35763 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
35764 (grub_afs_validate_sblock): Check only one endianness.
35765 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35766 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35767 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35768 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35769 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35770 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35771 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35772 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35773
35774 2009-08-26 Bean <bean123ch@gmail.com>
35775
35776 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35777 64-bit number.
35778 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35779 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35780 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35781
35782 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35783
35784 NetBSD memory map support.
35785
35786 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35787 (grub_netbsd_btinfo_mmap_header): New structure.
35788 (grub_netbsd_btinfo_mmap_entry): Likewise.
35789 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35790
35791 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35792
35793 Enable bsd.mod on coreboot.
35794
35795 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35796 (bsd_mod_SOURCES): New variable.
35797 (bsd_mod_CFLAGS): Likewise.
35798 (bsd_mod_LDFLAGS): Likewise.
35799 (bsd_mod_ASFLAGS): Likewise.
35800 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35801 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35802
35803 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35804
35805 Cleanup NetBSD root support.
35806
35807 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35808 grub_bsd_get_device.
35809 Fix typo.
35810
35811 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
35812
35813 * util/grub.d/00_header.in: Move check for the video backend of
35814 gfxterm from here ...
35815 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35816 a suitable video backend.
35817
35818 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35819
35820 Fix breakage in grub-setup.
35821
35822 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35823 "msdos_partition_map".
35824
35825 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35826
35827 Fix breakage in normal/auth.c.
35828
35829 * normal/auth.c (grub_iswordseparator): New function.
35830
35831 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35832
35833 Authentication support.
35834
35835 * commands/password.c: New file.
35836 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35837 (password_mod_SOURCES): New variable.
35838 (password_mod_CFLAGS): Likewise.
35839 (password_mod_LDFLAGS): Likewise.
35840 (normal_mod_SOURCES): Add normal/auth.c.
35841 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35842 normal/auth.c.
35843 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35844 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35845 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35847 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35848 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35849 * include/grub/auth.h: New file.
35850 * include/grub/err.h (grub_err_t): New enum value
35851 GRUB_ERR_ACCESS_DENIED.
35852 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35853 'users'.
35854 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35855 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35856 users updated.
35857 * normal/auth.c: New file.
35858 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35859 (grub_cmdline_run): Don't allow to go to command line without
35860 authentication.
35861 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35862 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35863 menuentry without superuser rights.
35864 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35865 user isn't a superuser.
35866
35867 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35868
35869 Save space by inlining misc.c functions.
35870
35871 * kern/misc.c (grub_iswordseparator): Made static.
35872 * kern/misc.c (grub_strcat): Moved from here ...
35873 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35874 * kern/misc.c (grub_strncat): Moved from here ...
35875 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35876 * kern/misc.c (grub_strcasecmp): Moved from here ...
35877 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35878 * kern/misc.c (grub_strncasecmp): Moved from here ...
35879 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35880 * kern/misc.c (grub_isalpha): Moved from here ...
35881 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35882 * kern/misc.c (grub_isdigit): Moved from here ...
35883 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35884 * kern/misc.c (grub_isgraph): Moved from here ...
35885 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35886 * kern/misc.c (grub_tolower): Moved from here ...
35887 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35888
35889 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35890
35891 * script/sh/function.c (grub_script_function_find): Cut error message
35892 not to flood terminal.
35893 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35894 limit.
35895 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35896
35897 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
35898
35899 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35900 `report' grub_uint8_t *.
35901 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35902 Use a 50-millisecond timeout rather than just repeating
35903 grub_usb_keyboard_getreport 50 times.
35904 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35905
35906 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35907
35908 Rename *_partition_map to part_*
35909
35910 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35911 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35912 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35913 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35914 All users updated.
35915 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35916 All users updated.
35917 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35918 * util/grub-probe.c (probe_partmap): Don't transform partition name
35919 to get module name.
35920
35921 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35922
35923 Fix OpenBSD and NetBSD support.
35924
35925 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35926 memory address conflict.
35927 (OPENBSD_MMAP_ACPI): New definition.
35928 (OPENBSD_MMAP_NVS): Likewise.
35929 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35930 and OPENBSD_MMAP_NVS.
35931 Add memory map terminator
35932 Explicit cast when calling grub_unix_real_boot.
35933 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
35934
35935 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35936
35937 Let user specify NetBSD root device.
35938
35939 * loader/i386/bsd.c (netbsd_root): New variable.
35940 (netbsd_opts): New option 'root'.
35941 (NETBSD_ROOT_ARG): New macro.
35942 (grub_netbsd_boot): Use 'netbsd_root'.
35943 (grub_bsd_unload): Free 'netbsd_root'.
35944 (grub_cmd_netbsd): Fill 'netbsd_root'.
35945
35946 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35947
35948 Support for 64-bit NetBSD.
35949
35950 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35951 point when booting non-FreeBSD.
35952
35953 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35954
35955 Support --no-smp and --no-acpi for NetBSD.
35956
35957 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35958 (NETBSD_AB_NOACPI): Likewise.
35959 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35960 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35961
35962 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35963
35964 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35965 errors.
35966 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35967 errors. Call grub_error when needed.
35968
35969 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35970
35971 * commands/search.c (search_fs): Try searching without autoload first.
35972 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35973 filesystem module explicitly for faster booting.
35974
35975 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35976
35977 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35978
35979 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35980
35981 * util/grub.d/30_os-prober.in: Disable os-prober if
35982 `GRUB_DISABLE_OS_PROBER' was set to true.
35983
35984 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35985
35986 * partmap/pc.c: Rename to ...
35987 * partmap/msdos.c: ... this. Update all users.
35988 (grub_pc_partition_map): Rename to ...
35989 (grub_msdos_partition_map): ... this. Update all users.
35990
35991 * parttool/pcpart.c: Rename to ...
35992 * parttool/msdospart.c: ... this. Update all users.
35993
35994 * include/grub/pc_partition.h: Rename to ...
35995 * include/grub/msdos_partition.h: ... this. Update all users.
35996 (grub_pc_partition_bsd_entry): Rename to ...
35997 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35998 (grub_pc_partition_disk_label): Rename to ...
35999 (grub_msdos_partition_disk_label): ... this. Update all users.
36000 (grub_pc_partition_entry): Rename to ...
36001 (grub_msdos_partition_entry): ... this. Update all users.
36002 (grub_pc_partition_mbr): Rename to ...
36003 (grub_msdos_partition_mbr): ... this. Update all users.
36004 (grub_pc_partition): Rename to ...
36005 (grub_msdos_partition): ... this. Update all users.
36006 (grub_pc_partition_is_empty): Rename to ...
36007 (grub_msdos_partition_is_empty): ... this. Update all users.
36008 (grub_pc_partition_is_extended): Rename to ...
36009 (grub_msdos_partition_is_extended): ... this. Update all users.
36010 (grub_pc_partition_is_bsd): Rename to ...
36011 (grub_msdos_partition_is_bsd): ... this. Update all users.
36012
36013 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
36014 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
36015 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
36016 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
36017 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
36018 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
36019 (gpt_mod_LDFLAGS): Rename to ...
36020 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
36021 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
36022 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
36023 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
36024 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
36025 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
36026 (part_gpt_mod_LDFLAGS): ... this.
36027 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
36028 `pcpart.mod' to `msdospart.mod'.
36029 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
36030 to ...
36031 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
36032 (msdospart_mod_LDFLAGS): ... this.
36033
36034 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36035
36036 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
36037 (openbsd_opts): Likewise.
36038 (netbsd_opts): Likewise.
36039 (freebsd_flags): Added 0 terminator.
36040 (openbsd_flags): Likewise.
36041 (netbsd_flags): Likewise.
36042 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
36043 (grub_cmd_freebsd): Transformed into extended command.
36044 (grub_cmd_openbsd): Likewise.
36045 (grub_cmd_netbsd): Likewise.
36046 (cmd_freebsd): Changed type to grub_extcmd_t.
36047 (cmd_openbsd): Likewise.
36048 (cmd_netbsd): Likewise.
36049 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
36050 grub_cmd_openbsd as extended commands.
36051 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
36052 cmd_netbsd and cmd_openbsd
36053
36054 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
36055
36056 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
36057
36058 2009-08-21 Pavel Roskin <proski@gnu.org>
36059
36060 * Makefile.in (install-local): When checking if a file is in the
36061 build directory, use "test -e" to detect symlinks.
36062
36063 * Makefile.in (install-local): Remove all files in
36064 $(DESTDIR)$(pkglibdir) before installing new files there.
36065
36066 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36067
36068 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
36069 grub-mkelfimage.
36070
36071 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36072
36073 * util/grub-mkconfig.in: Don't use gfxterm by default if not
36074 explicitly specified by the user.
36075
36076 2009-08-18 Pavel Roskin <proski@gnu.org>
36077
36078 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
36079 grub_uint8_t pointer for data.
36080 * include/grub/fbutil.h (struct grub_video_fbblit_info):
36081 Likewise.
36082 * video/fb/fbutil.c: Remove unnecessary casts.
36083
36084 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36085
36086 VBE cleanup.
36087
36088 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
36089 (grub_vbe_set_video_mode): Save active mode info
36090 only after setting the mode.
36091 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
36092 second argument.
36093
36094 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36095
36096 Rename variables for clarity.
36097
36098 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
36099 (active_vbe_mode_info): ... this. All users updated.
36100 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
36101 All users updated.
36102 (initial_mode): Rename to ...
36103 (initial_vbe_mode): ... this. All users updated.
36104 (mode_in_use): Rename to ..
36105 (vbe_mode_in_use): ... this. All users updated.
36106 (mode_list): Rename to ..
36107 (vbe_mode_list): ... this. All users updated.
36108 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
36109 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
36110 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
36111 'mode_list_size' to 'vbe_mode_list_size'.
36112 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
36113 'best_mode_info' to 'best_vbe_mode_info' and
36114 'best_mode' to 'best_vbe_mode'
36115
36116 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36117
36118 Remove duplicate grub_video_fb_get_video_ptr.
36119
36120 * include/grub/fbutil.h (get_data_ptr): Rename to ...
36121 (grub_video_fb_get_video_ptr): ... this.
36122 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
36123 * video/fb/fbutil.c: Add comment about addressing.
36124 (get_data_ptr): Rename to ...
36125 (grub_video_fb_get_video_ptr): ... this. All users updated.
36126 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
36127
36128 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36129
36130 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
36131 grub_dprintf() that was just added.
36132
36133 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36134
36135 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36136 (DEFAULT_VIDEO_MODE): Remove macros.
36137 (grub_linux_boot): Remove assumption that Linux has FB support,
36138 and use "text" as default video mode.
36139
36140 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36141
36142 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36143 grub_dprintf.
36144 * fs/fat.c (grub_fat_read_data): Likewise.
36145
36146 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36147
36148 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36149 payload.
36150 (grub_module): Likewise.
36151
36152 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36153
36154 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36155 mbi->cmdline but free playground.
36156
36157 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36158
36159 Handle group offset on UFS1.
36160
36161 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36162 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36163
36164 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36165
36166 Split ufs.mod into ufs1.mod and ufs2.mod.
36167
36168 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36169 (grub_fstest_SOURCES): Likewise.
36170 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36171 (ufs_mod_SOURCES): Remove.
36172 (ufs_mod_CFLAGS): Likewise.
36173 (ufs_mod_LDFLAGS): Likewise.
36174 (ufs1_mod_SOURCES): New variable.
36175 (ufs1_mod_CFLAGS): Likewise.
36176 (ufs1_mod_LDFLAGS): Likewise.
36177 (ufs2_mod_SOURCES): New variable.
36178 (ufs2_mod_CFLAGS): Likewise.
36179 (ufs2_mod_LDFLAGS): Likewise.
36180 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36181 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36182 Likewise.
36183 (grub_emu_SOURCES): Likewise.
36184 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36185 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36186 (grub_setup_SOURCES): Likewise.
36187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36188 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36189 (grub_setup_SOURCES): Likewise.
36190 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36191 Likewise.
36192 * fs/ufs2.c: New file.
36193 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36194
36195 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36196
36197 Framebuffer split.
36198
36199 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36200 subsystem at the end.
36201 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36202 (video_fb_mod_SOURCES): New variable.
36203 (video_fb_mod_CFLAGS): Likewise.
36204 (video_fb_mod_LDFLAGS): Likewise.
36205 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36206 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36207 * video/i386/pc/vbeblit.c: Moved from here ...
36208 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36209 * video/i386/pc/vbefill.c: Moved from here ...
36210 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36211 * video/i386/pc/vbeutil.c: Moved from here ...
36212 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36213 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36214 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36215 * include/grub/i386/pc/vbefill.h: Moved from here ...
36216 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36217 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36218 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36219 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36220 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36221 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36222 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36223 (grub_video_adapter): Added 'get_info_and_fini'.
36224 (grub_video_get_info_and_fini): New prototype.
36225 (grub_video_set_mode): make modestring const char *.
36226 * loader/i386/linux.c (grub_linux_setup_video): Use
36227 grub_video_get_info_and_fini.
36228 (grub_linux_boot): Move modesetting just before booting.
36229 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36230 grub_video_get_info_and_fini.
36231 * video/i386/pc/vbe.c: Moved framebuffer part ...
36232 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36233 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36234 grub_video_fbstd_colors and grub_video_fb_set_palette.
36235 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36236 grub_video_fb_init.
36237 (grub_video_vbe_fini): Use grub_video_fb_fini.
36238 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36239 render_target and use grub_video_fb_set_active_render_target and
36240 grub_video_fb_set_palette.
36241 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36242 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36243 (grub_video_vbe_adapter): Use framebuffer.
36244 * video/video.c (grub_video_get_info_and_fini): New function.
36245 (grub_video_set_mode): Make modestring const char *.
36246 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36247 values are already initialised.
36248
36249 2009-08-14 Pavel Roskin <proski@gnu.org>
36250
36251 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36252 ABS and APPLE_CC.
36253 * boot/i386/pc/diskboot.S: Likewise.
36254 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36255 sectors allow compilation on MacOSX.
36256 * conf/i386-pc.rmk: Enable unconditional compilation of
36257 lnxboot.img.
36258
36259 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
36260
36261 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36262 * util/grub.d/00_header.in: Enter interruptible sleep if
36263 GRUB_HIDDEN_TIMEOUT is set.
36264
36265 2009-08-13 Yves Blusseau <blusseau@zetam.org>
36266
36267 * include/grub/symbol.h: Add the LOCAL macro.
36268 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36269 starting with "L_".
36270
36271 2009-08-13 Pavel Roskin <proski@gnu.org>
36272
36273 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36274 any modern compilers we support.
36275
36276 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36277 Use local labels starting with "L_" so that Apple assembler
36278 knows they are local.
36279
36280 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36281
36282 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36283 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36284 (bsd_kernel_types): ... this enum.
36285
36286 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36287 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36288 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36289
36290 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36291 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36292 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36293 messages.
36294
36295 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36296
36297 * util/grub-dumpdevtree: Moved from here ...
36298 * util/i386/efi/grub-dumpdevtree: ... to here.
36299 (hexify): New function. Converts a string to its hex version.
36300 Generate hex versions of "efi" and "device-properties" by calling
36301 hexify() on the ASCII strings rather than by hardcoding numbers.
36302
36303 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36304
36305 * fs/jfs.c: Update copyright year.
36306
36307 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36308
36309 * util/grub.d/00_header.in: Fix a comment.
36310 * util/grub.d/10_linux.in: Likewise.
36311 * util/grub.d/10_windows.in: Likewise.
36312 * util/grub.d/10_hurd.in: Likewise.
36313
36314 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36315
36316 * util/grub-mkconfig.in: Allow the user to specify the used font
36317 with GRUB_FONT.
36318
36319 2009-08-08 Pavel Roskin <proski@gnu.org>
36320
36321 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36322 available, xfs.mod needs it now.
36323
36324 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36325 the "g" modifier in sed when the intention is to strip something
36326 once. This fixes comparison of kernels with multiple dashes.
36327
36328 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36329 on it. Add missing space before closing bracket. Fix
36330 misleading formatting.
36331
36332 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36333
36334 * docs/grub.texi: Major overhaul. Remove all sections that are
36335 specific to GRUB Legacy, or mostly composed of Legacy-specific
36336 information.
36337
36338 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36339
36340 * docs/version.texi: New file. Provides version information for
36341 grub.texi.
36342
36343 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36344
36345 * docs/grub.texi: Update CVS information to SVN.
36346 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36347
36348 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36349
36350 * util/grub-mkconfig.in: Remove a wrong `fi'.
36351
36352 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36353
36354 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36355 (grub_jfs_uuid): New function.
36356 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36357
36358 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36359
36360 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36361 of it to ...
36362 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36363 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36364
36365 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36366
36367 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36368 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36369 Update all users.
36370
36371 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36372 not just "vmlinu[zx]".
36373 Moved from here ...
36374 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36375 all users.
36376
36377 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36378 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36379 all users.
36380
36381 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36382
36383 * util/grub.d/10_freebsd.in: Use an absolute device path for
36384 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36385
36386 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
36387
36388 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36389 handling of multiple abstraction modules.
36390
36391 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36392
36393 Fix a bug resulting in black screen when loading Linux using a
36394 packed video mode.
36395
36396 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36397 function.
36398
36399 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36400 (grub_vbe_bios_getset_dac_palette_width): New function.
36401 (grub_vbe_bios_get_dac_palette_width)
36402 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36403 grub_vbe_bios_getset_dac_palette_width()).
36404
36405 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36406 check for return status.
36407 (grub_vbe_get_video_mode_info): When getting information for a packed
36408 mode (<= 8 bpp), obtain DAC palette width using
36409 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36410 {red,green,blue}_mark_size.
36411
36412 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
36413
36414 * commands/search.c (options): Fix help output to match actual code.
36415
36416 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36417
36418 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36419 of homegrown code.
36420
36421 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36422
36423 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36424 on XFS or ReiserFS.
36425
36426 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36427
36428 Support Apple partition map with sector size different from 512 bytes.
36429
36430 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36431 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36432 and 'apart.partmap_size'.
36433
36434 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36435 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36436
36437 Fix cpuid command.
36438
36439 * commands/i386/cpuid.c (options): New variable.
36440 (grub_cmd_cpuid): Return real error.
36441 (GRUB_MOD_INIT(cpuid)): Declare options.
36442
36443 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36444
36445 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36446 valid.
36447
36448 2009-07-31 Bean <bean123ch@gmail.com>
36449
36450 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36451 log2_inode.
36452 (grub_fshelp_node): Move inode field to the end.
36453 (grub_xfs_data): Remove inode field.
36454 (grub_xfs_inode_block): Calculate inode size using sblock.
36455 (grub_xfs_inode_offset): Likewise.
36456 (grub_xfs_read_inode): Calculate inode size using sblock.
36457 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36458 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36459 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36460 to match inode size.
36461 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36462 not accessible when data is null.
36463 (grub_xfs_open): Likewise.
36464
36465 2009-07-31 Bean <bean123ch@gmail.com>
36466
36467 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36468 Don't change pv->disk if it's already set.
36469
36470 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36471 (grub_raid_register): ... here.
36472 (grub_raid_rescan): Removed.
36473
36474 * include/grub/raid.h (grub_raid_rescan): Removed.
36475
36476 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36477 (fstest): Replace grub_raid_rescan with module fini function followed
36478 by init function.
36479
36480 * util/grub-probe.c: Add include file <grub/raid.h>.
36481 (probe_raid_level): New function.
36482 (probe): Detect abstraction by walking the disk device, support two
36483 level of abstraction (LVM on RAID) when detecting partition map.
36484
36485 2009-07-31 Pavel Roskin <proski@gnu.org>
36486
36487 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36488 to grub_zalloc(), it was erroneous.
36489 Reported by Bean <bean123ch@gmail.com>
36490
36491 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36492
36493 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
36494 embedding zone, not only the first one.
36495
36496 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
36497
36498 * term/gfxterm.c (clear_char): New function.
36499 (grub_virtual_screen_setup): Use clear_char.
36500 (scroll_up): Likewise.
36501 (grub_virtual_screen_cls): Likewise.
36502
36503 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
36504
36505 * util/deviceiter.c (get_acceleraid_disk_name): New static
36506 function.
36507 (grub_util_iterate_devices): Handle Accelraid devices.
36508 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36509
36510 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36511
36512 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36513 separator for the suggested gfxpayload string (';' collides with the
36514 parser and needs escaping).
36515
36516 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36517
36518 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36519 Clear direction flag before jumping to OS.
36520 (grub_multiboot2_real_boot): Likewise.
36521
36522 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36523
36524 * util/i386/pc/grub-install: Fix parsing of --disk-module
36525 option.
36526
36527 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36528
36529 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36530 when embedding.
36531
36532 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
36533
36534 * util/grub-mkconfig.in (package_version): New variable.
36535 Use it do display the version.
36536
36537 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36538
36539 * kern/file.c (grub_file_open): Revert to previous check with
36540 grub_errno.
36541
36542 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36543
36544 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36545 from help line. It's out of sync with code.
36546
36547 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36548
36549 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36550 entries on failed boot.
36551
36552 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36553
36554 * kern/file.c (grub_file_open): Fix an error check.
36555
36556 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36557
36558 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36559 partition map couldn't be identified.
36560
36561 2009-07-23 Pavel Roskin <proski@gnu.org>
36562
36563 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36564 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36565 case of little endian words becomes just an optimization.
36566 Respect const modifier.
36567 (md5_final): Use code that doesn't depend on endianness.
36568
36569 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36570 to avoid loss of upper bits if align is unsigned and shorter
36571 than addr.
36572
36573 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36574
36575 UUID support for UFS
36576
36577 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36578 (grub_ufs_uuid): New function.
36579 (grub_ufs_fs): add .uuid
36580
36581 2009-07-21 Pavel Roskin <proski@gnu.org>
36582
36583 * kern/dl.c (grub_dl_check_header): Make static.
36584
36585 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
36586
36587 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36588 add drivemap for Vista. It breaks Windows 7.
36589
36590 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36591
36592 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36593 128 bytes
36594
36595 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36596
36597 Add BFS support
36598
36599 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36600 (grub_fstest_SOURCES): Likewise.
36601 (pkglib_MODULES): Add befs.mod.
36602 (befs_mod_SOURCES): New variable.
36603 (befs_mod_CFLAGS): Likewise.
36604 (befs_mod_LDFLAGS): Likewise.
36605 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36606 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36607 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36608 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36609 (grub_setup_SOURCES): Likewise.
36610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36611 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36612 (grub_setup_SOURCES): Likewise.
36613 * fs/befs.c: New file.
36614 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36615 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36616 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36617 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36618 (B_KEY_INDEX_ALIGN): New declaration.
36619 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36620 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36621 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36622 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36623 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36624 (grub_afs_mount) [MODE_BFS]: Likewise.
36625 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36626 (grub_afs_fs): Use GRUB_AFS_FSNAME
36627 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36628 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36629 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36630 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36631
36632 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36633
36634 * util/getroot.c (find_root_device): Add support for MacOSX.
36635 * util/hostdisk.c: Likewise.
36636
36637 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36638
36639 * font/font.c (find_glyph): Check whether a font is present to avoid
36640 segmentation fault.
36641
36642 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
36643
36644 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36645
36646 2009-07-20 Pavel Roskin <proski@gnu.org>
36647
36648 * configure.ac: Trim excessively wordy excuses.
36649
36650 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36651
36652 Add symlink, mtime and label support to AtheFS.
36653
36654 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36655 (grub_afs_iterate_dir): Handle symlinks.
36656 (grub_afs_open): Use grub_afs_read_symlink.
36657 (grub_afs_dir): Likewise.
36658 Pass mtime.
36659 (grub_afs_label): New function.
36660 (grub_afs_fs): Add grub_afs_label.
36661 (grub_afs_read_symlink): New function.
36662
36663 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36664
36665 Fix AtheFS support.
36666
36667 * fs/afs.c: Fix comments style.
36668 (grub_afs_blockrun): Declare as packed.
36669 (grub_afs_datastream): Likewise.
36670 (grub_afs_bnode): Likewise.
36671 (grub_afs_btree): Likewise.
36672 (grub_afs_sblock): Likewise.
36673 Declare `name' as char.
36674 (grub_afs_inode): Declare as packed.
36675 Change void *vnode to grub_uint32_t unused.
36676 (grub_afs_iterate_dir): Check that key_size is positive.
36677 (grub_afs_mount): Don't read superblock twice.
36678 (grub_afs_dir): Don't free node in case of error,
36679 grub_fshelp_find_file already handles this.
36680 (grub_afs_open): Likewise.
36681
36682 2009-07-19 Pavel Roskin <proski@gnu.org>
36683
36684 * Makefile.in: Remove LIBLZO and enable_lzo.
36685 * conf/i386-pc.rmk: Remove lzo support.
36686 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36687 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36688 support.
36689 * kern/i386/pc/lzo1x.S: Remove.
36690 * kern/i386/pc/startup.S: Remove lzo support.
36691 * util/i386/pc/grub-mkimage.c: Likewise.
36692
36693 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36694
36695 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36696 * fs/xfs.c (grub_xfs_dir): Likewise.
36697 * fs/afs.c (grub_afs_dir): Likewise.
36698 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36699 (grub_iso9660_open): Likewise.
36700 * fs/jfs.c (grub_jfs_open): Likewise.
36701 * fs/ext2.c (grub_ext2_dir): Likewise.
36702 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36703 * script/sh/lexer.c (grub_script_yylex): Likewise.
36704
36705 2009-07-16 Pavel Roskin <proski@gnu.org>
36706
36707 * configure.ac: Never add "-c" to CFLAGS.
36708
36709 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36710
36711 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36712 grub_cv_cc_efiemu should be used.
36713
36714 * configure.ac: Typo fixes.
36715
36716 * kern/mm.c (grub_zalloc): New function.
36717 (grub_debug_zalloc): Likewise.
36718 * include/grub/mm.h: Declare grub_zalloc() and
36719 grub_debug_zalloc().
36720 * util/misc.c (grub_zalloc): New function.
36721 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36722 instead of grub_malloc(), remove unneeded initializations.
36723 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36724 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36725 * commands/parttool.c (grub_cmd_parttool): Likewise.
36726 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36727 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36728 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36729 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36730 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36731 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36732 (grub_cmd_efiemu_pnvram): Likewise.
36733 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36734 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36735 (grub_iso9660_iterate_dir): Likewise.
36736 * fs/jfs.c (grub_jfs_opendir): Likewise.
36737 * fs/ntfs.c (list_file): Likewise.
36738 (grub_ntfs_mount): Likewise.
36739 * kern/disk.c (grub_disk_open): Likewise.
36740 * kern/dl.c (grub_dl_load_core): Likewise.
36741 * kern/elf.c (grub_elf_file): Likewise.
36742 * kern/env.c (grub_env_context_open): Likewise.
36743 (grub_env_set): Likewise.
36744 (grub_env_set_data_slot): Likewise.
36745 * kern/file.c (grub_file_open): Likewise.
36746 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36747 * loader/i386/multiboot.c (grub_module): Likewise.
36748 * loader/xnu.c (grub_xnu_create_key): Likewise.
36749 (grub_xnu_create_value): Likewise.
36750 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36751 (read_config_file): Likewise.
36752 * normal/menu_entry.c (make_screen): Likewise.
36753 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36754 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36755 * script/sh/script.c (grub_script_parse): Likewise.
36756 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36757 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36758 * video/readers/png.c (grub_png_output_byte): Likewise.
36759 (grub_video_reader_png): Likewise.
36760
36761 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36762
36763 Enable all targets that can be built by default
36764
36765 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
36766 grub-mkfont and grub-fstest if they can be built
36767
36768 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36769
36770 Fix hang and segmentation fault in grub-emu-usb
36771
36772 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36773 * util/usb.c (grub_libusb_devices): likewise
36774 (grub_libusb_init): rename to ...
36775 (GRUB_MOD_INIT (libusb)):...this
36776 (grub_libusb_fini): rename to ..
36777 (GRUB_MOD_FINI (libusb)):...this
36778 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36779 * include/grub/disk.h (grub_raid_init): removed, it's useless
36780 (grub_raid_fini): likewise
36781 (grub_lvm_init): likewise
36782 (grub_lvm_fini): likewise
36783 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36784 by grub_init_all
36785
36786 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36787
36788 Fix libusb
36789
36790 * Makefile.in (LIBUSB): new macro
36791 * genmk.rb (Utility/print_tail): new method
36792 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36793 (top level): call util.print_tail at the end.
36794
36795 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36796
36797 Make FreeBSD accept zpool.cache
36798
36799 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36800 type is /boot/zfs/zpool.cache
36801
36802 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36803
36804 Fix 64-bit efiemu
36805
36806 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36807 correct wrong typedef
36808 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36809
36810 2009-07-15 Pavel Roskin <proski@gnu.org>
36811
36812 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36813 * kern/disk.c (struct grub_disk_cache): Likewise.
36814
36815 * commands/probe.c (options): Typo fix.
36816
36817 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36818 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36819 accordingly.
36820 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36821
36822 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36823 the end of "Error" to make the message more readable.
36824
36825 * boot/i386/pc/boot.S (kernel_segment): Remove.
36826 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36827 for destination.
36828
36829 * boot/i386/pc/boot.S (boot_version): Remove.
36830 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36831 Remove.
36832
36833 * include/grub/i386/pc/boot.h: Sort all offsets.
36834 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36835 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36836 * boot/i386/pc/boot.S: Assert location of every offset listed in
36837 include/grub/i386/pc/boot.h.
36838
36839 2009-07-13 Pavel Roskin <proski@gnu.org>
36840
36841 * include/grub/i386/coreboot/machine.h: Rename
36842 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36843 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36844 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36845
36846 * kern/dl.c: Force native word size to suppress warnings when
36847 compiling grub-emu.
36848
36849 * kern/device.c (grub_device_iterate): Change struct part_ent to
36850 hold the name, not a pointer to it. Use one grub_malloc() per
36851 partition, not two. Free partition_name if grub_malloc() fails.
36852 Set ents to NULL only before grub_partition_iterate() is called.
36853
36854 2009-07-11 Bean <bean123ch@gmail.com>
36855
36856 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36857 childname.
36858
36859 2009-07-10 Bean <bean123ch@gmail.com>
36860 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36861
36862 * kern/ieee1275/openfw.c (grub_children_iterate)
36863 (grub_devalias_iterate): Fix size evaluation for property or path
36864 strings, which was broken since r2132.
36865
36866 2009-07-07 Pavel Roskin <proski@gnu.org>
36867
36868 * commands/search.c (search_file): Merge into ...
36869 (search_fs): ... this. Accept search type as argument.
36870 (grub_cmd_search): Pass search type to search_fs().
36871
36872 * include/grub/util/console.h: New file.
36873 * util/console.c: Use it instead of grub/machine/console.h.
36874 * util/grub-emu.c: Likewise.
36875
36876 * lib/arg.c (find_long_option): Remove.
36877 (find_long): Add `len' argument, make `s' const char *.
36878 (grub_arg_parse): Parse long options in place, not in a
36879 temporary buffer.
36880
36881 2009-07-06 Pavel Roskin <proski@gnu.org>
36882
36883 * commands/search.c (search_fs): Fix potential NULL pointer
36884 dereference.
36885
36886 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36887 function pointer.
36888
36889 2009-07-06 Daniel Mierswa <impulze@impulze.org>
36890
36891 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36892 comparison.
36893
36894 2009-07-05 Pavel Roskin <proski@gnu.org>
36895
36896 * include/grub/i386/linux.h (struct linux_kernel_params):
36897 Restore padding3, it's still needed.
36898
36899 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36900 FreeBSD.
36901 * util/osdetect.lua: Likewise.
36902
36903 2009-07-05 Bean <bean123ch@gmail.com>
36904
36905 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36906
36907 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36908 (grub_lua_getenv): Likewise.
36909 (grub_lua_setenv): Likewise.
36910 (save_errno): New function.
36911 (push_result): Likewise.
36912 (grub_lua_enum_device): Likewise.
36913 (grub_lua_enum_file): Likewise.
36914 (grub_lua_file_open): Likewise.
36915 (grub_lua_file_close): Likewise.
36916 (grub_lua_file_seek): Likewise.
36917 (grub_lua_file_read): Likewise.
36918 (grub_lua_file_getline): Likewise.
36919 (grub_lua_file_getsize): Likewise.
36920 (grub_lua_file_getpos): Likewise.
36921 (grub_lua_file_eof): Likewise.
36922 (grub_lua_file_exist): Likewise.
36923 (grub_lua_add_menu): Likewise.
36924
36925 * script/lua/grub_lua.h (isupper): New inline function.
36926 (islower): Likewise.
36927 (ispunct): Likewise.
36928 (isxdigit): Likewise.
36929 (strcspn): Change to normal function.
36930 (strpbkr): New function declaration.
36931 (memchr): Likewise.
36932
36933 * script/lua/grub_main.c (scan_str): New function.
36934 (strcspn): Likewise.
36935 (strpbrk): Likewise.
36936 (memchr): Likewise.
36937
36938 * script/lua/linit.c (lualibs): Enable the string library.
36939
36940 * util/osdetect.lua: New file.
36941
36942 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36943
36944 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36945 `capabilities' member.
36946
36947 2009-07-02 Pavel Roskin <proski@gnu.org>
36948
36949 * genparttoollist.sh: Add missing newline at the end.
36950
36951 2009-07-01 Pavel Roskin <proski@gnu.org>
36952
36953 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36954
36955 * util/hostdisk.c (open_device): Remove `const' from
36956 `sysctl_size', as sysctlbyname() can change it (in this case it
36957 doesn't actually happen).
36958
36959 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36960 using signed long int constants.
36961
36962 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36963 constant to avoid a warning on FreeBSD.
36964
36965 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36966 where it's needed.
36967
36968 * Makefile.in: Install include/grub/machine symlink.
36969
36970 * Makefile.in: When installing symlinks, use "cp -fR", which
36971 works on FreeBSD and MacOSX.
36972 From Yves Blusseau <cl7m42e02@sneakemail.com>
36973
36974 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36975 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36976
36977 * util/misc.c: Move grub_reboot() and grub_halt() ...
36978 * util/grub-emu.c: ... here. Make main_env static.
36979 * include/grub/util/misc.h: Remove main_env.
36980
36981 * kern/mm.c: Use correct format to print size_t.
36982
36983 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36984 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36985 * kern/powerpc/dl.c: Likewise.
36986 * kern/sparc64/dl.c: Likewise.
36987 * kern/x86_64/dl.c: Likewise.
36988
36989 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36990
36991 Fix grub-emu build on sparc64-ieee1275.
36992
36993 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
36994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36995
36996 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36997
36998 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36999 (grub_reboot, grub_halt): New functions.
37000
37001 * util/i386/pc/misc.c: Delete. Update all users.
37002 * util/sparc64/ieee1275/misc.c: Likewise.
37003 * util/powerpc/ieee1275/misc.c: Likewise.
37004
37005 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37006
37007 * conf/i386.rmk (setjmp_mod_SOURCES)
37008 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
37009 * conf/common.rmk (setjmp_mod_SOURCES)
37010 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
37011 to use $(target_cpu).
37012 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
37013 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
37014 * conf/powerpc-ieee1275.rmk: Likewise.
37015 * conf/sparc64-ieee1275.rmk: Likewise.
37016
37017 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
37018 $(target_cpu) for kern/$(target_cpu)/dl.c.
37019 * conf/i386-efi.rmk: Likewise.
37020 * conf/i386-ieee1275.rmk: Likewise.
37021 * conf/x86_64-efi.rmk: Likewise.
37022 * conf/i386-coreboot.rmk: Likewise.
37023 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
37024 $(target_cpu) for kern/$(target_cpu)/dl.c and for
37025 kern/$(target_cpu)/cache.S.
37026 * conf/sparc64-ieee1275.rmk: Likewise.
37027
37028 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37029
37030 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
37031 type to `grub_uint8_t', and adjust `padding9' accordingly.
37032
37033 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37034
37035 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
37036
37037 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
37038 assembly in final jump, using register constraints.
37039
37040 (grub_linux_boot): For text mode, initialize `have_vga' using
37041 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
37042
37043 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
37044 right before the final jump.
37045
37046 Set `video_mode' to 0x3.
37047
37048 Document initialization of `video_page', `video_mode' and
37049 `video_ega_bx'.
37050
37051 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37052
37053 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
37054 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
37055 and set GRUB_LINUX_FLAG_QUIET appropriately.
37056
37057 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37058
37059 Fix build on Debian / sparc.
37060
37061 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
37062
37063 2009-06-28 Pavel Roskin <proski@gnu.org>
37064
37065 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
37066 fix a warning.
37067
37068 * util/grub.d/10_linux.in: Match SUSE style initrd names.
37069
37070 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37071
37072 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
37073 `err'.
37074
37075 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37076
37077 Revert r2338.
37078
37079 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
37080 file can't be opened. grub_file_open() is already supposed to set
37081 grub_errno / grub_errmsg appropriately.
37082 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37083
37084 2009-06-27 Pavel Roskin <proski@gnu.org>
37085 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37086
37087 * include/grub/dl.h: Include grub/elf.h.
37088 (struct grub_dl): Add symtab field.
37089 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
37090 GRUB_MODULES_MACHINE_READONLY.
37091 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
37092 of the header for read-only modules.
37093 (grub_dl_unload): Free mod->symtab for read-only modules.
37094 * kern/i386/dl.c: Use mod->symtab.
37095 * kern/powerpc/dl.c: Likewise.
37096 * kern/sparc64/dl.c: Likewise.
37097 * kern/x86_64/dl.c: Likewise.
37098
37099 * conf/i386-qemu.rmk: New file.
37100 * kern/i386/qemu/startup.S: Likewise.
37101 * kern/i386/qemu/mmap.c: Likewise.
37102 * boot/i386/qemu/boot.S: Likewise.
37103 * include/grub/i386/qemu/time.h: Likewise.
37104 * include/grub/i386/qemu/serial.h: Likewise.
37105 * include/grub/i386/qemu/kernel.h: Likewise.
37106 * include/grub/i386/qemu/console.h: Likewise.
37107 * include/grub/i386/qemu/boot.h: Likewise.
37108 * include/grub/i386/qemu/init.h: Likewise.
37109 * include/grub/i386/qemu/machine.h: Likewise.
37110 * include/grub/i386/qemu/loader.h: Likewise.
37111 * include/grub/i386/qemu/memory.h: Likewise.
37112
37113 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
37114 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
37115 [qemu] (pkglib_IMAGES): Add `boot.img'.
37116 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
37117 [qemu] (boot_img_FORMAT): New variables.
37118 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
37119 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
37120 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
37121 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
37122 [qemu] (kernel_img_FORMAT): New variables.
37123
37124 * configure.ac: Recognise `i386-qemu'.
37125
37126 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
37127 (for no compression).
37128 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
37129 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
37130 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
37131 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
37132 ifdefs).
37133
37134 2009-06-27 Pavel Roskin <proski@gnu.org>
37135
37136 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37137 read.
37138 * efiemu/prepare32.c: Likewise.
37139 * efiemu/prepare64.c: Likewise.
37140
37141 2009-06-26 Pavel Roskin <proski@gnu.org>
37142
37143 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37144 * include/grub/elf.h: Define symbols without "32" or "64" based
37145 on GRUB_TARGET_WORDSIZE.
37146 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37147 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37148 ELF definitions.
37149 * efiemu/loadcore64.c: Likewise.
37150 * loader/i386/bsd32.c: Likewise.
37151 * loader/i386/bsd64.c: Likewise.
37152 * kern/dl.c: Remove own ELF definitions.
37153 * util/i386/efi/grub-mkimage.c: Likewise.
37154
37155 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37156
37157 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37158 segment 0x0 unconditionally, because the reference generated by
37159 GAS is an absolute address.
37160
37161 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37162
37163 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37164 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37165
37166 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37167
37168 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37169 indexes. Check for -f explicitly.
37170 (search_file): Improve error message.
37171 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
37172
37173 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37174
37175 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37176 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37177
37178 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37179
37180 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37181 * conf/i386-ieee1275.rmk: Likewise.
37182 * conf/i386-coreboot.rmk: Likewise.
37183
37184 * kern/i386/pc/startup.S (grub_stop): Remove function.
37185 * kern/i386/ieee1275/startup.S: Likewise.
37186 * kern/i386/coreboot/startup.S: Likewise.
37187 * kern/i386/misc.S (grub_stop): New function.
37188
37189 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37190
37191 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37192 * kern/i386/realmode.S (real_to_prot): ... to here.
37193
37194 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37195
37196 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37197 with `kernel.img'.
37198 (kernel_elf_SOURCES): Rename to ...
37199 (kernel_img_SOURCES): ... this.
37200 (kernel_elf_HEADERS): Rename to ...
37201 (kernel_img_HEADERS): ... this. Update all users.
37202 (kernel_elf_ASFLAGS): Rename to ...
37203 (kernel_img_ASFLAGS): ... this.
37204 (kernel_elf_CFLAGS): Rename to ...
37205 (kernel_img_CFLAGS): ... this.
37206 (kernel_elf_LDFLAGS): Rename to ...
37207 (kernel_img_LDFLAGS): ... this.
37208 * conf/i386-coreboot.rmk: Likewise.
37209 * conf/powerpc-ieee1275.rmk: Likewise.
37210
37211 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37212 with "kernel.img".
37213
37214 2009-06-21 Pavel Roskin <proski@gnu.org>
37215
37216 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37217 to match nested functions.
37218 * loader/sparc64/ieee1275/linux.c: Likewise.
37219
37220 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37221
37222 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37223
37224 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37225 all i386 platforms.
37226
37227 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37228
37229 Fix asm file handling on ELF, and remove workarounds.
37230
37231 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
37232 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
37233 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37234 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37235
37236 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37237
37238 Load BSD ELF modules
37239
37240 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37241 and loader/i386/bsd64.c
37242 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37243 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37244 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37245 (grub_freebsd_load_elfmodule32): New declaration
37246 (grub_freebsd_load_elfmoduleobj64): Likewise
37247 (grub_freebsd_load_elf_meta32): Likewise
37248 (grub_freebsd_load_elf_meta64): Likewise
37249 (grub_freebsd_add_meta): Likewise
37250 (grub_freebsd_add_meta_module): Likewise
37251 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37252 (grub_freebsd_add_meta_module): Likewise and move module-specific
37253 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37254 (grub_cmd_freebsd): Add elf-kernel specific parts
37255 based on grub_freebsd_add_meta_module
37256 (grub_cmd_freebsd_module): Add type parsing moved from
37257 grub_freebsd_add_meta_module
37258 (grub_cmd_freebsd_module_elf): New function
37259 (cmd_freebsd_module_elf): New variable
37260 (GRUB_MOD_INIT): Register freebsd_module_elf
37261 * loader/i386/bsd32.c: New file
37262 * loader/i386/bsd64.c: Likewise
37263 * loader/i386/bsdXX.c: Likewise
37264 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37265 (grub_elf64_load): Likewise
37266 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37267 All users updated
37268 (grub_elf64_load_hook_t): Likewise
37269
37270 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
37271
37272 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37273 variable.
37274 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37275 don't write a menu entry for recovery mode.
37276
37277 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37278
37279 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37280 after it's no longer needed.
37281
37282 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37283
37284 * include/grub/i386/loader.h (grub_linux_prot_size)
37285 (grub_linux_tmp_addr, grub_linux_real_addr)
37286 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37287 GRUB_MACHINE_PCBIOS.
37288 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37289 common grub_util_info() call to ...
37290 (generate_image): ... here.
37291 Fix use of uninitialized memory, comparison of signed with
37292 unsigned integers and memory leak.
37293 Remove bogus module address message.
37294
37295 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37296
37297 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37298 grub_raid_register
37299 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37300
37301 2009-06-19 Pavel Roskin <proski@gnu.org>
37302
37303 * configure.ac: Remove stray AC_MSG_CHECKING.
37304
37305 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37306
37307 * disk/scsi.c (grub_scsi_open): use continue instead of big if
37308
37309 2009-06-18 Pavel Roskin <proski@gnu.org>
37310
37311 * conf/common.rmk: Add fs_file.mod.
37312 * disk/fs_file.c: New file.
37313 * include/grub/disk.h (enum grub_disk_dev_id): Add
37314 GRUB_DISK_DEVICE_FILE_ID.
37315
37316 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37317
37318 Fix build with Apple's toolchain. Part 2
37319
37320 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37321 a fake start
37322
37323 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37324
37325 Fix build with Apple's toolchain. Part 1
37326
37327 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37328 for long calls
37329 * configure.ac: remove a leftover AC_MSG_RESULT
37330 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
37331 Apple's toolchain
37332
37333 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37334
37335 Fix warnings
37336
37337 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37338 (decomp_block): initialize ch
37339 use grub_memcpy instead of memcpy
37340
37341 2009-06-17 Pavel Roskin <proski@gnu.org>
37342
37343 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37344 version, use declarations needed to use vga_text as the startup
37345 console.
37346
37347 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37348 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37349 the kernel.
37350 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37351 and grub_at_keyboard_fini(), it's done on module load and
37352 unload.
37353
37354 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
37355
37356 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37357 file can't be found.
37358 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37359
37360 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37361
37362 Fix newline handling
37363
37364 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
37365 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
37366 (grub_script_yylex): don't segfault on unterminated script
37367 newline terminates command and variable
37368
37369 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37370
37371 avoid double grub_adjust_range call. Bug reported by David Simner
37372
37373 * kern/disk.c (grub_disk_write): change to raw disk access before
37374 calling disk_read
37375
37376 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
37377
37378 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37379 spaces, for the benefit of help2man.
37380 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37381
37382 2009-06-16 Pavel Roskin <proski@gnu.org>
37383
37384 * kern/i386/halt.c: Include grub/machine/init.h.
37385 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37386
37387 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
37388
37389 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37390 drivemap menuentry.
37391
37392 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37393
37394 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37395 `echo' command.
37396
37397 2009-06-16 Pavel Roskin <proski@gnu.org>
37398
37399 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37400 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37401 save %dx, we only need %dl and we never change it.
37402 * boot/i386/pc/cdboot.S: Don't set the root drive.
37403 * boot/i386/pc/pxeboot.S: Likewise.
37404 * include/grub/i386/pc/boot.h: Remove
37405 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37406 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37407 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37408 * kern/i386/pc/init.c (make_install_device): Remove references
37409 to grub_root_drive.
37410 * kern/i386/pc/startup.S: Likewise.
37411 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37412
37413 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37414
37415 xnu_uuid command
37416
37417 * commands/xnu_uuid.c: new file
37418 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37419 (xnu_uuid_mod_SOURCES): new variable
37420 (xnu_uuid_mod_CFLAGS): likewise
37421 (xnu_uuid_mod_LDFLAGS): likewise
37422 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37423 * conf/i386-ieee1275.rmk: likewise
37424 * conf/i386-pc.rmk: likewise
37425 * conf/powerpc-ieee1275.rmk: likewise
37426 * conf/sparc64-ieee1275.rmk: likewise
37427 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37428
37429 2009-06-16 Pavel Roskin <proski@gnu.org>
37430
37431 * configure.ac: Avoid '==' in test command, it's not portable.
37432
37433 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37434
37435 Probe command
37436
37437 * commands/probe.c: new file
37438 * conf/common.rmk (pkglib_MODULES): add probe.mod
37439 (probe_mod_SOURCES): new variable
37440 (probe_mod_CFLAGS): likewise
37441 (probe_mod_LDFLAGS): likewise
37442 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37443 * conf/i386-ieee1275.rmk: likewise
37444 * conf/i386-pc.rmk: likewise
37445 * conf/powerpc-ieee1275.rmk: likewise
37446 * conf/sparc64-ieee1275.rmk: likewise
37447
37448 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37449
37450 Fix handling of string like \"hello\" and "a
37451 b"
37452
37453 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37454 (grub_script_yylex): fix parsing of quoting, escaping and newline
37455
37456 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37457
37458 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
37459 handling
37460
37461 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
37462
37463 * util/grub-mkconfig.in: Fix parsing of --output option.
37464
37465 2009-06-12 Pavel Roskin <proski@gnu.org>
37466
37467 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37468 genmk.rb don't need to be generated or installed.
37469
37470 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37471
37472 * commands/i386/pc/drivemap_int13h.S: add more comments
37473
37474 2009-06-11 Pavel Roskin <proski@gnu.org>
37475
37476 * Makefile.in (uninstall): Uninstall manuals.
37477
37478 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37479 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37480 and update-grub_lib in two places.
37481 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37482
37483 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37484 a compiler warning.
37485
37486 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37487 `entry_lo' to fix variable shadowing.
37488
37489 2009-06-11 Christian Franke <franke@computer.org>
37490
37491 * kern/misc.c (__enable_execute_stack): Add missing return type
37492 to prevent gcc warning.
37493
37494 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37495
37496 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37497
37498 2009-06-11 Pavel Roskin <proski@gnu.org>
37499
37500 * Makefile.in: Don't rely on any scripts being executable.
37501 Always use $(SHELL) to run shell scripts.
37502
37503 * configure.ac: Always define ___main if using -nostdlib. This
37504 fixes tests on Cygwin.
37505
37506 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37507
37508 UDF fix
37509
37510 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
37511 is in bytes and not in blocks
37512
37513 2009-06-11 Pavel Roskin <proski@gnu.org>
37514
37515 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37516 warning.
37517
37518 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37519
37520 * util/grub.d/30_os-prober.in: Fix a comment. Source
37521 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37522 to set the root device. Place drivemap command in the generated
37523 chain entry.
37524
37525 2009-06-11 Pavel Roskin <proski@gnu.org>
37526
37527 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37528 have long been resolved.
37529
37530 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
37531
37532 * util/grub.d/10_linux.in: Capitalise "Linux".
37533
37534 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37535
37536 2009-06-11 Pavel Roskin <proski@gnu.org>
37537
37538 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37539 fix a gcc warning and ensure that the function won't ever exit.
37540
37541 * kern/i386/ieee1275/init.c: Add missing prototype for
37542 grub_stop_floppy().
37543
37544 * loader/ieee1275/multiboot2.c [__i386__]: Include
37545 grub/cpu/multiboot.h.
37546
37547 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37548 casts to short - they are not portable and cause warnings. Fix
37549 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37550
37551 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37552
37553 Drivemap fixes
37554
37555 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37556 new function
37557 (grub_get_root_biosnumber_saved): new variable
37558 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37559 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
37560 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
37561 %dx after the call if necessary
37562 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37563 (boot_mod_SOURCES): remove
37564 (boot_mod_CFLAGS): remove
37565 (boot_mod_LDFLAGS): remove
37566 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37567 (boot_mod_SOURCES): new variable
37568 (boot_mod_CFLAGS): likewise
37569 (boot_mod_LDFLAGS): likewise
37570 * conf/i386-efi.rmk: likewise
37571 * conf/i386-ieee1275.rmk: likewise
37572 * conf/i386-pc.rmk: likewise
37573 * conf/powerpc-ieee1275.rmk: likewise
37574 * conf/sparc64-ieee1275.rmk: likewise
37575 * conf/x86_64-efi.rmk: likewise
37576 * include/grub/i386/pc/biosnum.h: new file
37577 * lib/i386/pc/biosnum.c: likewise
37578 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37579 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37580 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
37581
37582 2009-06-10 Pavel Roskin <proski@gnu.org>
37583
37584 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37585 Use separate variables. Read only the file size at the end, but
37586 not the checksum that we don't use.
37587
37588 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37589 Adjust all callers.
37590
37591 * kern/ieee1275/openfw.c: Remove libc includes.
37592 * kern/ieee1275/cmain.c: Likewise.
37593 * include/grub/ieee1275/ieee1275.h: Likewise.
37594
37595 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37596 compiler warnings.
37597
37598 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37599
37600 * Makefile.in: Remove all trailing whitespace.
37601 * conf/i386-pc.rmk: Likewise.
37602 * conf/powerpc-ieee1275.rmk: Likewise.
37603 * conf/sparc64-ieee1275.rmk: Likewise.
37604 * docs/grub.texi: Likewise.
37605 * docs/texinfo.tex: Likewise.
37606 * disk/fs_uuid.c: Likewise.
37607 * disk/lvm.c: Likewise.
37608 * disk/scsi.c: Likewise.
37609 * disk/ata.c: Likewise.
37610 * disk/ieee1275/ofdisk.c: Likewise.
37611 * disk/i386/pc/biosdisk.c: Likewise.
37612 * disk/host.c: Likewise.
37613 * disk/raid.c: Likewise.
37614 * disk/efi/efidisk.c: Likewise.
37615 * disk/usbms.c: Likewise.
37616 * disk/memdisk.c: Likewise.
37617 * disk/loopback.c: Likewise.
37618 * kern/powerpc/dl.c: Likewise.
37619 * kern/device.c: Likewise.
37620 * kern/dl.c: Likewise.
37621 * kern/sparc64/dl.c: Likewise.
37622 * kern/ieee1275/ieee1275.c: Likewise.
37623 * kern/term.c: Likewise.
37624 * kern/fs.c: Likewise.
37625 * kern/i386/dl.c: Likewise.
37626 * kern/i386/pc/startup.S: Likewise.
37627 * kern/i386/pc/init.c: Likewise.
37628 * kern/i386/pc/mmap.c: Likewise.
37629 * kern/i386/pc/lzo1x.S: Likewise.
37630 * kern/i386/ieee1275/init.c: Likewise.
37631 * kern/i386/realmode.S: Likewise.
37632 * kern/i386/tsc.c: Likewise.
37633 * kern/partition.c: Likewise.
37634 * kern/corecmd.c: Likewise.
37635 * kern/file.c: Likewise.
37636 * kern/efi/efi.c: Likewise.
37637 * kern/efi/init.c: Likewise.
37638 * kern/efi/mm.c: Likewise.
37639 * kern/main.c: Likewise.
37640 * kern/err.c: Likewise.
37641 * kern/env.c: Likewise.
37642 * kern/disk.c: Likewise.
37643 * kern/generic/millisleep.c: Likewise.
37644 * kern/generic/rtc_get_time_ms.c: Likewise.
37645 * kern/misc.c: Likewise.
37646 * kern/parser.c: Likewise.
37647 * genmk.rb: Likewise.
37648 * configure.ac: Likewise.
37649 * boot/i386/pc/diskboot.S: Likewise.
37650 * boot/i386/pc/pxeboot.S: Likewise.
37651 * boot/i386/pc/boot.S: Likewise.
37652 * boot/i386/pc/lnxboot.S: Likewise.
37653 * boot/i386/pc/cdboot.S: Likewise.
37654 * parttool/pcpart.c: Likewise.
37655 * video/readers/tga.c: Likewise.
37656 * video/video.c: Likewise.
37657 * video/bitmap.c: Likewise.
37658 * lib/envblk.c: Likewise.
37659 * lib/i386/setjmp.S: Likewise.
37660 * fs/xfs.c: Likewise.
37661 * fs/afs.c: Likewise.
37662 * fs/fat.c: Likewise.
37663 * fs/ntfs.c: Likewise.
37664 * fs/udf.c: Likewise.
37665 * fs/affs.c: Likewise.
37666 * fs/iso9660.c: Likewise.
37667 * fs/hfs.c: Likewise.
37668 * fs/fshelp.c: Likewise.
37669 * fs/ext2.c: Likewise.
37670 * fs/jfs.c: Likewise.
37671 * fs/reiserfs.c: Likewise.
37672 * fs/hfsplus.c: Likewise.
37673 * fs/minix.c: Likewise.
37674 * fs/cpio.c: Likewise.
37675 * fs/sfs.c: Likewise.
37676 * fs/ufs.c: Likewise.
37677 * efiemu/prepare.c: Likewise.
37678 * efiemu/loadcore_common.c: Likewise.
37679 * efiemu/runtime/efiemu.sh: Likewise.
37680 * efiemu/runtime/efiemu.S: Likewise.
37681 * efiemu/runtime/efiemu.c: Likewise.
37682 * efiemu/pnvram.c: Likewise.
37683 * efiemu/main.c: Likewise.
37684 * efiemu/i386/pc/cfgtables.c: Likewise.
37685 * efiemu/i386/loadcore64.c: Likewise.
37686 * efiemu/i386/loadcore32.c: Likewise.
37687 * efiemu/loadcore.c: Likewise.
37688 * efiemu/symbols.c: Likewise.
37689 * efiemu/mm.c: Likewise.
37690 * include/grub/autoefi.h: Likewise.
37691 * include/grub/datetime.h: Likewise.
37692 * include/grub/term.h: Likewise.
37693 * include/grub/hfs.h: Likewise.
37694 * include/grub/lvm.h: Likewise.
37695 * include/grub/i386/tsc.h: Likewise.
37696 * include/grub/i386/linux.h: Likewise.
37697 * include/grub/i386/xnu.h: Likewise.
37698 * include/grub/i386/efiemu.h: Likewise.
37699 * include/grub/i386/pc/biosdisk.h: Likewise.
37700 * include/grub/i386/pc/memory.h: Likewise.
37701 * include/grub/i386/pc/vbe.h: Likewise.
37702 * include/grub/parttool.h: Likewise.
37703 * include/grub/video.h: Likewise.
37704 * include/grub/memory.h: Likewise.
37705 * include/grub/fs.h: Likewise.
37706 * include/grub/partition.h: Likewise.
37707 * include/grub/xnu.h: Likewise.
37708 * include/grub/efi/api.h: Likewise.
37709 * include/grub/efi/pe32.h: Likewise.
37710 * include/grub/efi/memory.h: Likewise.
37711 * include/grub/multiboot.h: Likewise.
37712 * include/grub/usbdesc.h: Likewise.
37713 * include/grub/multiboot2.h: Likewise.
37714 * include/grub/acpi.h: Likewise.
37715 * include/grub/efiemu/efiemu.h: Likewise.
37716 * include/grub/disk.h: Likewise.
37717 * include/grub/ieee1275/ieee1275.h: Likewise.
37718 * include/grub/net.h: Likewise.
37719 * include/grub/machoload.h: Likewise.
37720 * include/grub/macho.h: Likewise.
37721 * include/multiboot.h: Likewise.
37722 * genmoddep.awk: Likewise.
37723 * normal/main.c: Likewise.
37724 * normal/menu_entry.c: Likewise.
37725 * normal/menu_viewer.c: Likewise.
37726 * normal/completion.c: Likewise.
37727 * normal/cmdline.c: Likewise.
37728 * normal/misc.c: Likewise.
37729 * normal/datetime.c: Likewise.
37730 * bus/usb/usbtrans.c: Likewise.
37731 * bus/usb/ohci.c: Likewise.
37732 * bus/usb/uhci.c: Likewise.
37733 * bus/usb/usb.c: Likewise.
37734 * mmap/efi/mmap.c: Likewise.
37735 * mmap/i386/pc/mmap_helper.S: Likewise.
37736 * mmap/i386/pc/mmap.c: Likewise.
37737 * mmap/i386/mmap.c: Likewise.
37738 * mmap/i386/uppermem.c: Likewise.
37739 * mmap/mmap.c: Likewise.
37740 * commands/acpi.c: Likewise.
37741 * commands/echo.c: Likewise.
37742 * commands/blocklist.c: Likewise.
37743 * commands/loadenv.c: Likewise.
37744 * commands/usbtest.c: Likewise.
37745 * commands/boot.c: Likewise.
37746 * commands/parttool.c: Likewise.
37747 * commands/search.c: Likewise.
37748 * commands/cat.c: Likewise.
37749 * commands/i386/pc/play.c: Likewise.
37750 * commands/i386/pc/drivemap.c: Likewise.
37751 * commands/i386/pc/vbeinfo.c: Likewise.
37752 * commands/i386/pc/acpi.c: Likewise.
37753 * commands/i386/pc/vbetest.c: Likewise.
37754 * commands/ls.c: Likewise.
37755 * commands/cmp.c: Likewise.
37756 * commands/test.c: Likewise.
37757 * commands/efi/acpi.c: Likewise.
37758 * commands/gptsync.c: Likewise.
37759 * commands/help.c: Likewise.
37760 * partmap/amiga.c: Likewise.
37761 * partmap/apple.c: Likewise.
37762 * partmap/acorn.c: Likewise.
37763 * partmap/pc.c: Likewise.
37764 * partmap/sun.c: Likewise.
37765 * partmap/gpt.c: Likewise.
37766 * script/sh/lexer.c: Likewise.
37767 * script/sh/function.c: Likewise.
37768 * font/font.c: Likewise.
37769 * font/font_cmd.c: Likewise.
37770 * loader/powerpc/ieee1275/linux.c: Likewise.
37771 * loader/efi/chainloader.c: Likewise.
37772 * loader/multiboot_loader.c: Likewise.
37773 * loader/macho.c: Likewise.
37774 * loader/i386/multiboot.c: Likewise.
37775 * loader/i386/linux.c: Likewise.
37776 * loader/i386/pc/linux.c: Likewise.
37777 * loader/i386/pc/multiboot2.c: Likewise.
37778 * loader/i386/pc/chainloader.c: Likewise.
37779 * loader/i386/pc/xnu.c: Likewise.
37780 * loader/i386/bsd_trampoline.S: Likewise.
37781 * loader/i386/efi/linux.c: Likewise.
37782 * loader/i386/multiboot_elfxx.c: Likewise.
37783 * loader/i386/bsd_helper.S: Likewise.
37784 * loader/i386/bsd.c: Likewise.
37785 * loader/i386/linux_trampoline.S: Likewise.
37786 * loader/i386/xnu_helper.S: Likewise.
37787 * loader/i386/xnu.c: Likewise.
37788 * loader/i386/bsd_pagetable.c: Likewise.
37789 * loader/i386/multiboot_helper.S: Likewise.
37790 * loader/xnu.c: Likewise.
37791 * loader/xnu_resume.c: Likewise.
37792 * io/gzio.c: Likewise.
37793 * term/efi/console.c: Likewise.
37794 * term/terminfo.c: Likewise.
37795 * term/ieee1275/ofconsole.c: Likewise.
37796 * term/i386/pc/serial.c: Likewise.
37797 * term/i386/pc/vesafb.c: Likewise.
37798 * term/i386/pc/vga.c: Likewise.
37799 * term/usb_keyboard.c: Likewise.
37800 * term/gfxterm.c: Likewise.
37801 * aclocal.m4: Likewise.
37802 * util/lvm.c: Likewise.
37803 * util/grub.d/30_os-prober.in: Likewise.
37804 * util/grub.d/10_hurd.in: Likewise.
37805 * util/console.c: Likewise.
37806 * util/grub-macho2img.c: Likewise.
37807 * util/grub-probe.c: Likewise.
37808 * util/hostfs.c: Likewise.
37809 * util/i386/pc/grub-mkimage.c: Likewise.
37810 * util/i386/pc/grub-setup.c: Likewise.
37811 * util/i386/efi/grub-mkimage.c: Likewise.
37812 * util/grub-mkconfig.in: Likewise.
37813 * util/raid.c: Likewise.
37814 * util/resolve.c: Likewise.
37815 * util/grub-mkdevicemap.c: Likewise.
37816 * util/grub-emu.c: Likewise.
37817 * util/getroot.c: Likewise.
37818 * util/hostdisk.c: Likewise.
37819 * util/usb.c: Likewise.
37820 * util/grub-editenv.c: Likewise.
37821 * util/misc.c: Likewise.
37822
37823 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37824
37825 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37826 `genparttoollist.sh'.
37827 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37828 Add `*.sh' to the list find searches for and change `mdate.sh'
37829 to `mdate-sh'.
37830
37831 2009-06-10 Pavel Roskin <proski@gnu.org>
37832
37833 * include/grub/multiboot2.h: Provide compatibility defines for
37834 multiboot2.h.
37835 * include/multiboot2.h: Include stdint.h only if needed, using
37836 angle brackets.
37837 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37838 grub/multiboot2.h.
37839 * loader/ieee1275/multiboot2.c: Likewise.
37840 * loader/multiboot2.c: Likewise.
37841 * loader/multiboot_loader.c: Likewise.
37842
37843 * configure.ac: Use -nostdlib when probing for the target. It
37844 should not be required to have libc for the target.
37845
37846 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37847 they fail without libc headers for the target.
37848 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37849 exports.
37850 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37851 preprocessor conditionals.
37852
37853 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37854 build system doesn't need to be aware of the tar.c internals.
37855
37856 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
37857
37858 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
37859
37860 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37861
37862 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37863 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37864
37865 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
37866
37867 * util/i386/pc/grub-install.in: Change the error message if UUIDs
37868 aren't available if ata.mod gets used.
37869
37870 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
37871
37872 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
37873 initialising controller.
37874 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37875
37876 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37877
37878 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37879 to choose between ata and biosdisk module on i386-pc.
37880
37881 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
37882
37883 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37884 Subclass and Programming Interface fields in terms of the 3 byte
37885 Class Code register.
37886 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37887
37888 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37889 interface is OHCI. Add grub_dprintf for symmetry with
37890 bus/usb/uhci.c.
37891 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37892 interface is UHCI. Add interf variable for programming
37893 interface. Print interface with class/subclass.
37894
37895 * bus/usb/ohci.c: Set interf with correct field.
37896
37897 * bus/usb/uhci.c: Remove unneeded doubled lines.
37898 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37899 Remove whitespace inside comment.
37900
37901 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37902
37903 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37904 as fallback an equivalent option without depth.
37905
37906 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37907
37908 Not fail if unable to retrieve C/H/S on LBA disks
37909
37910 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
37911 if unable to retrieve C/H/S on LBA disks
37912
37913 2009-06-08 Pavel Roskin <proski@gnu.org>
37914
37915 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37916 about aliasing.
37917
37918 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37919
37920 * Makefile.in (uninstall): Remove all $lib_DATA files.
37921
37922 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37923
37924 Bugfix: install on partitionless device
37925
37926 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37927 is a whole disk
37928
37929 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37930
37931 * Makefile.in (uninstall): Remove all $include_DATA files.
37932
37933 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37934
37935 * commands/true.c: New file. Implement the true and false commands.
37936 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37937 (true_mod_SOURCES): New variable.
37938 (true_mod_CFLAGS): Likewise.
37939 (true_mod_LDFLAGS): Likewise.
37940
37941 2009-06-05 Colin D Bennett <colin@gibibit.com>
37942
37943 Optimized font character lookup using binary search instead of linear
37944 search. Fonts now are required to have the character index ordered by
37945 code point.
37946
37947 * font/font.c (load_font_index): Verify that fonts have ordered
37948 character indices.
37949 (find_glyph): Use binary search instead of linear search to find a
37950 character in a font.
37951
37952 2009-06-05 Michael Scherer <misc@mandriva.org>
37953
37954 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37955 uses case sensitive btree.
37956 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37957 only for case insensitive filesystems.
37958
37959 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37960
37961 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37962 * conf/common.rmk (search_mod_CFLAGS): likewise
37963
37964 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37965
37966 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
37967 compensate a compiler bug
37968
37969 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37970
37971 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
37972 instead of '\b'
37973
37974 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37975
37976 Definitions for creating asm symbols with Apple's CC
37977
37978 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37979 [APPLE_CC] (VARIABLE): likewise
37980
37981 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37982
37983 Disable lnxboot.img when compiled
37984 with Apple's CC
37985
37986 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37987 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37988 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37989 [! APPLE_CC] (CODE_LENG): skip
37990 [! APPLE_CC] (setup_sects): likewise
37991 [! APPLE_CC]: skip filling
37992
37993 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37994
37995 Address in trampolines based on 32-bit registers when compiled
37996 with Apple's CC
37997
37998 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
37999 for addresses
38000 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
38001
38002 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38003
38004 Avoid aliases when compiling with Apple's CC for PCBIOS machine
38005
38006 * kern/misc.c [APPLE_CC] (memcpy): new function
38007 [APPLE_CC] (memmove): likewise
38008 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
38009 (memcpy): define alias conditionally on !APPLE_CC
38010 (memset): likewise
38011 (abort): likewise
38012 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
38013 APPLE_CC are defined
38014 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
38015 (grub_assert_fail): make prototype conditional
38016
38017 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38018
38019 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
38020
38021 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
38022 grub-macho2img
38023 (CLEANFILES): add grub-macho2img
38024 (grub_macho2img_SOURCES): new variable
38025 * kern/i386/pc/startup.S (bss_start): new variable
38026 (bss_end): likewise
38027 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
38028 * util/grub-macho2img.c: new file
38029
38030 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38031
38032 Use objconv when compiling with Apple's CC
38033
38034 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
38035 (efiemu64.o): likewise
38036 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
38037 when compiling with Apple's CC
38038 (efiemu64_s.o): likewise
38039 * configure.ac: check for objconv when compiling with Apple's CC
38040 * genmk.rb: use objconv for modules when compiled with Apple's CC
38041
38042 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38043
38044 Define segment as well as section when compiling with
38045 Apple's CC
38046
38047 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
38048 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
38049 (efiemu_convert_pointer): likewise
38050 (efiemu_set_virtual_address_map): likewise
38051 (efiemu_convert_pointer): likewise
38052 (efiemu_getcrc32): likewise
38053 (init_crc32_table): likewise
38054 (reflect): likewise
38055 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
38056 (GRUB_MOD_DEP): likewise
38057
38058 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38059
38060 Allow a compilation without -mcmodel=large
38061
38062 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
38063 when compiled without -mcmodel=large
38064 (filter_memory_map): remove memory post 4 GiB when compiled
38065 without -mcmodel=large
38066 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
38067 TARGET_CFLAGS when -mcmodel=large isn't supported
38068
38069 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38070
38071 Remove nested functions in efiemu core
38072
38073 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
38074
38075 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38076
38077 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
38078
38079 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
38080 temporary storage
38081 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
38082 using Apple's CC
38083 (grub_cpu_is_tsc_supported): likewise
38084 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
38085
38086 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38087
38088 Absolute addressing through constant with Apple's cc
38089
38090 * kern/i386/pc/startup.S: Define necessary constants
38091 and address through it when using ABS with Apple's CC
38092 * boot/i386/pc/diskboot.S: likewise
38093 * boot/i386/pc/boot.S: likewise
38094 * boot/i386/pc/lnxboot.S: likewise
38095 * boot/i386/pc/cdboot.S: likewise
38096 * mmap/i386/pc/mmap_helper.S: likewise
38097 * commands/i386/pc/drivemap_int13h.S: likewise
38098
38099 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38100
38101 Check if compiler is apple cc
38102
38103 * Makefile.in (ASFLAGS): new variable
38104 (TARGET_ASFLAGS): likewise
38105 (TARGET_MODULE_FORMAT): likewise
38106 (TARGET_APPLE_CC): likewise
38107 (OBJCONV): likewise
38108 (TARGET_IMG_CFLAGS): likewise
38109 (TARGET_CPPFLAGS): add includedir
38110 * configure.ac: call grub_apple_cc and grub_apple_target_cc
38111 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
38112 Check for linker script only if compiler isn't Apple's CC
38113 (TARGET_MODULE_FORMAT): set
38114 (TARGET_APPLE_CC): likewise
38115 (TARGET_ASFLAGS): likewise
38116 (ASFLAGS): likewise
38117 Check for objcopy only if compiler isn't Apple's CC
38118 Check for BSS symbol only if compiler isn't Apple's CC
38119 * genmk.rb: adapt nm options if we use Apple's utils
38120 * aclocal.m4 (grub_apple_cc): new test
38121 (grub_apple_target_cc): likewise
38122
38123 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38124
38125 Simplify sed expressions and improve awk
38126
38127 * Makefile.in (install-local): simplify sed expression
38128 * gencmdlist.sh: likewise
38129 * genmoddep.awk: avoid adding module as a dependency of itself
38130
38131 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38132
38133 Add missing start symbols
38134
38135 * boot/i386/pc/boot.S: add start
38136 * boot/i386/pc/pxeboot.S: likewise
38137
38138 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38139
38140 Fix wrong assumptions with grub-mkimage on EFI
38141
38142 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
38143 (relocate_addresses): consider both r_addend and value at offset
38144 (make_mods_section): zerofill modinfo and header
38145 (convert_elf): write prefix here
38146
38147 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38148
38149 Use .asciz instead of .string
38150
38151 * i386/pc/diskboot.S: use .asciz instead of .string
38152 * i386/pc/boot.S: likewise
38153 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38154 (GRUB_MOD_NAME): likewise
38155
38156 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38157
38158 gfxpayload support
38159
38160 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38161 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38162 (grub_video_setup): remove
38163 (grub_video_set_mode): new prototype
38164 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38165 (vid_mode): remove
38166 (linux_vesafb_res): compile only on PCBIOS
38167 (grub_linux_boot): support gfxpayload
38168 * loader/i386/pc/xnu.c (video_hook): new function
38169 (grub_xnu_set_video): support gfxpayload
38170 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38171 (DEFAULT_VIDEO_HEIGHT): likewise
38172 (DEFAULT_VIDEO_FLAGS): likewise
38173 (DEFAULT_VIDEO_MODE): new definition
38174 (video_hook): new function
38175 (grub_gfxterm_init): use grub_video_set_mode
38176 * util/grub.d/30_os-prober.in: remove explicit modesetting before
38177 loading xnu
38178 * video/video.c (grub_video_setup): removed
38179 (grub_video_set_mode): new function based on grub_gfxterm_init and
38180 grub_video_setup
38181
38182 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38183
38184 Avoid calling biosdisk in drivemap
38185
38186 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38187 (revparse_biosdisk): likewise
38188 (list_mappings): derive name from id directly
38189 (grub_cmd_drivemap): use tryparse_diskstring
38190
38191 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38192
38193 Script fixes
38194
38195 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38196 (grub_lexer_param): add tokenonhold
38197 (grub_script_create_cmdline): remove cmdline. All callers updated
38198 (grub_script_function_create): make functionname
38199 grub_script_arg. All callers updated
38200 (grub_script_execute_argument_to_string): new prototype
38201 * kern/parser.c (state_transitions): reorder
38202 (grub_parser_cmdline_state): fix a bug and make more compact
38203 * script/sh/execute.c (grub_script_execute_argument_to_string):
38204 make global
38205 (grub_script_execute_cmdline): use new format
38206 * script/sh/function.c (grub_script_function_create): make functionname
38207 grub_script_arg. All callers updated
38208 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
38209 (grub_script_yylex): remove
38210 (grub_script_yylex2): renamed to ...
38211 (grub_script_yylex): ...renamed
38212 parse the expressions like a${b}c
38213 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38214 (GRUB_PARSER_TOKEN_VAR): remove
38215 (GRUB_PARSER_TOKEN_NAME): likewise
38216 ("if"): declare as typeless
38217 ("while"): likewise
38218 ("function"): likewise
38219 ("else"): likewise
38220 ("then"): likewise
38221 ("fi"): likewise
38222 (text): remove
38223 (argument): likewise
38224 (script): accept empty scripts and make exit on error
38225 (arguments): use GRUB_PARSER_TOKEN_ARG
38226 (function): likewise
38227 (command): move error handling to script
38228 (menuentry): move grub_script_lexer_ref before
38229 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
38230 argument. All callers updated
38231
38232 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38233
38234 Prevent GRUB from probing floppies during boot.
38235
38236 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38237 * commands/search.c (options): Add --no-floppy.
38238 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38239 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38240 --no-floppy when searching for UUIDs.
38241
38242 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38243
38244 Simplify the code duplication in commands/search.c.
38245
38246 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38247 (search_fs): ... this. Update all users.
38248
38249 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
38250
38251 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38252
38253 2009-05-28 Pavel Roskin <proski@gnu.org>
38254
38255 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38256 Remove the original symlink explicitly.
38257
38258 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38259 just one slash. That's how grub_fshelp_find_file() does it.
38260
38261 2009-05-26 Pavel Roskin <proski@gnu.org>
38262
38263 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38264 to `str'.
38265
38266 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38267 possibly unused.
38268
38269 2009-05-25 Christian Franke <franke@computer.org>
38270
38271 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38272 register.
38273 (grub_atapi_identify): Add wait after drive select.
38274 (grub_ata_identify): Do more strict status register check before
38275 calling grub_atapi_identify (). Suppress error message if status
38276 register is 0x00 after command failure. Add status register
38277 check after PIO read to avoid bogus identify due to stuck DRQ.
38278 Thanks to Pavel Roskin for testing.
38279 (grub_device_initialize): Remove unsafe status register check.
38280 Thanks to 'phcoder' for problem report and patch.
38281 Prevent sign extension in debug message.
38282
38283 2009-05-23 Colin D Bennett <colin@gibibit.com>
38284
38285 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38286 definition file, and functions defined in `normal/menu.c' have had
38287 their prototypes moved to `include/grub/menu.h' for consistency.
38288
38289 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38290 from normal.h.
38291 (grub_menu_get_entry): Likewise.
38292 (grub_menu_get_timeout): Likewise.
38293 (grub_menu_set_timeout): Likewise.
38294 (grub_menu_execute_entry): Likewise.
38295 (grub_menu_execute_with_fallback): Likewise.
38296 (grub_menu_entry_run): Likewise.
38297
38298 * include/grub/normal.h: Re-ordered and grouped function
38299 prototypes by file that the function is defined in.
38300 (grub_menu_execute_callback): Removed; moved to menu.h.
38301 (grub_menu_get_entry): Likewise.
38302 (grub_menu_get_timeout): Likewise.
38303 (grub_menu_set_timeout): Likewise.
38304 (grub_menu_execute_entry): Likewise.
38305 (grub_menu_execute_with_fallback): Likewise.
38306 (grub_menu_entry_run): Likewise.
38307 (grub_menu_addentry): Renamed from this ...
38308 (grub_normal_add_menu_entry): ... to this.
38309
38310 * normal/main.c (grub_menu_addentry): Renamed from this ...
38311 (grub_normal_add_menu_entry): ... to this.
38312
38313 * script/sh/execute.c (grub_script_execute_menuentry): Update
38314 reference to renamed grub_menu_addentry function.
38315
38316 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
38317
38318 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38319
38320 2009-05-22 Pavel Roskin <proski@gnu.org>
38321
38322 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38323 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38324 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38325 compiling for the i386 targets, but not for the utilities.
38326
38327 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38328 to grub_uint8_t.
38329 (grub_root_drive): Likewise.
38330 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38331 remove alignment.
38332 (grub_root_drive): Change size to byte.
38333 (grub_start_addr): Remove.
38334 (grub_end_addr): Likewise.
38335 (grub_apm_bios_info): Likewise.
38336
38337 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
38338
38339 * normal/i386: Remove.
38340 * normal/powerpc: Likewise.
38341 * normal/sparc64: Likewise.
38342 * normal/x86_64: Likewise.
38343
38344 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38345
38346 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
38347 * loader/i386/linux_trampoline.S: Fix indentation
38348 * loader/i386/xnu_helper.S: Likewise
38349
38350 2009-05-18 Colin D Bennett <colin@gibibit.com>
38351
38352 Display error messages when parsing a Lua statement fails.
38353 Previously, executing a syntactically invalid statement like
38354 ")foo" or "bar;" would silently fail.
38355
38356 * script/lua/grub_main.c (handle_lua_error): New function.
38357 (grub_lua_parse_line): Improved reporting of Lua parser and
38358 execution errors.
38359
38360 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38361
38362 Remove -Werror which causes build to fail on some systems
38363
38364 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38365 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38366 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
38367
38368 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38369
38370 trampoline for linux on 64-bit platform
38371
38372 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38373 loader/i386/efi/linux_trampoline.S
38374 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
38375 declaration
38376 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38377 here
38378 * loader/i386/linux_trampoline.S: moved here
38379 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38380 trampoline
38381 (jumpvector): removed
38382 (grub_linux_trampoline_start): new declaration
38383 (grub_linux_trampoline_end): likewise
38384 (grub_linux_boot): use trampoline when on 64-bit platform
38385 * loader/i386/linux.c: likewise
38386
38387 2009-05-16 Pavel Roskin <proski@gnu.org>
38388
38389 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38390 const to avoid a warning.
38391 (grub_lua_setenv): Likewise.
38392 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38393 lmsg to fix a warning.
38394
38395 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38396
38397 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
38398 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38399 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38400 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38401 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38402 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38403 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38404 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38405
38406 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38407
38408 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38409
38410 2009-05-16 Bean <bean123ch@gmail.com>
38411
38412 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38413 (lua_mod_SOURCES): New variable.
38414 (lua_mod_CFLAGS): Likewise.
38415 (lua_mod_LDFLAGS): Likewise.
38416
38417 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38418 (setjmp_mod_SOURCES): New variable.
38419 (setjmp_mod_CFLAGS): Likewise.
38420 (setjmp_LDFLAGS): Likewise.
38421
38422 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38423 (setjmp_mod_SOURCES): New variable.
38424 (setjmp_mod_CFLAGS): Likewise.
38425 (setjmp_LDFLAGS): Likewise.
38426
38427 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38428 (setjmp_mod_SOURCES): New variable.
38429 (setjmp_mod_CFLAGS): Likewise.
38430 (setjmp_LDFLAGS): Likewise.
38431
38432 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38433 (setjmp_mod_SOURCES): New variable.
38434 (setjmp_mod_CFLAGS): Likewise.
38435 (setjmp_LDFLAGS): Likewise.
38436
38437 * normal/i386/setjmp.S: Moved from here ...
38438 * lib/i386/setjmp.S: ... Moved here
38439 * normal/x86_64/setjmp.S: Moved from here ...
38440 * lib/x86_64/setjmp.S: ... Moved here
38441 * normal/powerpc/setjmp.S: Moved from here ...
38442 * lib/powerpc/setjmp.S: ... Moved here
38443 * normal/sparc64/setjmp.S: Moved from here ...
38444 * lib/sparc64/setjmp.S: ... Moved here
38445
38446 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38447 returns_twice in mingw.
38448
38449 * script/lua/grub_lib.c: New file.
38450 * script/lua/grub_lib.h: Likewise.
38451 * script/lua/grub_lua.h: Likewise.
38452 * script/lua/grub_main.c: Likewise.
38453 * script/lua/lapi.c: Likewise.
38454 * script/lua/lapi.h: Likewise.
38455 * script/lua/lauxlib.c: Likewise.
38456 * script/lua/lauxlib.h: Likewise.
38457 * script/lua/lbaselib.c: Likewise.
38458 * script/lua/lcode.c: Likewise.
38459 * script/lua/lcode.h: Likewise.
38460 * script/lua/ldblib.c: Likewise.
38461 * script/lua/ldebug.c: Likewise.
38462 * script/lua/ldebug.h: Likewise.
38463 * script/lua/ldo.c: Likewise.
38464 * script/lua/ldo.h: Likewise.
38465 * script/lua/ldump.c: Likewise.
38466 * script/lua/lfunc.c: Likewise.
38467 * script/lua/lfunc.h: Likewise.
38468 * script/lua/lgc.c: Likewise.
38469 * script/lua/lgc.h: Likewise.
38470 * script/lua/linit.c: Likewise.
38471 * script/lua/liolib.c: Likewise.
38472 * script/lua/llex.c: Likewise.
38473 * script/lua/llex.h: Likewise.
38474 * script/lua/llimits.h: Likewise.
38475 * script/lua/lmathlib.c: Likewise.
38476 * script/lua/lmem.c: Likewise.
38477 * script/lua/lmem.h: Likewise.
38478 * script/lua/loadlib.c: Likewise.
38479 * script/lua/lobject.c: Likewise.
38480 * script/lua/lobject.h: Likewise.
38481 * script/lua/lopcodes.c: Likewise.
38482 * script/lua/lopcodes.h: Likewise.
38483 * script/lua/loslib.c: Likewise.
38484 * script/lua/lparser.c: Likewise.
38485 * script/lua/lparser.h: Likewise.
38486 * script/lua/lstate.c: Likewise.
38487 * script/lua/lstate.h: Likewise.
38488 * script/lua/lstring.c: Likewise.
38489 * script/lua/lstring.h: Likewise.
38490 * script/lua/lstrlib.c: Likewise.
38491 * script/lua/ltable.c: Likewise.
38492 * script/lua/ltable.h: Likewise.
38493 * script/lua/ltablib.c: Likewise.
38494 * script/lua/ltm.c: Likewise.
38495 * script/lua/ltm.h: Likewise.
38496 * script/lua/lua.h: Likewise.
38497 * script/lua/luaconf.h: Likewise.
38498 * script/lua/lualib.h: Likewise.
38499 * script/lua/lundump.c: Likewise.
38500 * script/lua/lundump.h: Likewise.
38501 * script/lua/lvm.c: Likewise.
38502 * script/lua/lvm.h: Likewise.
38503 * script/lua/lzio.c: Likewise.
38504 * script/lua/lzio.h: Likewise.
38505
38506 2009-05-16 Bean <bean123ch@gmail.com>
38507
38508 * include/grub/kernel.h (grub_module_header_types): Add type
38509 OBJ_TYPE_CONFIG.
38510
38511 * kern/main.c (grub_load_config): New function.
38512 (grub_main): Call grub_load_config to read boot config.
38513
38514 * grub-mkimage (generate_image): New parameter config_path.
38515 (options): New option --config.
38516 (main): Parse --config option, and pass it to generate_image.
38517
38518 2009-05-14 Christian Franke <franke@computer.org>
38519
38520 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38521 This fixes build on Cygwin.
38522
38523 2009-05-14 Pavel Roskin <proski@gnu.org>
38524
38525 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38526 jump. This saves two bytes, so the typical case of 2 swapped
38527 drives would fit 32 bytes.
38528
38529 2009-05-13 Pavel Roskin <proski@gnu.org>
38530
38531 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38532 grub_uint32_t to avoid a warning.
38533
38534 * loader/i386/linux.c (allocate_pages): When assigning
38535 real_mode_mem, cast through grub_size_t to fix a warning. The
38536 code already makes sure that the value would fit a pointer.
38537 (grub_linux_setup_video): Cast render_target->data to
38538 grub_size_t to fix a warning.
38539
38540 2009-05-13 Javier Martín <lordhabbit@gmail.com>
38541
38542 * commands/i386/pc/drivemap.c: New file - implement drivemap
38543 command.
38544 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38545 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38546
38547 2009-05-13 Pavel Roskin <proski@gnu.org>
38548
38549 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38550 embedding_area_exists.
38551
38552 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38553
38554 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38555 it easier to understand / work with.
38556 Improve warning messages for cases where there's no embedding area,
38557 or when it is too small (or core.img too large).
38558
38559 2009-05-13 Pavel Roskin <proski@gnu.org>
38560
38561 * loader/i386/pc/multiboot2.c: Add necessary includes for
38562 grub_multiboot2_real_boot().
38563
38564 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38565 PX record is always little-endian. We only need the lower 2
38566 bytes of the mode.
38567
38568 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38569 facilitate code reuse.
38570 (grub_cpio_mount): Use "struct head", not a char buffer. This
38571 fixes a warning reported by gcc 4.4.
38572
38573 * kernel/disk.c (grub_disk_read): Use void pointer for the
38574 buffer.
38575 (grub_disk_write): Use const void pointer for the buffer.
38576 Adjust all callers. Remove unnecessary casts.
38577
38578 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38579
38580 * util/i386/pc/grub-install.in: Update copyright year.
38581
38582 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38583
38584 gptsync
38585
38586 * commands/gptsync.c: new file
38587 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38588 (gptsync_mod_SOURCES): new variable
38589 (gptsync_mod_CFLAGS): likewise
38590 (gptsync_mod_LDFLAGS): likewise
38591 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
38592 new definition
38593 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38594 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38595 * conf/i386-ieee1275.rmk: likewise
38596 * conf/i386-pc.rmk: likewise
38597 * conf/powerpc-ieee1275.rmk: likewise
38598
38599 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38600
38601 Fixed grub-emu
38602
38603 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38604 (grub_dl_ref): likewise
38605
38606 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38607
38608 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38609 split in two functions (one for msdos and one for gpt).
38610
38611 2009-05-08 Pavel Roskin <proski@gnu.org>
38612
38613 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38614 not modified.
38615
38616 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38617 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38618 Initialize them with -1. Add sanity check for bad1. Eliminate
38619 nerr variable.
38620
38621 2009-05-08 David S. Miller <davem@davemloft.net>
38622
38623 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38624
38625 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38626
38627 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
38628 existence.
38629
38630 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
38631
38632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38633 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
38634
38635 2009-05-05 David S. Miller <davem@davemloft.net>
38636
38637 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38638
38639 2009-05-05 Pavel Roskin <proski@gnu.org>
38640
38641 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38642 of grub_dl_ref() and grub_dl_unref().
38643 * commands/parttool.c: Remove preprocessor conditionals around
38644 grub_dl_ref() and grub_dl_unref().
38645 * fs/affs.c: Likewise.
38646 * fs/afs.c: Likewise.
38647 * fs/cpio.c: Likewise.
38648 * fs/ext2.c: Likewise.
38649 * fs/fat.c: Likewise.
38650 * fs/hfs.c: Likewise.
38651 * fs/hfsplus.c: Likewise.
38652 * fs/iso9660.c: Likewise.
38653 * fs/jfs.c: Likewise.
38654 * fs/minix.c: Likewise.
38655 * fs/ntfs.c: Likewise.
38656 * fs/reiserfs.c: Likewise.
38657 * fs/sfs.c: Likewise.
38658 * fs/udf.c: Likewise.
38659 * fs/ufs.c: Likewise.
38660 * fs/xfs.c: Likewise.
38661 * include/grub/dl.h: Likewise.
38662 * loader/xnu.c: Likewise.
38663
38664 2009-05-04 Pavel Roskin <proski@gnu.org>
38665
38666 * commands/acpi.c: Remove unused variable my_mod.
38667 * partmap/amiga.c: Likewise.
38668 * partmap/apple.c: Likewise.
38669 * partmap/gpt.c: Likewise.
38670 * partmap/pc.c: Likewise.
38671 * partmap/sun.c: Likewise.
38672 * term/gfxterm.c: Likewise.
38673 * term/i386/pc/vesafb.c: Likewise.
38674 * term/i386/pc/vga.c: Likewise.
38675
38676 2009-05-04 David S. Miller <davem@davemloft.net>
38677
38678 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38679 pointer args to grub_ieee1275_get_property().
38680
38681 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38682
38683 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38684 devices, and do not traverse down under controller nodes.
38685
38686 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38687 (grub_ofdisk_open): Use it to un-escape "," characters.
38688 * kern/disk.c (find_part_sep): New.
38689 (grub_disk_open): Use it to find the first non-escaped ','
38690 character in the disk name.
38691 * util/ieee1275/devicemap.c (escape_of_path): New.
38692 (grub_util_emit_devicemap_entry): Use it.
38693 * util/sparc64/ieee1275/grub-install.in: Update script to
38694 strip partition specifiers properly by not triggering on
38695 '\' escaped ',' characters.
38696
38697 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38698
38699 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38700 to 0x300.
38701 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38702 resolutions.
38703 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38704 on documentation from Wikipedia).
38705
38706 2009-05-04 Pavel Roskin <proski@gnu.org>
38707
38708 * disk/ata.c: Spelling fixes.
38709 * disk/raid.c: Likewise.
38710 * disk/usbms.c: Likewise.
38711 * disk/dmraid_nvidia.c: Likewise.
38712 * kern/ieee1275/openfw.c: Likewise.
38713 * kern/ieee1275/init.c: Likewise.
38714 * kern/ieee1275/cmain.c: Likewise.
38715 * boot/i386/pc/cdboot.S: Likewise.
38716 * video/readers/png.c: Likewise.
38717 * video/i386/pc/vbe.c: Likewise.
38718 * fs/udf.c: Likewise.
38719 * fs/hfs.c: Likewise.
38720 * fs/reiserfs.c: Likewise.
38721 * efiemu/runtime/efiemu.c: Likewise.
38722 * efiemu/main.c: Likewise.
38723 * efiemu/mm.c: Likewise.
38724 * include/grub/elf.h: Likewise.
38725 * include/grub/xnu.h: Likewise.
38726 * include/grub/usbdesc.h: Likewise.
38727 * include/grub/usb.h: Likewise.
38728 * include/grub/script_sh.h: Likewise.
38729 * include/grub/lib/LzmaEnc.h: Likewise.
38730 * include/grub/efiemu/efiemu.h: Likewise.
38731 * include/grub/command.h: Likewise.
38732 * normal/menu.c: Likewise.
38733 * normal/main.c: Likewise.
38734 * normal/datetime.c: Likewise.
38735 * bus/usb/uhci.c: Likewise.
38736 * mmap/i386/uppermem.c: Likewise.
38737 * mmap/mmap.c: Likewise.
38738 * commands/acpi.c: Likewise.
38739 * commands/test.c: Likewise.
38740 * partmap/apple.c: Likewise.
38741 * font/font.c: Likewise.
38742 * loader/sparc64/ieee1275/linux.c: Likewise.
38743 * loader/macho.c: Likewise.
38744 * loader/i386/bsd_trampoline.S: Likewise.
38745 * loader/i386/bsd.c: Likewise.
38746 * loader/xnu.c: Likewise.
38747 * term/i386/pc/vesafb.c: Likewise.
38748 * term/usb_keyboard.c: Likewise.
38749 * util/resolve.c: Likewise.
38750 * util/getroot.c: Likewise.
38751
38752 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38753
38754 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38755
38756 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38757
38758 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38759 build error.
38760
38761 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38762
38763 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38764 parameter only available on BIOS.
38765
38766 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38767
38768 Removed wrong semicolon in declaration
38769
38770 * grub/misc.h (grub_dprintf): remove semicolon
38771
38772 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38773
38774 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38775 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38776 is done by grub_cmd_linux() now).
38777 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38778 restore video to text mode.
38779 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38780 indicates lack of "vga=" parameter. "vga=0" is mapped to
38781 `GRUB_LINUX_VID_MODE_NORMAL'.
38782
38783 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38784
38785 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38786 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38787 and `normal/script.c'. Add `kern/rescue_reader.c',
38788 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
38789 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38790 `grub_script.tab.c'.
38791
38792 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38793 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38795 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38796 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38797
38798 * Makefile.in: Remove duplicated 2008 in Copyright line.
38799
38800 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38801
38802 * util/misc.c (grub_util_warn): New function. Emits a warning
38803 unconditionally.
38804 * include/grub/util/misc.h (grub_util_warn): New declaration.
38805
38806 * util/i386/pc/grub-install.in: Understand --force and pass it down
38807 to grub-setup.
38808
38809 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38810 down to setup().
38811 (setup): Improve error messages and add warnings when requested to
38812 install in odd layouts. Refuse to install using blocklists unless
38813 --force was set.
38814
38815 2009-05-04 martin f. krafft <madduck@madduck.net>
38816
38817 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38818
38819 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38820
38821 Updated copyright year
38822
38823 * fs/hfsplus.c: updated copyright year
38824
38825 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38826
38827 HFS+ UUID
38828
38829 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
38830 in the space previously used by unused3
38831 (grub_hfsplus_uuid): new function
38832 (grub_hfsplus_fs): added uuid field
38833
38834 2009-05-03 Pavel Roskin <proski@gnu.org>
38835
38836 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38837 suppress warnings. It's no longer needed.
38838 * disk/host.c: Likewise.
38839 * disk/ata_pthru.c: Likewise.
38840 * disk/loopback.c: Likewise.
38841 * hook/datehook.c: Likewise.
38842 * parttool/pcpart.c: Likewise.
38843 * fs/i386/pc/pxe.c: Likewise.
38844 * fs/ntfscomp.c: Likewise.
38845 * efiemu/main.c: Likewise.
38846 * mmap/mmap.c: Likewise.
38847 * commands/crc.c: Likewise.
38848 * commands/hexdump.c: Likewise.
38849 * commands/hdparm.c: Likewise.
38850 * commands/acpi.c: Likewise.
38851 * commands/echo.c: Likewise.
38852 * commands/minicmd.c: Likewise.
38853 * commands/blocklist.c: Likewise.
38854 * commands/memrw.c: Likewise.
38855 * commands/loadenv.c: Likewise.
38856 * commands/usbtest.c: Likewise.
38857 * commands/lsmmap.c: Likewise.
38858 * commands/boot.c: Likewise.
38859 * commands/parttool.c: Likewise.
38860 * commands/configfile.c: Likewise.
38861 * commands/search.c: Likewise.
38862 * commands/ieee1275/suspend.c: Likewise.
38863 * commands/cat.c: Likewise.
38864 * commands/i386/pc/pxecmd.c: Likewise.
38865 * commands/i386/pc/play.c: Likewise.
38866 * commands/i386/pc/halt.c: Likewise.
38867 * commands/i386/pc/vbeinfo.c: Likewise.
38868 * commands/i386/pc/vbetest.c: Likewise.
38869 * commands/lspci.c: Likewise.
38870 * commands/date.c: Likewise.
38871 * commands/handler.c: Likewise.
38872 * commands/ls.c: Likewise.
38873 * commands/test.c: Likewise.
38874 * commands/cmp.c: Likewise.
38875 * commands/efi/loadbios.c: Likewise.
38876 * commands/efi/fixvideo.c: Likewise.
38877 * commands/halt.c: Likewise.
38878 * commands/help.c: Likewise.
38879 * commands/reboot.c: Likewise.
38880 * hello/hello.c: Likewise.
38881 * script/sh/main.c: Likewise.
38882 * loader/xnu.c: Likewise.
38883 * term/terminfo.c: Likewise.
38884 * term/i386/pc/serial.c: Likewise.
38885 * term/usb_keyboard.c: Likewise.
38886
38887 2009-05-03 David S. Miller <davem@davemloft.net>
38888
38889 * normal/menu.c: Include grub/parser.h
38890
38891 2009-05-03 Pavel Roskin <proski@gnu.org>
38892
38893 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38894 not char*.
38895 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38896 Suggested by Javier Martín <lordhabbit@gmail.com>
38897
38898 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38899 efiemu??.o doesn't exist.
38900 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38901 copying.
38902
38903 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
38904
38905 FreeBSD 64-bit support
38906
38907 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
38908 and loader/i386/bsd_trampoline.S
38909 (bsd_mod_ASFLAGS): new variable
38910 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38911 (FREEBSD_MODTYPE_KERNEL64): likewise
38912 (grub_bsd64_trampoline_start): likewise
38913 (grub_bsd64_trampoline_end): likewise
38914 (grub_bsd64_trampoline_selfjump): likewise
38915 (grub_bsd64_trampoline_gdt): likewise
38916 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38917 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38918 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38919 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
38920 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
38921 of "attrib" member
38922 * loader/i386/bsd_pagetable.c: new file
38923 * loader/i386/bsd_trampoline.S: likewise
38924 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38925 (ALIGN_VAR): likewise
38926 (entry_hi): new variable
38927 (kern_end_mdofs): likewise
38928 (is_64bit): likewise
38929 (grub_freebsd_add_meta): use ALIGN_VAR
38930 (grub_e820_mmap): new declaration
38931 (grub_freebsd_add_mmap): new function
38932 (grub_freebsd_add_meta_module): support 64 bit kernels
38933 (grub_freebsd_list_modules): use ALIGN_VAR
38934 (gdt_descriptor): new declaration
38935 (grub_freebsd_boot): support 64 bit kernels
38936 (grub_bsd_elf64_hook): new function
38937 (grub_bsd_load_elf): support elf64
38938
38939 2009-05-03 Bean <bean123ch@gmail.com>
38940
38941 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38942 after we get the result of if statement.
38943
38944 2009-05-03 Bean <bean123ch@gmail.com>
38945
38946 * Makefile.in (enable_efiemu): New variable.
38947
38948 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38949 set.
38950 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38951 path.
38952 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38953 path, add -mno-red-zone option.
38954 (efiemu64_s.o): Likewise.
38955 (efiemu64.o): Use macro $^ for source file.
38956
38957 * configure.ac (--enable-efiemu): New option.
38958
38959 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38960
38961 xnu support
38962
38963 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38964 (pkglib_MODULES): add xnu.mod
38965 (xnu_mod_SOURCES): new variable
38966 (xnu_mod_CFLAGS): likewise
38967 (xnu_mod_LDFLAGS): likewise
38968 (xnu_mod_ASFLAGS): likewise
38969 * conf/i386-pc.rmk: likewise
38970 * conf/x86_64-efi.rmk: likewise
38971 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
38972 new declaration
38973 * include/grub/i386/macho.h: new file
38974 * include/grub/i386/xnu.h: likewise
38975 * include/grub/macho.h: likewise
38976 * include/grub/machoload.h: likewise
38977 * include/grub/x86_64/macho.h: likewise
38978 * include/grub/x86_64/xnu.h: likewise
38979 * include/grub/xnu.h: likewise
38980 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38981 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38982 * loader/i386/efi/xnu.c: new file
38983 * loader/i386/pc/xnu.c: likewise
38984 * loader/i386/xnu.c: likewise
38985 * loader/i386/xnu_helper.S: likewise
38986 * loader/macho.c: likewise
38987 * loader/xnu.c: likewise
38988 * loader/xnu_resume.c: likewise
38989 * util/grub-dumpdevtree: likewise
38990 * include/grub/i386/pit.h: include grub/err.h
38991 (grub_pit_wait): export
38992 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
38993
38994 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38995
38996 Efiemu
38997
38998 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
38999 _linux_efi, linux_efi.
39000 new files in grub-emu
39001 new targets efiemu32.o and efiemu64.o
39002 * loader/linux_normal_efiemu.c: likewise
39003 * loader/i386/efi/linux.c: added preliminary efiemu support
39004 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
39005 files to copy
39006 * include/grub/autoefi.h: new file
39007 * include/grub/i386/efiemu.h: likewise
39008 * include/grub/i386/pc/efiemu.h: likewise
39009 * include/grub/efi/api.h: add LL suffix when necessary
39010 new definitions relating to tables
39011 * include/grub/efiemu/efiemu.h: new file
39012 * include/grub/efiemu/runtime.h: likewise
39013 * efiemu/prepare.c: likewise
39014 * efiemu/loadcore_common.c: likewise
39015 * efiemu/loadcore64.c: likewise
39016 * efiemu/runtime/efiemu.sh: likewise
39017 * efiemu/runtime/efiemu.S: likewise
39018 * efiemu/runtime/efiemu.c: likewise
39019 * efiemu/runtime/config.h: likewise
39020 * efiemu/prepare32.c: likewise
39021 * efiemu/main.c: likewise
39022 * efiemu/modules/pnvram.c: likewise
39023 * efiemu/modules/i386: likewise
39024 * efiemu/modules/i386/pc: likewise
39025 * efiemu/modules/acpi.c: likewise
39026 * efiemu/i386/pc/cfgtables.c: likewise
39027 * efiemu/i386/loadcore64.c: likewise
39028 * efiemu/i386/loadcore32.c: likewise
39029 * efiemu/prepare64.c: likewise
39030 * efiemu/loadcore.c: likewise
39031 * efiemu/symbols.c: likewise
39032 * efiemu/mm.c: likewise
39033 * efiemu/loadcore32.c: likewise
39034
39035 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39036
39037 ACPI spoofing
39038
39039 * commands/acpi.c: new file
39040 * commands/i386/pc/acpi.c: likewise
39041 * commands/efi/acpi.c: likewise
39042 * include/grub/acpi.h: likewise
39043 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
39044 (acpi_mod_SOURCES): new variable
39045 (acpi_mod_CFLAGS): likewise
39046 (acpi_mod_LDFLAGS): likewise
39047 * conf/i386-efi.rmk: likewise
39048 * conf/x86_64-efi.rmk: likewise
39049
39050 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39051
39052 Missing part from mmap patch
39053
39054 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
39055 (grub_mmap_unregister)
39056 (grub_mmap_free_and_unregister): use grub_mmap_register
39057
39058 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39059
39060 Mmap services
39061
39062 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
39063 * loader/i386/linux.c (find_mmap_size): likewise
39064 (allocate_pages): likewise
39065 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
39066 (grub_fill_multiboot_mmap): likewise
39067 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
39068 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
39069 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
39070 (OPENBSD_MMAP_RESERVED): likewise
39071 * include/grub/i386/pc/memory.h: include grub/memory.h
39072 (grub_lower_mem): removed
39073 (grub_upper_mem): likewise
39074 (GRUB_MACHINE_MEMORY_ACPI): new definition
39075 (GRUB_MACHINE_MEMORY_NVS): likewise
39076 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
39077 (GRUB_MACHINE_MEMORY_HOLE): likewise
39078 (grub_machine_mmap_register): likewise
39079 (grub_machine_mmap_unregister): likewise
39080 (grub_machine_get_upper): likewise
39081 (grub_machine_get_lower): likewise
39082 (grub_machine_get_post64): likewise
39083 * include/grub/i386/efi/memory.h: new file
39084 * include/grub/x86_64/efi/memory.h: likewise
39085 * include/grub/efi/memory.h: likewise
39086 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
39087 (mmap_mod_SOURCES): new variable
39088 (mmap_mod_LDFLAGS): likewise
39089 (mmap_mod_ASFLAGS): likewise
39090 * conf/i386-coreboot.rmk: likewise
39091 * conf/i386-ieee1275.rmk: likewise
39092 * conf/i386-efi.rmk: likewise
39093 * conf/x86_64-efi.rmk: likewise
39094 * include/grub/types.h (UINT_TO_PTR): new macro
39095 (PTR_TO_UINT32): likewise
39096 (PTR_TO_UINT64): likewise
39097 * include/grub/memory.h: new file
39098 * mmap/i386/pc/mmap.c: likewise
39099 * mmap/i386/pc/mmap_helper.S: likewise
39100 * mmap/i386/uppermem.c: likewise
39101 * mmap/mmap.c: likewise
39102 * mmap/efi/mmap.c: likewise
39103 * kern/i386/coreboot/init.c (grub_machine_init): don't use
39104 grub_upper_mem
39105 * kern/i386/pc/init.c (grub_lower_mem): removed variable
39106 (grub_upper_mem): likewise
39107 (grub_machine_init): don't use grub_upper_mem,
39108 make grub_lower_mem local
39109 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
39110 grub_mmap_iterate and grub_mmap_get_upper
39111 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
39112
39113 2009-05-02 Bean <bean123ch@gmail.com>
39114
39115 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
39116 script/sh/parser.y.
39117 (pkglib_MODULES): Add normal.mod and sh.mod.
39118 (normal_SOURCES): New variable.
39119 (normal_mod_CFLAGS): Likewise.
39120 (normal_mod_LDFLAGS): Likewise.
39121 (sh_mod_SOURCES): Likewise.
39122 (sh_mod_CFLAGS): Likewise.
39123 (sh_mod_LDFLAGS): Likewise.
39124
39125 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
39126 script/sh/lexer.c_DEPENDENCIES.
39127 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
39128 kern/rescue_reader.c and kern/rescue_parser.c.
39129 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
39130 (grub_emu_SOURCES): Change source files.
39131 (pkglib_MODULES): Remove normal.mod.
39132 (normal_SOURCES): Removed.
39133 (normal_mod_CFLAGS): Likewise.
39134 (normal_mod_LDFLAGS): Likewise.
39135 * conf/i386-coreboot.rmk: Likewise.
39136 * conf/i386-efi.rmk: Likewise.
39137 * conf/i386-ieee1276.rmk: Likewise.
39138 * conf/powerpc-ieee1275.rmk: Likewise.
39139 * conf/sparc64-ieee1275.rmk: Likewise.
39140 * conf/x86_64-efi.rmk: Likewise.
39141
39142 * include/grub/command.h (grub_command_execute): New inline function.
39143
39144 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39145
39146 * include/grub/normal.h: Remove <grub/setjmp.h>.
39147 (grub_fs_module_list): Moved to normal/autofs.c.
39148 (grub_exit_env): Removed.
39149 (grub_command_execute): Likewise.
39150 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39151 parameter script.
39152 (read_command_list): New function declaration.
39153 (read_fs_list): Likewise.
39154
39155 * include/parser.h: Include <grub/reader.h>.
39156 (grub_parser_split_cmdline): Change type of getline parameter.
39157 (grub_parser): New structure.
39158 (grub_parser_class): New variable.
39159 (grub_parser_execute): New function declaration.
39160 (grub_register_rescue_parser): Likewise.
39161 (grub_parser_register): New inline function.
39162 (grub_parser_unregister): Likewise.
39163 (grub_parser_get_current): Likewise.
39164 (grub_parser_set_current): Likewise.
39165
39166 * include/grub/reader.h: New file.
39167 * kern/reader.c: Likewise.
39168 * kern/rescue_parser.c: Likewise.
39169 * kern/rescue_reader.c: Likewise.
39170 * normal/autofs.c: Likewise.
39171 * normal/dyncmd.c: Likewise.
39172
39173 * include/grub/rescue.h: Removed.
39174 * normal/command.h: Likewise.
39175
39176 * include/grub/script.h: Moved to ...
39177 * include/grub/script_sh.h: ... Moved here.
39178 * normal/execute.c: Moved to ...
39179 * script/sh/execute.c: ... Moved here.
39180 * normal/function.c: Moved to ...
39181 * script/sh/function.c: ... Moved here.
39182 * normal/lexer.c: Moved to ...
39183 * script/sh/lexer.c: ... Moved here.
39184 * normal/parser.y: Moved to ...
39185 * script/sh/parser.y: ... Moved here.
39186 * normal/script.c: Moved to ...
39187 * script/sh/script.c: ... Moved here.
39188
39189 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39190 <grub/reader.h>.
39191 (grub_exit_env): Removed.
39192 (fs_module_list): Moved to normal/autofs.c.
39193 (grub_file_getline): Don't handle comment here.
39194 (free_menu): Skip removed field entry->commands.
39195 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39196 script parameter.
39197 (read_config_file): Removed nested parameter, change getline function.
39198 (grub_enter_normal_mode): Removed.
39199 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39200 (read_command_list): Likewise.
39201 (autoload_fs_module): Moved to normal/autofs.c.
39202 (read_fs_list): Likewise.
39203 (reader_nested): New variable.
39204 (grub_normal_execute): Run parser.sh to switch to sh parser.
39205 (grub_cmd_rescue): Removed.
39206 (cmd_normal): Removed.
39207 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39208 rescue command.
39209 (grub_cmdline_run): New function.
39210 (grub_normal_reader_init): Likewise.
39211 (grub_normal_read_line): Likewise.
39212 (grub_env_write_pager): Likewise.
39213 (cmdline): New variable.
39214 (grub_normal_reader): Likewise.
39215 (GRUB_MOD_INIT): Register normal reader and set as current, register
39216 pager hook, register normal command with grub_register_command_prio,
39217 so that it won't show up in command.lst.
39218 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39219 grub_fs_autoload_hook.
39220
39221 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39222 (grub_menu_execute_entry): Replace grub_script_execute with
39223 grub_parser_execute, change parameter to grub_command_execute.
39224
39225 * normal/menu_text.c: Remove <grub/script.h>.
39226
39227 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39228 and <grub/parser.h>.
39229 (run): Change editor_getline to use new parser interface. Change
39230 parameter to grub_command_execute.
39231
39232 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39233 <grub/reader.h> and <grub/parser.h>.
39234 (grub_load_normal_mode): Execute normal command.
39235 (grub_main): Call grub_register_core_commands,
39236 grub_register_rescue_parser and grub_register_rescue_reader, use
39237 grub_reader_loop to enter input loop.
39238
39239 * kern/parser.c (grub_parser_split_cmdline): Change type of
39240 getline parameter.
39241 (grub_parser_class): New variable.
39242 (grub_parser_execute): New function.
39243
39244 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39245 * loader/multiboot2.c: Likewise.
39246 * loader/sparc64/ieee1275/linux.c: Likewise.
39247
39248 * util/grub-emu.c (read_command_list): New dummy function.
39249
39250 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39251
39252 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39253 count to 16 for CCISS and IDA.
39254
39255 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39256
39257 * normal/menu_text.c (grub_wait_after_message): Print a newline
39258 after waiting for user input.
39259
39260 * loader/i386/linux.c: Include `<grub/normal.h>'.
39261 (grub_cmd_linux): Improve the error message about `ask' mode, by
39262 waiting for user input so it's not missed (we can do this, since
39263 user requested interaction).
39264
39265 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39266
39267 Added missing lst to grub-mkrescue
39268
39269 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39270 and ${input_dir}/parttool.lst
39271
39272 2009-04-30 David S. Miller <davem@davemloft.net>
39273
39274 * util/hostdisk.c (device_is_wholedisk): New function.
39275 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39276 zero only if device_is_wholedisk() returns true.
39277
39278 * util/hostdisk.c (convert_system_partition_to_system_disk):
39279 Handle virtual disk devices named /dev/vdiskX as found on sparc
39280 and powerpc.
39281
39282 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39283 lettered partition specifier is found, convert to numbered.
39284
39285 2009-04-29 David S. Miller <davem@davemloft.net>
39286
39287 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39288 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39289
39290 * normal/command.c: Add missing newline at end of file.
39291
39292 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39293 warnings.
39294 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39295 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39296 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39297 ihandles have a 32-bit type but need to be stored in a "void *".
39298
39299 2009-04-28 Pavel Roskin <proski@gnu.org>
39300
39301 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39302 not disk. Adjust all dependencies.
39303 (grub_fs_uuid_close): Use grub_device_close(), not
39304 grub_disk_close().
39305
39306 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39307 parent's partition, don't copy it by reference, as it gets freed
39308 on close.
39309
39310 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39311
39312 Preboot hooks support
39313
39314 * commands/boot.c (struct grub_preboot_t): new declaration
39315 (preboots_head): new variable
39316 (preboots_tail): likewise
39317 (grub_loader_register_preboot_hook): new function
39318 (grub_loader_unregister_preboot_hook): likewise
39319 (grub_loader_set): launch preboot hooks
39320 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39321 (grub_loader_register_preboot_hook): new declaration
39322 (grub_loader_unregister_preboot_hook): likewise
39323
39324 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39325
39326 Warning fix
39327
39328 * disk/scsi.c (grub_scsi_open): added missing cast when
39329 calling grub_dprintf
39330
39331 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39332
39333 Bug and warning fixes
39334
39335 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
39336 declaration
39337 * commands/test.c (test_parse): fixed bug with file tests and corrected
39338 declaration of find_file
39339
39340 2009-04-26 Pavel Roskin <proski@gnu.org>
39341
39342 * Makefile.in: Don't install empty manual pages if help2man is
39343 missing. Use help2man option for output, not shell redirection.
39344
39345 2009-04-26 David S. Miller <davem@davemloft.net>
39346
39347 * util/grub-mkdevicemap.c (make_device_map): Add missing
39348 NESTED_FUNC_ATTR to process_device().
39349
39350 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39351
39352 Test command
39353
39354 * commands/test.c: rewritten to use bash-like test
39355
39356 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39357
39358 Parttool autoloading and improvements
39359
39360 * Makefile.in (pkglib_DATA): add parttool.lst
39361 (parttool.lst): new target
39362 * genmk.rb: generate parttool-*
39363 (CLEANFILES): add #{parttool}
39364 (PARTTOOLFILES): new variable
39365 * genparttoollist.sh: new file
39366 * parttool/pcpart.c (grub_pcpart_boot): more feedback
39367 (grub_pcpart_type): likewise
39368 * commands/parttool.c (helpmsg): new variable
39369 (grub_cmd_parttool): output help if not enough arguments are supplied
39370 autoload modules
39371 (GRUB_MOD_INIT(parttool)): use helpmsg
39372
39373 2009-04-24 David S. Miller <davem@davemloft.net>
39374
39375 Avoiding opening same device multiple times in device iterator.
39376
39377 * kern/device.c: (grub_device_iterate): Define struct part_ent,
39378 and use it to build a list of partitions in iterate_disk() and
39379 iterate_partition().
39380
39381 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39382 on disk->data.
39383
39384 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39385 grub_devalias_iterate() result instead of unconditional 0.
39386 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39387 Also, capture hook return value, either directly or via
39388 grub_children_iterate(), and propagate to caller.
39389 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39390 grub_children_iterate): Return value is now 'int' instead of
39391 'grub_err_t'.
39392 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39393 like a proper iterator, stopping when hooks return non-zero.
39394 (grub_devalias_iterate): Likewise.
39395
39396 2009-04-23 David S. Miller <davem@davemloft.net>
39397
39398 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39399
39400 2009-04-22 David S. Miller <davem@davemloft.net>
39401
39402 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39403 is larger than address_cells, use that value for address_cells too.
39404
39405 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39406 IEEE1275_MAX_PATH_LEN): Define.
39407 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39408 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39409 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39410 'devtype'. Explicitly NULL terminate devalias expansion.
39411
39412 * util/sparc64/ieee1275/misc.c: New file.
39413 * util/sparc64/ieee1275/grub-setup.c: New file.
39414 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39415 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39416 * util/sparc64/ieee1275/grub-install.in: New file.
39417 * util/ieee1275/ofpath.c: New file.
39418 * util/ieee1275/devicemap.c: New file.
39419 * util/devicemap.c: New file.
39420 * util/deviceiter.c: New file.
39421 * kern/sparc64/ieee1275/init.c: New file.
39422 * include/grub/util/ofpath.h: New file.
39423 * include/grub/util/deviceiter.h: New file.
39424 * util/grub-mkdevicemap.c: Include deviceiter.h.
39425 Implement using grub_util_emit_devicemap_entry and
39426 grub_util_iterate_devices.
39427 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39428 util/devicemap.c into grub-mkdevicemap
39429 * conf/i386-efi.rmk: Likewise.
39430 * conf/i386-ieee1275.rmk: Likewise.
39431 * conf/i386-pc.rmk: Likewise.
39432 * conf/powerpc-ieee1275.rmk: Likewise.
39433 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39434 images and installation utilities. Build kernel as image
39435 instead of as elf binary. Use common rules as much as possible.
39436
39437 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
39438
39439 Correct GPT definition
39440
39441 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
39442 of "attrib" member
39443
39444 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
39445
39446 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39447
39448 2009-04-19 David S. Miller <davem@davemloft.net>
39449
39450 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39451 (grub_rescue_cmd_linux): Rename to...
39452 (grub_cmd_linux): and fix prototype.
39453 (grub_rescue_cmd_initrd): Rename to...
39454 (grub_cmd_initrd): and fix prototype.
39455 (cmd_linux, cmd_initrd): New.
39456 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39457 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39458
39459 2009-04-17 Pavel Roskin <proski@gnu.org>
39460
39461 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39462 format.
39463 (grub_ohci_transfer): Likewise.
39464
39465 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39466
39467 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39468 return without a value. Fix inconsistent indentation.
39469
39470 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39471 match struct grub_fs.
39472
39473 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39474 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39475 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39476 * commands/lspci.c (grub_lspci_iter): Likewise.
39477
39478 2009-04-16 Bean <bean123ch@gmail.com>
39479
39480 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39481 value.
39482
39483 2009-04-15 Pavel Roskin <proski@gnu.org>
39484
39485 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39486 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39487 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39488 definitions.
39489
39490 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39491
39492 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
39493 that no multiple data or metadata areas are supported and `Unknown
39494 metadata header'.
39495
39496 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39497
39498 Move loader out of the kernel
39499
39500 * kern/loader.c: moved to ...
39501 * commands/boot.c: ... moved here
39502 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39503 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39504 * include/grub/kernel.h (grub_machine_fini): export
39505 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39506 (grub_loader_set): likewise
39507 (grub_loader_unset): likewise
39508 (grub_loader_boot): likewise
39509 * conf/common.rmk: new module boot.mod
39510 (pkglib_MODULES): add boot.mod
39511 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39512 (grub_emu_SOURCES): likewise
39513 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39514 (grub_emu_SOURCES): likewise
39515 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39516 (grub_emu_SOURCES): likewise
39517 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39518 (grub_emu_SOURCES): likewise
39519 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39520 (grub_emu_SOURCES): likewise
39521 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39522 (grub_emu_SOURCES): likewise
39523 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
39524 (grub_emu_SOURCES): likewise
39525
39526 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39527
39528 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
39529
39530 * kern/misc.c (grub_itoa): Removed function
39531 (grub_ltoa): likewise
39532 (grub_vsprintf): use grub_lltoa
39533
39534 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39535
39536 Restore grub-emu
39537
39538 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39539 * conf/i386-coreboot.rmk: likewise
39540 * conf/i386-ieee1275.rmk: likewise
39541 * conf/powerpc-ieee1275.rmk: likewise
39542
39543 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39544
39545 * INSTALL: Add that `./autogen.sh' needs to be run before
39546 `./configure.'.
39547
39548 2009-04-14 Bean <bean123ch@gmail.com>
39549
39550 * Makefile.in (pkglib_DATA): Add handler.lst.
39551 (handler.lst): New rule.
39552
39553 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39554 * conf/i386-coreboot.rmk: Likewise.
39555 * conf/i386-ieee1275.rmk: Likewise.
39556 * conf/i386-efi.rmk: Likewise.
39557 * conf/x86_64-efi.rmk: Likewise.
39558 * conf/powerpc-ieee1275.rmk: Likewise.
39559 * conf/sparc64-ieee1275.rmk: Likewise.
39560
39561 * genhandlerlist.sh: New file.
39562
39563 * genmk.rb: Add rules to generate handler.lst.
39564
39565 * include/grub/normal.h (grub_file_getline): New function definition.
39566 (read_handler_list): Likewise.
39567 (free_handler_list): Likewise.
39568
39569 * include/grub/term.h (grub_term_register_input): Add name parameter
39570 for auto generation of handler.lst.
39571 (grub_term_register_output): Likewise.
39572
39573 * normal/handler.c: New file.
39574
39575 * normal/main.c (get_line): Renamed to grub_file_getline.
39576 (read_config_file): Use the newly renamed grub_file_getline.
39577 (read_command_list): Likewise.
39578 (read_fs_list): Likewise.
39579 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39580 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39581
39582 * term/efi/console.c (grub_console_init): Add name parameter for auto
39583 generation of handler.lst.
39584 * term/gfxterm.c: Likewise.
39585 * term/i386/pc/at_keyboard.c: Likewise.
39586 * term/i386/pc/console.c: Likewise.
39587 * term/i386/pc/serial.c: Likewise.
39588 * term/i386/pc/vesafb.c: Likewise.
39589 * term/i386/pc/vga.c: Likewise.
39590 * term/i386/pc/vga_text.c: Likewise.
39591 * term/ieee1275/ofconsole.c: Likewise.
39592 * term/usb_keyboard.c: Likewise.
39593
39594 2009-04-14 Bean <bean123ch@gmail.com>
39595
39596 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39597 properly with null character.
39598
39599 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39600
39601 * configure: Remove.
39602 * config.h.in: Likewise.
39603 * stamp-h.in: Likewise.
39604 * DISTLIST: Likewise.
39605 * conf/common.mk: Likewise.
39606 * conf/i386-coreboot.mk: Likewise.
39607 * conf/i386-efi.mk: Likewise.
39608 * conf/i386-ieee1275.mk: Likewise.
39609 * conf/i386.mk: Likewise.
39610 * conf/i386-pc.mk: Likewise.
39611 * conf/powerpc-ieee1275.mk: Likewise.
39612 * conf/sparc64-ieee1275.mk: Likewise.
39613 * conf/x86_64-efi.mk: Likewise.
39614
39615 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39616 develop on GRUB.
39617
39618 2009-04-14 John Stanley <jpsinthemix@verizon.net>
39619 David S. Miller <davem@davemloft.net>
39620
39621 * util/hostdisk.c (make_device_name): Fix buffer length
39622 calculations.
39623
39624 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39625
39626 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39627 <sys/param.h> and <sys/sysctl.h>.
39628 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39629 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39630 opening the device and reset them afterwards.
39631
39632 2009-04-13 Pavel Roskin <proski@gnu.org>
39633
39634 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39635 Reported by John Stanley <jpsinthemix@verizon.net>
39636
39637 2009-04-13 Robert Millan <rmh@aybabtu.com>
39638
39639 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
39640 that name for menuentries when appropriate.
39641
39642 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39643
39644 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39645
39646 2009-04-13 Robert Millan <rmh@aybabtu.com>
39647
39648 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39649 to Linux, simply abort telling the user it's no longer supported.
39650
39651 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39652
39653 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
39654 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
39655 `freebsd_loadenv' only when devices.hints exist.
39656
39657 2009-04-13 Pavel Roskin <proski@gnu.org>
39658
39659 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39660
39661 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39662
39663 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39664 partition number.
39665 (grub_drive): Likewise.
39666
39667 2009-04-13 David S. Miller <davem@davemloft.net>
39668
39669 * kern/sparc64/ieee1275/ieee1275.c: New file.
39670 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39671 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39672 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39673 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39674 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39675 grub_ieee1275_alloc_physmem): Declare new exported functions.
39676
39677 * include/grub/sparc64/ieee1275/loader.h: New file.
39678 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39679 * include/grub/sparc64/kernel.h: Likewise.
39680 * loader/sparc64/ieee1275/linux.c: Likewise.
39681
39682 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39683 (grub_fstest_SOURCES): Likewise.
39684
39685 * util/hostdisk.c (make_device_name): Do not make any assumptions
39686 about the length of drive names.
39687
39688 * kern/dl.c (grub_dl_load_file): Close file immediately when
39689 we are done using it.
39690
39691 2009-04-12 David S. Miller <davem@davemloft.net>
39692
39693 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39694 values. Noticed by Pavel Roskin.
39695
39696 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39697 target compiler.
39698
39699 * genmk.rb: Add more flexible image type specification, also
39700 pass --strip-unneeded to objcopy.
39701 * conf/i386-pc.rmk: Use *_FORMAT.
39702 * conf/i386-pc.mk: Rebuilt.
39703
39704 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39705 (OFDISK_HASH_SZ): Define.
39706 (ofdisk_hash): New hash table.
39707 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39708 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39709 instead of device phandle which is not unique.
39710
39711 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39712 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39713 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39714 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39715 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39716 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39717 GRUB_KERNEL_MACHINE_DATA_END): Define.
39718 (grub_kernel_image_size, grub_total_module_size): Declare.
39719
39720 2009-04-12 Pavel Roskin <proski@gnu.org>
39721
39722 * configure.ac: Change the logic when we check for target tools.
39723 Do it when the target is specified and it's different from the
39724 specified value of the host.
39725
39726 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
39727
39728 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39729 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39730 GNU/kFreeBSD. Check if a device is a character device. Use
39731 DIOCGMEDIASIZE to get the size.
39732 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39733 support for GNU/kFreeBSD.
39734 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39735 is a character device instead of a block device. Add support for
39736 FreeBSD device names.
39737
39738 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39739 is a character device instead of a block device.
39740
39741 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39742 is a character device instead of a block device.
39743
39744 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39745
39746 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39747 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39748 FreeBSD. Check if a device is a character device. Use
39749 DIOCGMEDIASIZE to get the size.
39750 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39751 support for FreeBSD.
39752 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39753 is a character device instead of a block device. Add support for
39754 FreeBSD device names.
39755
39756 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39757 a character device instead of a block device.
39758 (grub_util_check_char_device): New function.
39759
39760 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39761 a character device instead of a block device.
39762
39763 * include/grub/util/getroot.h (grub_util_check_char_device): New
39764 prototype.
39765
39766 2009-04-11 David S. Miller <davem@davemloft.net>
39767
39768 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39769 static libgcc.
39770 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39771 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39772 function, if present.
39773 (__bswapdi2): Likewise.
39774
39775 * include/grub/sparc64/ieee1275/boot.h: New file.
39776 * boot/sparc64/ieee1275/boot.S: Likewise.
39777 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39778
39779 * kern/misc.c (grub_ltoa): New function.
39780 (grub_vsprintf): Use it to format 'long' integers.
39781
39782 2009-04-10 David S. Miller <davem@davemloft.net>
39783
39784 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39785 slots are of type grub_ieee1275_cell_t.
39786 (grub_nand_read): Likewise.
39787 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39788 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39789 macros are used to compare values in arg/ret block of the call.
39790 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39791 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39792 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39793 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39794 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39795 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39796 grub_ieee1275_close, grub_ieee1275_set_property,
39797 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39798 grub_ieee1275_cell_t.
39799 * kern/ieee1275/openfw.c (grub_map): Likewise.
39800 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39801 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39802
39803 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39804 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39805 (grub_devalias_iterate): Likewise.
39806
39807 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
39808
39809 UFS improvements
39810
39811 * fs/ufs.c (INODE_NBLOCKS): new definition
39812 (struct grub_ufs_dirent): added fields for non-BSD dirents
39813 (grub_ufs_get_file_block): fixed double indirect handling
39814 (grub_ufs_lookup_symlink): use more robust way to determine whether
39815 symlink is inline
39816 (grub_ufs_find_file): support for non-BSD dirents
39817 (grub_ufs_dir): support for non-BSD dirents
39818
39819 2009-04-10 Bean <bean123ch@gnail.com>
39820
39821 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39822 attribute, otherwise the size would be wrong for i386 platform.
39823
39824 * include/grub/pci.h (grub_pci_read_word): New inline function.
39825 (grub_pci_read_byte): Likewise.
39826 (grub_pci_write): Likewise.
39827 (grub_pci_write_word): Likewise.
39828 (grub_pci_write_byte): Likewise.
39829
39830 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39831
39832 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39833 (find_framebuf): Scan pci to locate the frame buffer address.
39834
39835 * commands/efi/fixvideo.c: New file.
39836
39837 * commands/efi/loadbios.c: Likewise.
39838
39839 * commands/memrw.c: Likewise.
39840
39841 * util/grub-dumpbios.in: Likewise.
39842
39843 * conf/common.rmk (grub-dumpbios): New utility.
39844 (pkglib_MODULES): New module memrw.mod.
39845 (memrw_mod_SOURCE): New macro.
39846 (memrw_mod_CFLAGS): Likewise.
39847 (memrw_mod_LDFLAGS): Likewise.
39848
39849 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
39850 fixvideo.mod.
39851 (loadbios_mod_SOURCE): New macro.
39852 (loadbios_mod_CFLAGS): Likewise.
39853 (loadbios_mod_LDFLAGS): Likewise.
39854 (fixvideo_mod_SOURCE): Likewise.
39855 (fixvideo_mod_CFLAGS): Likewise.
39856 (fixvideo_mod_LDFLAGS): Likewise.
39857
39858 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
39859 fixvideo.mod.
39860 (loadbios_mod_SOURCE): New macro.
39861 (loadbios_mod_CFLAGS): Likewise.
39862 (loadbios_mod_LDFLAGS): Likewise.
39863 (fixvideo_mod_SOURCE): Likewise.
39864 (fixvideo_mod_CFLAGS): Likewise.
39865 (fixvideo_mod_LDFLAGS): Likewise.
39866
39867 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
39868
39869 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39870
39871 2009-04-07 David S. Miller <davem@davemloft.net>
39872
39873 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39874 support for R_SPARC_OLO10 relocations. Fix compile warning for
39875 R_SPARC_WDISP30 case.
39876 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
39877
39878 2009-04-06 Pavel Roskin <proski@gnu.org>
39879
39880 * include/grub/misc.h (ARRAY_SIZE): New macro.
39881 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39882 New macro.
39883 * loader/i386/linux.c (allocate_pages): Use free_pages().
39884 (grub_linux_unload): Don't use free_pages().
39885 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39886 wrong index. Treat all other modes as text modes.
39887 (grub_cmd_linux): Initialize vid_mode unconditionally to
39888 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39889
39890 * commands/help.c (print_command_help): Use cmd->prio, not
39891 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39892
39893 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
39894
39895 Parttool
39896
39897 * parttool/pcpart.c: new file
39898 * commands/parttool.c: likewise
39899 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39900 (parttool_mod_SOURCES): new variable
39901 (parttool_mod_CFLAGS): likewise
39902 (parttool_mod_LDFLAGS): likewise
39903 (pcpart_mod_SOURCES): likewise
39904 (pcpart_mod_CFLAGS): likewise
39905 (pcpart_mod_LDFLAGS): likewise
39906 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
39907 and parttool/pcpart.c
39908 * conf/i386-efi.rmk: likewise
39909 * conf/i386-ieee1275.rmk: likewise
39910 * conf/i386-pc.rmk: likewise
39911 * conf/powerpc-ieee1275.rmk: likewise
39912 * conf/sparc64-ieee1275.rmk: likewise
39913 * conf/x86_64-ieee1275.rmk: likewise
39914
39915 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39916
39917 Support for mtime and further expandability of dir command
39918
39919 * include/grub/lib/datetime.h: moved to ...
39920 * include/grub/datetime.h: ... moved here and added
39921 declaration of grub_unixtime2datetime. All users updated
39922 * include/grub/fs.h: new syntax for dir and mtime functions in
39923 struct grub_fs
39924 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39925 and GRUB_FSHELP_FLAGS_MASK
39926 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39927 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39928 (grub_ext2_mtime): new function
39929 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39930 (grub_hfsplus_mtime): new function
39931 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39932 (GRUB_UFS_ATTR_FILE): likewise
39933 (GRUB_UFS_ATTR_LNK): likewise
39934 (struct grub_ufs_sblock): new fields mtime
39935 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39936 all users updated
39937 (grub_ufs_dir): mtime support
39938 (grub_ufs_mtime): new function
39939 * fs/affs.c (grub_affs_dir): use new dir syntax
39940 * fs/afs.c (grub_afs_dir): likewise
39941 * fs/cpio.c (grub_cpio_dir): likewise
39942 * fs/fat.c (grub_fat_find_dir): likewise
39943 * fs/hfs.c (grub_hfs_dir): likewise
39944 * fs/iso9660.c (grub_iso9660_dir): likewise
39945 * fs/jfs.c (grub_jfs_dir): likewise
39946 * fs/minix.c (grub_minix_dir): likewise
39947 * fs/ntfs.c (grub_ntfs_dir): likewise
39948 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39949 * fs/sfs.c (grub_sfs_dir): likewise
39950 * fs/xfs.c (grub_xfs_dir): likewise
39951 * util/hostfs.c (grub_hostfs_dir): likewise
39952 * lib/datetime.c: moved to ...
39953 * normal/datetime.c: ... moved here
39954 (grub_unixtime2datetime): new function
39955 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
39956 * normal/completion.c (iterate_dir): use new dir syntax
39957 * normal/misc.c (grub_normal_print_device_info): tell the
39958 last modification time of a volume
39959 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
39960 * conf/common.rmk: added lib/datetime.c to ls.mod
39961 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
39962 (normal_mod_SOURCES): likewise
39963 (datetime_mod_SOURCES): Removed lib/datetime.c
39964 * conf/i386-efi.rmk: likewise
39965 * conf/i386-ieee1275.rmk: likewise
39966 * conf/i386-pc.rmk: likewise
39967 * conf/powerpc-ieee1275.rmk: likewise
39968 * conf/sparc64-ieee1275.rmk: likewise
39969 * conf/x86_64-efi.rmk: likewise
39970
39971 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39972
39973 Trim trailing spaces in FAT label and support mtools-like labels
39974
39975 * fs/fat.c (grub_fat_iterate_dir): New function based
39976 on grub_fat_find_dir
39977 (grub_fat_find_dir): use grub_fat_iterate_dir
39978 (grub_fat_label): likewise
39979
39980 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39981
39982 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
39983 and command.h
39984 remove extraneous kernel_elf_HEADERS
39985
39986 2009-04-04 Bean <bean123ch@gnail.com>
39987
39988 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39989
39990 * util/misc.c: Likewise.
39991
39992 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39993
39994 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39995 instead of grub_printf.
39996
39997 2009-04-03 Robert Millan <rmh@aybabtu.com>
39998
39999 * loader/i386/linux.c (grub_linux_setup_video): Fill
40000 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
40001 values from `mode info' structure instead of hardcoded
40002 values.
40003
40004 2009-04-01 Pavel Roskin <proski@gnu.org>
40005
40006 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
40007 unused now.
40008 * genmk.rb: Likewise.
40009 * configure.ac: Likewise.
40010
40011 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
40012
40013 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
40014 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
40015
40016 2009-04-01 David S. Miller <davem@davemloft.net>
40017
40018 * normal/sparc64/setjmp.S: Fix setjmp implementation.
40019 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
40020 (grub_setjmp): Mark with 'returns_twice' attribute.
40021 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
40022 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
40023 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
40024
40025 2009-04-01 Robert Millan <rmh@aybabtu.com>
40026
40027 Reapply fix from 2008-07-28 which was accidentally reverted; also
40028 perform the same fix to a similar check in same function.
40029
40030 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40031 with the same number are found, just use issue a warning with
40032 grub_dprintf(), as this error has been reported to be non-fatal.
40033
40034 2009-03-31 Pavel Roskin <proski@gnu.org>
40035
40036 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
40037 for cross-compilation.
40038
40039 2009-03-30 Robert Millan <rmh@aybabtu.com>
40040
40041 Fix i386-ieee1275 build.
40042
40043 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
40044 Remove declaration.
40045
40046 2009-03-30 Pavel Roskin <proski@gnu.org>
40047
40048 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
40049 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
40050 zero-terminated, rely only on the strlen value. Fix comparison
40051 of strings differing in length.
40052
40053 2009-03-30 Robert Millan <rmh@aybabtu.com>
40054
40055 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
40056 checking for abi version. Improve error messages on BIOS to notify
40057 user about `linux16' command.
40058
40059 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
40060
40061 Leak fixes
40062
40063 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
40064 in case of collision
40065 * disk/scsi.c (grub_scsi_open): free scsi in case of error
40066
40067 2009-03-29 Robert Millan <rmh@aybabtu.com>
40068
40069 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
40070 set `vid_mode' accordingly.
40071 (grub_linux_boot): Process `vid_mode' and set video mode.
40072
40073 2009-03-29 Robert Millan <rmh@aybabtu.com>
40074
40075 * util/grub.d/10_linux.in (linux_entry): New function.
40076 Factorize generation of Linux boot entries.
40077
40078 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
40079
40080 Make the format of Environment Block plain text. The boot loader
40081 part is not tested well yet.
40082
40083 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
40084 (buffer): Removed.
40085 (envblk): Likewise.
40086 (usage): Remove "info" and "clear". Add "unset". Update the
40087 description of "set", as this does not delete variables any
40088 longer.
40089 (create_envblk_file): Complete rewrite.
40090 (open_envblk_file): Likewise.
40091 (cmd_info): Removed.
40092 (cmd_list): Likewise.
40093 (cmd_set): Likewise.
40094 (cmd_clear): Likewise.
40095 (list_variables): New function.
40096 (write_envblk): Likewise.
40097 (set_variables): Likewise.
40098 (unset_variables): Likewise.
40099 (main): Complete rewrite.
40100
40101 * commands/loadenv.c (buffer): Removed.
40102 (envblk): Likewise.
40103 (open_envblk_file): New function.
40104 (read_envblk_file): Complete rewrite.
40105 (grub_cmd_load_env): Likewise.
40106 (grub_cmd_list_env): Likewise.
40107 (struct blocklist): New struct.
40108 (free_blocklists): New function.
40109 (check_blocklists): Likewise.
40110 (write_blocklists): Likewise.
40111 (grub_cmd_save_env): Complete rewrite.
40112
40113 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
40114 a plain text signature.
40115 (GRUB_ENVBLK_MAXLEN): Removed.
40116 (struct grub_envblk): Complete rewrite.
40117 (grub_envblk_find): Removed.
40118 (grub_envblk_insert): Likewise.
40119 (grub_envblk_open): New prototype.
40120 (grub_envblk_set): Likewise.
40121 (grub_envblk_delete): Put const to VALUE.
40122 (grub_envblk_iterate): Put const to NAME and VALUE.
40123 (grub_envblk_close): New prototype.
40124 (grub_envblk_buffer): New inline function.
40125 (grub_envblk_size): Likewise.
40126
40127 * lib/envblk.c: Include grub/mm.h.
40128 (grub_env_find): Removed.
40129 (grub_envblk_open): New function.
40130 (grub_envblk_close): Likewise.
40131 (escaped_value_len): Likewise.
40132 (find_next_line): Likewise.
40133 (grub_envblk_insert): Removed.
40134 (grub_envblk_set): New function.
40135 (grub_envblk_delete): Complete rewrite.
40136 (grub_envblk_iterate): Likewise.
40137
40138 2009-03-28 Robert Millan <rmh@aybabtu.com>
40139
40140 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40141 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40142 variables. Use 16-bit loader.
40143 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40144 loader.
40145 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40146 (grub_linux16_boot): ... this. Update all users.
40147 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40148 (grub_linux_boot): ... this. Update all users.
40149
40150 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40151 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40152 commands to `linux16' and `initrd16'.
40153 (GRUB_MOD_FINI(linux)): Rename to ...
40154 (GRUB_MOD_FINI(linux16)): ... this.
40155
40156 2009-03-24 Pavel Roskin <proski@gnu.org>
40157
40158 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40159 not just for compilation.
40160
40161 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40162
40163 Move multiboot helper out of kernel
40164
40165 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40166 `loader/i386/multiboot_helper.S'.
40167 * conf/i386-coreboot.rmk: Likewise
40168 * conf/i386-ieee1275.rmk: Likewise
40169
40170 * kern/i386/loader.S: Move multiboot helpers from here...
40171 * loader/i386/multiboot_helper.S: ...moved here
40172 * include/grub/i386/loader.h: Move declarations of multiboot
40173 helpers from here...
40174 * include/grub/i386/multiboot.h: ...moved here
40175 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40176
40177 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40178
40179 * kern/env.c (grub_env_context_open): Added an argument to specify
40180 whether a new context inherits exported variables from current
40181 one. This is useful when making a sandbox to interpret a config
40182 file.
40183 All callers updated.
40184
40185 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40186
40187 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40188
40189 * kern/env.c (grub_env_context_close): Fix memory leaks.
40190
40191 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40192
40193 * normal/main.c (grub_normal_execute): Added an argument
40194 BATCH to specify if an interactive interface should be provided
40195 after reading a config file.
40196 All callers updated.
40197 (read_command_list): Prevent being executed twice.
40198 (read_fs_list): Likewise.
40199
40200 * include/grub/normal.h (grub_normal_execute): Updated the
40201 prototype.
40202
40203 2009-03-22 Pavel Roskin <proski@gno.org>
40204
40205 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40206 _start.
40207 * kern/i386/pc/startup.S: Likewise.
40208 * kern/i386/efi/startup.S: Likewise.
40209 * kern/i386/ieee1275/startup.S: Likewise.
40210 * kern/i386/coreboot/startup.S: Likewise.
40211 * kern/x86_64/efi/startup.S: Likewise.
40212
40213 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40214 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40215 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40216
40217 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40218
40219 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40220
40221 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40222 limit detection.
40223 Use vaddr of correct segment for entry_point.
40224
40225 2009-03-21 Bean <bean123ch@gmail.com>
40226
40227 * commands/blocklist.c: Add include file <grub/command.h>, remove
40228 <grub/normal.h> and <grub/arg.h>.
40229 (grub_cmd_blocklist): Use the new command interface.
40230 (GRUB_MOD_INIT): Likewise.
40231 (GRUB_MOD_FINI): Likewise.
40232 * commands/boot.c: Likewise.
40233 * commands/cat.c: Likewise.
40234 * commands/cmp.c: Likewise.
40235 * commands/configfile.c: Likewise.
40236 * commands/crc.c: Likewise.
40237 * commands/echo.c: Likewise.
40238 * commands/halt.c: Likewise.
40239 * commands/handler.c: Likewise.
40240 * commands/hdparm.c: Likewise.
40241 * commands/help.c: Likewise.
40242 * commands/hexdump.c: Likewise.
40243 * commands/loadenv.c: Likewise.
40244 * commands/ls.c: Likewise.
40245 * commands/lsmmap.c: Likewise.
40246 * commands/lspci.c: Likewise.
40247 * commands/loadenv.c: Likewise.
40248 * commands/read.c: Likewise.
40249 * commands/reboot.c: Likewise.
40250 * commands/search.c: Likewise.
40251 * commands/sleep.c: Likewise.
40252 * commands/test.c: Likewise.
40253 * commands/usbtest.c: Likewise.
40254 * commands/videotest.c: Likewise.
40255 * commands/i386/cpuid.c: Likewise.
40256 * commands/i386/pc/halt.c: Likewise.
40257 * commands/i386/pc/play.c: Likewise.
40258 * commands/i386/pc/pxecmd.c: Likewise.
40259 * commands/i386/pc/vbeinfo.c: Likewise.
40260 * commands/i386/pc/vbetest.c: Likewise.
40261 * commands/ieee1275/suspend.c: Likewise.
40262 * disk/loopback.c: Likewise.
40263 * font/font_cmd.c: Likewise.
40264 * hello/hello.c: Likewise.
40265 * loader/efi/appleloader.c: Likewise.
40266 * loader/efi/chainloader.c: Likewise.
40267 * loader/i386/bsd.c: Likewise.
40268 * loader/i386/efi/linux.c: Likewise.
40269 * loader/i386/ieee1275/linux.c: Likewise.
40270 * loader/i386/linux.c: Likewise.
40271 * loader/i386/pc/chainloader.c: Likewise.
40272 * loader/i386/pc/linux.c: Likewise.
40273 * loader/powerpc/ieee1275/linux.c: Likewise.
40274 * loader/multiboot_loader.c: Likewise.
40275 * term/gfxterm.c: Likewise.
40276 * term/i386/pc/serial.c: Likewise.
40277 * term/terminfo.c: Likewise.
40278
40279 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40280 * term/i386/pc/vga.c: Likewise.
40281 * video/readers/jpeg.c: Likewise.
40282 * video/readers/png.c: Likewise.
40283 * video/readers/tga.c: Likewise.
40284
40285 * util/grub-fstest (cmd_loopback): Removed.
40286 (cmd_blocklist): Likewise.
40287 (cmd_ls): Likewise.
40288 (grub_register_command): Likewise.
40289 (grub_unregister_command): Likewise.
40290 (execute_command): Use grub_command_find to locate command and execute
40291 it.
40292
40293 * include/grub/efi/chainloader.h: Removed.
40294 * loader/efi/chainloader_normal.c: Likewise.
40295 * loader/i386/bsd_normal.c: Likewise.
40296 * loader/i386/pc/chainloader_normal.c: Likewise.
40297 * loader/i386/pc/multiboot_normal.c: Likewise.
40298 * loader/linux_normal.c: Likewise.
40299 * loader/multiboot_loader_normal.c: Likewise.
40300 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40301
40302 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40303 and grub_register_command_p1.
40304
40305 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40306 kern/command.c, lib/arg.c and commands/extcmd.c.
40307 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40308 (minicmd_mod_SOURCES): New variable.
40309 (minicmd_mod_CFLAGS): Likewise.
40310 (minicmd_mod_LDFLAGS): Likewise.
40311 (extcmd_mod_SOURCES): Likewise.
40312 (extcmd_mod_CFLAGS): Likewise.
40313 (extcmd_mod_LDFLAGS): Likewise.
40314 (boot_mod_SOURCES): Removed.
40315 (boot_mod_CFLAGS): Likewise.
40316 (boot_mod_LDFLAGS): Likewise.
40317
40318 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40319 kern/corecmd.c.
40320 (kernel_img_HEADERS): Add command.h.
40321 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40322 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40323 and lib/arg.c.
40324 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40325 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40326 remove the corresponding normal mode command.
40327 (normal_mod_SOURCES): Remove normal/arg.c.
40328 * conf/i386-coreboot.rmk: Likewise.
40329 * conf/i386-efi.rmk: Likewise.
40330 * conf/i386-ieee1275.rmk: Likewise.
40331 * conf/powerpc-ieee1275.rmk: Likewise.
40332 * conf/x86_64-efi.rmk: Likewise.
40333
40334 * include/grub/arg.h: Move from here ...
40335 * include/grub/lib/arg.h: ... to here.
40336
40337 * normal/arg.c: Move from here ...
40338 * lib/arg.c: ... to here.
40339
40340 * commands/extcmd.c: New file.
40341 * commands/minicmd.c: Likewise.
40342 * include/grub/command.h: Likewise.
40343 * include/grub/extcmd.h: Likewise.
40344 * kern/command.c: Likewise.
40345 * kern/corecmd.c: Likewise.
40346
40347 * kern/list.c (grub_list_iterate): Return int instead of void.
40348 (grub_list_insert): New function.
40349 (grub_prio_list_insert): Likewise.
40350
40351 * kern/rescue.c (grub_rescue_command): Removed.
40352 (grub_rescue_command_list): Likewise.
40353 (grub_rescue_register_command): Likewise.
40354 (grub_rescue_unregister_command): Likewise.
40355 (grub_rescue_cmd_boot): Move to minicmd.c
40356 (grub_rescue_cmd_help): Likewise.
40357 (grub_rescue_cmd_info): Likewise.
40358 (grub_rescue_cmd_boot): Likewise.
40359 (grub_rescue_cmd_testload): Likewise.
40360 (grub_rescue_cmd_dump): Likewise.
40361 (grub_rescue_cmd_rmmod): Likewise.
40362 (grub_rescue_cmd_lsmod): Likewise.
40363 (grub_rescue_cmd_exit): Likewise.
40364 (grub_rescue_print_devices): Moved to corecmd.c.
40365 (grub_rescue_print_files): Likewise.
40366 (grub_rescue_cmd_ls): Likewise.
40367 (grub_rescue_cmd_insmod): Likewise.
40368 (grub_rescue_cmd_set): Likewise.
40369 (grub_rescue_cmd_unset): Likewise.
40370 (attempt_normal_mode): Use grub_command_find to get normal module.
40371 (grub_enter_rescue_mode): Use grub_register_core_commands to register
40372 commands, remove grub_rescue_register_command calls.
40373
40374 * normal/command.c (grub_register_command): Removed.
40375 (grub_unregister_command): Likewise.
40376 (grub_command_find): Likewise.
40377 (grub_iterate_commands): Likewise.
40378 (rescue_command): Likewise.
40379 (export_command): Moved to corecmd.c.
40380 (set_command): Removed.
40381 (unset_command): Likewise.
40382 (insmod_command): Likewise.
40383 (rmmod_command): Likewise.
40384 (lsmod_command): Likewise.
40385 (grub_command_init): Likewise.
40386
40387 * normal/completion.c (iterate_command): Use cmd->prio to check for
40388 active command.
40389 (complete_arguments): Use grub_extcmd_t structure to find options.
40390 (grub_normal_do_completion): Change function grub_iterate_commands to
40391 grub_command_iterate.
40392
40393 * normal/execute.c (grub_script_execute_cmd): No need to parse
40394 argument here.
40395
40396 * normal/main.c (grub_dyncmd_dispatcher): New function.
40397 (read_command_list): Register unload commands as dyncmd.
40398 (grub_cmd_normal): Use new command interface, register rescue,
40399 unregister normal at entry, register normal, unregister rescue at exit.
40400
40401 * include/grub/list.h (grub_list_test_t): New type.
40402 (grub_list_iterate): Return int instead of void.
40403 (grub_list_insert): New function.
40404 (GRUB_AS_NAMED_LIST_P): New macro.
40405 (GRUB_AS_PRIO_LIST): Likewise.
40406 (GRUB_AS_PRIO_LIST_P): Likewise.
40407 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40408 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40409 (grub_prio_list): New structure.
40410 (grub_prio_list_insert): New function.
40411 (grub_prio_list_remove): New inline function.
40412
40413 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40414 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40415 (GRUB_COMMAND_FLAG_MENU): Likewise.
40416 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40417 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40418 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40419 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40420 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40421 (grub_command): Likewise.
40422 (grub_register_command): Likewise.
40423 (grub_command_find): Likewise.
40424 (grub_iterate_commands): Likewise.
40425 (grub_command_init): Likewise.
40426 (grub_arg_parse): Likewise.
40427 (grub_arg_show_help): Likewise.
40428
40429 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40430 (grub_rescue_unregister_command): Likewise.
40431
40432 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40433 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40434 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40435
40436 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40437 grub_rescue_cmd_initrd.
40438 * include/grub/i386/loader.h: Likewise.
40439 * include/grub/x86_64/loader.h: Likewise.
40440
40441 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40442
40443 2009-03-21 Bean <bean123ch@gmail.com>
40444
40445 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40446 instead of stat in mingw environment.
40447
40448 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40449
40450 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40451
40452 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40453 AC_CONFIG_LINKS.
40454
40455 2009-03-21 Bean <bean123ch@gmail.com>
40456
40457 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40458 out of range error.
40459
40460 2009-03-18 Michel Dänzer <michel@daenzer.net>
40461
40462 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40463 checking inode flags for EXT4_EXTENTS_FLAG.
40464
40465 2009-03-18 Robert Millan <rmh@aybabtu.com>
40466
40467 * loader/i386/linux.c: Include `<grub/video.h>' and
40468 `<grub/i386/pc/vbe.h>'..
40469 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40470 (grub_linux32_boot): Attempt to configure video settings with
40471 grub_linux_setup_video().
40472 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40473 to avoid grub_console_fini() which would step out of graphical mode
40474 unconditionally.
40475
40476 2009-03-14 Robert Millan <rmh@aybabtu.com>
40477
40478 Fix build on powerpc.
40479 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40480
40481 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40482
40483 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40484 background image command.
40485
40486 2009-03-12 Colin D Bennett <colin@gibibit.com>
40487
40488 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40489 (grub_gfxterm_putchar): Extract pairs of identical calls to
40490 draw_cursor out of conditional blocks.
40491
40492 2009-03-11 Pavel Roskin <proski@gnu.org>
40493
40494 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40495 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40496
40497 2009-03-11 Robert Millan <rmh@aybabtu.com>
40498
40499 * loader/i386/multiboot_elfxx.c
40500 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40501
40502 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
40503
40504 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40505 `kern/handler.c'.
40506
40507 2009-03-11 Robert Millan <rmh@aybabtu.com>
40508
40509 * loader/i386/multiboot.c (code_size): New variable.
40510 (grub_multiboot): Define offsets by adding to `code_size' rather
40511 than subtracting from `grub_multiboot_payload_size'. Provide
40512 4-byte alignment to MBI and others by increasing
40513 `boot_loader_name_length' appropriately.
40514
40515 * loader/i386/multiboot_elfxx.c
40516 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40517
40518 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
40519
40520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40521 `fs/ext2.c'.
40522
40523 2009-03-08 Robert Millan <rmh@aybabtu.com>
40524
40525 Make loader/i386/linux.c usable on i386-pc again.
40526
40527 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40528 memory to heap.
40529 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40530 `#error' stanza.
40531
40532 2009-03-07 Bean <bean123ch@gmail.com>
40533
40534 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40535 allocation.
40536
40537 2009-03-06 Robert Millan <rmh@aybabtu.com>
40538
40539 Fix display issue on terminals with screen size other than 80x25
40540 (e.g. gfxterm with resolution higher than 640x480).
40541
40542 * normal/main.c (grub_normal_init_page): Display title text in a
40543 position relative to the center of the terminal instead of relying
40544 on a hardcoded offset.
40545
40546 2009-03-04 Robert Millan <rmh@aybabtu.com>
40547
40548 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40549 installed.
40550
40551 * Makefile.in (host_kernel): New variable.
40552 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40553 scripts instead of just the windows one.
40554 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40555
40556 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40557
40558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40559 `kern/handler.c'.
40560 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40561 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40564 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40565 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40566
40567 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40568
40569 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40570 or if there's no space for the disk label and print the partition number on a
40571 invalid magic.
40572
40573 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40574
40575 * util/misc.c: Include <time.h>.
40576 (grub_millisleep): New function.
40577
40578 2009-03-04 Bean <bean123ch@gmail.com>
40579
40580 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40581 another option -mno-red-zone.
40582
40583 * commands/handler.c: Change module description.
40584
40585 * kern/handler.c: Add missing space at the end of description line.
40586
40587 * kern/list.c: Likewise.
40588
40589 2009-03-03 Robert Millan <rmh@aybabtu.com>
40590
40591 Move more components to the relocation area, and fix mbi pointer
40592 handling to use the destination rather than the origin (thanks to
40593 Vladimir Serbinenko for spotting).
40594
40595 * loader/i386/multiboot.c (mbi_dest): New variable.
40596 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40597 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40598 relocation area.
40599
40600 2009-03-01 Bean <bean123ch@gmail.com>
40601
40602 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
40603 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40604 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40605 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40606
40607 * loader/i386/efi/linux.c (acpi_guid): New variable.
40608 (acpi_guid): Likewise.
40609 (EBDA_SEG_ADDR): New constant.
40610 (LOW_MEM_ADDR): Likewise.
40611 (FAKE_EBDA_SEG): Likewise.
40612 (fake_bios_data): New function.
40613 (grub_linux_boot): Call fake_bios_data.
40614
40615 2009-03-01 Bean <bean123ch@gmail.com>
40616
40617 * commands/terminal.c: Removed.
40618
40619 * commands/handler.c: New file.
40620
40621 * include/grub/list.h: Likewise.
40622
40623 * include/grub/handler.h: Likewise.
40624
40625 * kern/list.c: Likewise.
40626
40627 * kern/handler.c: Likewise.
40628
40629 * kern/term.h: Include header file <grub/handler.h>.
40630 (grub_term_input): Move next field to the beginning.
40631 (grub_term_output): Likewise.
40632 (grub_term_input_class): New variable.
40633 (grub_term_output_class): Likewise.
40634 (grub_term_register_input): Changed to inline function.
40635 (grub_term_register_output): Likewise.
40636 (grub_term_unregister_input): Likewise.
40637 (grub_term_unregister_output): Likewise.
40638 (grub_term_set_current_input): Likewise.
40639 (grub_term_set_current_output): Likewise.
40640 (grub_term_get_current_input): Likewise.
40641 (grub_term_get_current_output): Likewise.
40642 (grub_term_iterate_input): Removed.
40643 (grub_term_iterate_output): Likewise.
40644
40645 * kern/term.c (grub_term_list_input): Removed.
40646 (grub_term_list_output): Likewise.
40647 (grub_term_input_class): New variable.
40648 (grub_term_output_class): Likewise.
40649 (grub_cur_term_input): Change variable as macro.
40650 (grub_cur_term_output): Likewise.
40651 (grub_term_register_input): Removed.
40652 (grub_term_register_output): Likewise.
40653 (grub_term_unregister_input): Likewise.
40654 (grub_term_unregister_output): Likewise.
40655 (grub_term_set_current_input): Likewise.
40656 (grub_term_set_current_output): Likewise.
40657 (grub_term_iterate_input): Likewise.
40658 (grub_term_iterate_output): Likewise.
40659 (grub_term_get_current_input): Likewise.
40660 (grub_term_get_current_output): Likewise.
40661
40662 * util/grub-editenv.c: Include header file <grub/handler.h>.
40663 (grub_term_get_current_input): Removed.
40664 (grub_term_get_current_output): Likewise.
40665 (grub_term_input_class): New variable.
40666 (grub_term_output_class): Likewise.
40667
40668 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40669 (grub_term_get_current_output): Likewise.
40670 (grub_term_input_class): New variable.
40671 (grub_term_output_class): Likewise.
40672
40673 * util/grub-probe.c (grub_term_get_current_input): Removed.
40674 (grub_term_get_current_output): Likewise.
40675 (grub_term_input_class): New variable.
40676 (grub_term_output_class): Likewise.
40677
40678 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40679 (grub_term_get_current_output): Likewise.
40680 (grub_term_input_class): New variable.
40681 (grub_term_output_class): Likewise.
40682
40683 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40684 (terminal_mod_SOURCES): Likewise.
40685 (terminal_mod_CFLAGS): Likewise.
40686 (terminal_mod_LDFLAGS): Likewise.
40687
40688 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40689 handler.c.
40690 (kernel_img_SOURCES): Add list.c and handler.c.
40691 (kernel_img_HEADERS): Add list.h and handler.h.
40692
40693 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40694 handler.c.
40695 (kernel_mod_SOURCES): Add list.c and handler.c.
40696 (kernel_mod_HEADERS): Add list.h and handler.h.
40697
40698 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40699 handler.c.
40700 (kernel_elf_SOURCES): Add list.c and handler.c.
40701 (kernel_elf_HEADERS): Add list.h and handler.h.
40702
40703 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40704 handler.c.
40705 (kernel_elf_SOURCES): Add list.c and handler.c.
40706 (kernel_elf_HEADERS): Add list.h and handler.h.
40707
40708 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40709 handler.c.
40710 (kernel_mod_SOURCES): Add list.c and handler.c.
40711 (kernel_mod_HEADERS): Add list.h and handler.h.
40712
40713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40714 handler.c.
40715 (kernel_elf_SOURCES): Add list.c and handler.c.
40716 (kernel_elf_HEADERS): Add list.h and handler.h.
40717
40718 2009-02-27 Robert Millan <rmh@aybabtu.com>
40719
40720 Factorize elf32 / elf64 code in Multiboot loader. This will
40721 prevent it from getting out of sync again.
40722
40723 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40724 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40725 grub_multiboot_load_elf64): Move from here ...
40726 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40727 grub_multiboot_load_elf): ... to here (new file).
40728
40729 2009-02-27 Robert Millan <rmh@aybabtu.com>
40730
40731 * util/grub.d/10_linux.in: Rename "single-user mode" to
40732 "recovery mode".
40733
40734 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40735
40736 Don't leak in SCSI code.
40737 * disk/scsi.c (grub_scsi_close): free `scsi'.
40738
40739 2009-02-27 Robert Millan <rmh@aybabtu.com>
40740
40741 * loader/i386/pc/multiboot.c: Move from here ...
40742 * loader/i386/multiboot.c: ... to here. Update all users.
40743
40744 2009-02-27 Robert Millan <rmh@aybabtu.com>
40745
40746 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40747 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40748
40749 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
40750
40751 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40752 b-tree.
40753
40754 2009-02-27 Robert Millan <rmh@aybabtu.com>
40755
40756 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40757 `0x' qualifier as 0 when base is specified as parameter).
40758
40759 2009-02-24 Bean <bean123ch@gmail.com>
40760
40761 * configure.ac: Check for -mcmodel=large in x86_64 target.
40762
40763 * include/grub/efi/api.h (efi_call_10): New macro.
40764 (efi_wrap_10): New function.
40765
40766 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40767 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40768 (GRUB_PE32_REL_BASED_LOW): Likewise.
40769 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40770 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40771 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40772 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40773 (GRUB_PE32_REL_BASED_REL): Likewise.
40774 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40775 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40776 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40777
40778 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40779 issue.
40780
40781 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40782 (efi_wrap_10): New function.
40783
40784 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40785
40786 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40787 MB/MBP model (NV chipset).
40788 (devdata_devs): Add devpath_5 to the list.
40789
40790 * load/i386/efi/linux.c (video_base): Remove variable.
40791 (RGB_MASK): New macro.
40792 (RGB_MAGIC): Likewise.
40793 (LINE_MIN): Likewise.
40794 (LINE_MAX): Likewise.
40795 (FBTEST_STEP): Likewise.
40796 (FBTEST_COUNT): Likewise.
40797 (fb_list): New variable.
40798 (grub_find_video_card): Remove function.
40799 (find_framebuf): New function.
40800 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40801 line length.
40802
40803 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40804 problem for x86_64.
40805
40806 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40807
40808 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40809
40810 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40811 coding tool name.
40812
40813 2009-02-22 Robert Millan <rmh@aybabtu.com>
40814
40815 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40816 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40817 in our relocation, instead of using it directly from heap. Also
40818 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40819
40820 2009-02-21 Robert Millan <rmh@aybabtu.com>
40821
40822 Implement USB keyboard support (based on patch by Marco Gerards)
40823
40824 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40825 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40826 (usb_keyboard_mod_LDFLAGS): New variables.
40827
40828 * term/usb_keyboard.c: New file.
40829
40830 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40831
40832 Corrected wrong declaration
40833
40834 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40835
40836 2009-02-14 Christian Franke <franke@computer.org>
40837
40838 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40839 (grub_lspci_iter): Print class code and programming interface byte.
40840
40841 2009-02-14 Christian Franke <franke@computer.org>
40842
40843 * gendistlist.sh: Ignore `.svn' directories.
40844
40845 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
40846
40847 * fs/fat.c: Add 2009 to Copyright line.
40848
40849 2009-02-14 Christian Franke <franke@computer.org>
40850
40851 * commands/hdparm.c: New file. Provides `hdparm' command
40852 which sends ATA commands via grub_disk_ata_pass_through ().
40853
40854 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40855
40856 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40857 and <grub/cpu/io.h> to include/grub/ata.h.
40858 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40859 (GRUB_CDROM_SECTOR_SIZE): Remove.
40860 (GRUB_ATA_*): Move to include/grub/ata.h.
40861 (GRUB_ATAPI_*): Likewise.
40862 (enum grub_ata_commands): Likewise.
40863 (enum grub_ata_timeout_milliseconds): Likewise.
40864 (struct grub_ata_device): Likewise.
40865 (grub_ata_regset): Likewise.
40866 (grub_ata_regget): Likewise.
40867 (grub_ata_regset2): Likewise.
40868 (grub_ata_regget2): Likewise.
40869 (grub_ata_check_ready): Likewise.
40870 (grub_ata_wait_not_busy): Remove static, exported in
40871 include/grub/ata.h.
40872 (grub_ata_wait_drq): Likewise.
40873 (grub_ata_pio_read): Likewise.
40874
40875 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40876 function for hdparm.mod.
40877
40878 * include/grub/ata.h: New file, contains declarations from
40879 disk/ata.c.
40880 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40881
40882 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40883 (grub_disk_ata_pass_through): New exported variable.
40884
40885 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40886
40887 2009-02-13 Colin D Bennett <colin@gibibit.com>
40888
40889 Support multiple fallback entries, and provide an API to support
40890 executing default+fallback menu entries. Renamed the `terminal' menu
40891 viewer to `text'.
40892
40893 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40894 variable declaration.
40895 (grub_menu_execute_callback): New structure declaration.
40896 (grub_menu_execute_callback_t): New typedef.
40897 (grub_menu_execute_with_fallback): New function declaration.
40898 (grub_menu_get_entry): Likewise.
40899 (grub_menu_get_timeout): Likewise.
40900 (grub_menu_set_timeout): Likewise.
40901
40902 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40903
40904 * normal/menu.c (grub_wait_after_message): Moved to
40905 `normal/menu_text.c'.
40906 (draw_border): Likewise.
40907 (print_message): Likewise.
40908 (print_entry): Likewise.
40909 (print_entries): Likewise.
40910 (grub_menu_init_page): Likewise.
40911 (get_entry_number): Likewise.
40912 (print_timeout): Likewise.
40913 (run_menu): Likewise.
40914 (grub_menu_execute_entry): Likewise.
40915 (show_text_menu): Likewise.
40916 (get_and_remove_first_entry_number): New function.
40917 (grub_menu_execute_with_fallback): Likewise.
40918 (get_entry): Renamed to ...
40919 (grub_menu_get_entry): .. this and made it global.
40920 (get_timeout): Renamed to ...
40921 (grub_menu_get_timeout): ... this and made it global.
40922 (set_timeout): Renamed to ...
40923 (grub_menu_set_timeout): ... this and made it global.
40924 (grub_normal_terminal_menu_viewer): Renamed to ...
40925 (grub_normal_text_menu_viewer): ... this.
40926
40927 * normal/menu_text.c: New file. Extracted text-menu-specific code
40928 from normal/menu.c.
40929
40930 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40931 (normal_mod_SOURCES): Likewise.
40932
40933 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40934 (normal_mod_SOURCES): Likewise.
40935
40936 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40937 (normal_mod_SOURCES): Likewise.
40938
40939 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40940 (normal_mod_SOURCES): Likewise.
40941
40942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40943 (normal_mod_SOURCES): Likewise.
40944
40945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40946 (normal_mod_SOURCES): Likewise.
40947
40948 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40949 (normal_mod_SOURCES): Likewise.
40950
40951 2009-02-11 Robert Millan <rmh@aybabtu.com>
40952
40953 * util/grub.d/00_header.in: Update old reference to `font' command.
40954
40955 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
40956
40957 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40958
40959 Based on patch from Javier Martín.
40960
40961 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40962
40963 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
40964 to avoid false positives with FAT.
40965 (grub_fstest_SOURCES): Likewise.
40966 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40967 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40969 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40970 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40971 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40972
40973 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40974
40975 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
40976 bpb.version_specific.fat12_or_fat16.fstype and
40977 bpb.version_specific.fat32.fstype.
40978
40979 2009-02-08 Robert Millan <rmh@aybabtu.com>
40980
40981 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
40982
40983 2009-02-08 Robert Millan <rmh@aybabtu.com>
40984
40985 * Makefile.in (host_os, host_cpu): New variables.
40986 (target_os): Remove. Update all users.
40987
40988 2009-02-08 Marco Gerards <marco@gnu.org>
40989
40990 * Makefile.in (enable_grub_emu_usb): New variable.
40991 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40992 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40993 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40994 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40995 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40996 `usbtest.mod' and `usbms.mod'.
40997 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40998 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40999 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
41000 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
41001 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
41002 variables.
41003
41004 * disk/usbms.c: New file.
41005
41006 * include/grub/usb.h: Likewise.
41007
41008 * include/grub/usbtrans.h: Likewise.
41009
41010 * include/grub/usbdesc.h: Likewise.
41011
41012 * bus/usb/usbtrans.c: Likewise.
41013
41014 * bus/usb/ohci.c: Likewise.
41015
41016 * bus/usb/uhci.c: Likewise.
41017
41018 * bus/usb/usbhub.c: Likewise.
41019
41020 * bus/usb/usb.c: Likewise.
41021
41022 * commands/usbtest.c: Likewise.
41023
41024 * util/usb.c: Likewise.
41025
41026 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
41027
41028 * configure.ac: Test for libusb presence.
41029
41030 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
41031
41032 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
41033
41034 * kern/mm.c: Add more comments.
41035
41036 2009-02-08 Robert Millan <rmh@aybabtu.com>
41037
41038 Patch from Javier Martín.
41039 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
41040 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
41041
41042 2009-02-08 Robert Millan <rmh@aybabtu.com>
41043
41044 * fs/cpio.c: Split tar functionality to ...
41045 * fs/tar.c: ... here (new file). Update all users.
41046
41047 2009-02-07 Robert Millan <rmh@aybabtu.com>
41048
41049 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
41050 backward-incompatible features.
41051
41052 Based on patch from Javier Martín, with some adjustments.
41053
41054 2009-02-07 Michael Scherer <misc@mandriva.org>
41055
41056 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
41057
41058 2009-02-07 Robert Millan <rmh@aybabtu.com>
41059
41060 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
41061 position of `disk/lvm.c' to ensure grub_init_all() always picks it
41062 after the RAID stuff.
41063
41064 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
41065
41066 Fixes problem when running vbetest command as reported by
41067 Vladimir Serbinenko <phcoder@gmail.com>.
41068
41069 * (grub_vbe_set_video_mode): Fixed problem with text modes.
41070
41071 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
41072
41073 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
41074 /dev/md/NpN style mdraid devices.
41075
41076 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41077
41078 * util/unifont2pff.rb: Remove.
41079
41080 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41081
41082 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
41083 `#'.
41084
41085 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41086
41087 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
41088 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41089 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41090 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41092 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41093 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41094
41095 2009-02-02 Christian Franke <franke@computer.org>
41096
41097 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
41098
41099 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
41100
41101 * INSTALL: Note that we now require at least autoconf 2.59 and
41102 that LZO is optional.
41103
41104 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41105
41106 Base on patch on bug #24154 created by Tomas Tintera
41107 <trosos@seznam.cz>.
41108
41109 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
41110
41111 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41112
41113 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
41114 <bero@arklinux.org>.
41115
41116 * normal/parser.y (script_init): Add missing semicolon.
41117
41118 2009-01-31 Colin D Bennett <colin@gibibit.com>
41119
41120 * normal/main.c: Add include to grub/menu_viewer.h.
41121 (free_menu_entry_classes): Added.
41122 (grub_normal_menu_addentry): Added class property handling.
41123 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
41124 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
41125
41126 * normal/menu_viewer.c: New file.
41127
41128 * normal/menu.c (run_menu_entry): Renamed to ...
41129 (grub_menu_execute_entry): ... this and made it as global.
41130 (grub_menu_run): Renamed to ...
41131 (show_text_menu): ... this and made it local.
41132 (show_text_menu): Adapt to new function names.
41133 (grub_normal_terminal_menu_viewer): New global variable.
41134
41135 * include/grub/menu.h: New file.
41136
41137 * include/grub/menu_viewer.h: New file.
41138
41139 * include/grub/normal.h: Added include to grub/menu.h.
41140 (grub_menu_entry): Moved to include/grub/menu.h.
41141 (grub_menu_entry_t): Likewise.
41142 (grub_menu): Likewise.
41143 (grub_menu_t): Likewise.
41144 (grub_normal_terminal_menu_viewer): Added.
41145 (grub_menu_execute_entry): Likewise.
41146 (grub_menu_run): Removed.
41147
41148 * DISTLIST: Added include/grub/menu.h.
41149 Added include/grub/menu_viewer.h.
41150 Added normal/menu_viewer.c.
41151
41152 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41153
41154 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41155 arglist for menutitle arguments.
41156
41157 * normal/main.c (grub_normal_menu_addentry): Likewise.
41158
41159 * normal/parser.y (menuentry): Likewise.
41160
41161 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41162
41163 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41164 (grub_script_create_cmdmenu): Likewise.
41165
41166 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41167
41168 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41169 changes.
41170
41171 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41172
41173 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41174
41175 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41176
41177 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41178
41179 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41180
41181 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41182
41183 2009-01-30 Christian Franke <franke@computer.org>
41184
41185 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41186 in option help text.
41187
41188 2009-01-27 Pavel Roskin <proski@gnu.org>
41189
41190 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41191
41192 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41193
41194 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41195
41196 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41197
41198 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41199 unregister function.
41200
41201 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41202
41203 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41204
41205 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41206
41207 * util/grub-mkfont.c (usage): Fix typo.
41208
41209 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41210
41211 2009-01-26 Daniel Mierswa <impulze@impulze.org>
41212
41213 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41214
41215 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41216
41217 * kern/misc.c (grub_strcasecmp): New function.
41218 (grub_strcasecmp): Use grub_size_t instead of int for length.
41219 Fix return value.
41220 * include/grub/misc.h: Update function prototypes.
41221
41222 2009-01-26 Robert Millan <rmh@aybabtu.com>
41223
41224 * configure.ac: Fix cross-compilation check.
41225
41226 2009-01-22 Christian Franke <franke@computer.org>
41227
41228 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41229 (precision) digit string. Allow `.format2' without `format1' (width).
41230 Limit input chars for `%s' output to `format2' if specified. This is
41231 compatible with standard printf ().
41232
41233 2009-01-22 Christian Franke <franke@computer.org>
41234
41235 * disk/ata.c (grub_ata_wait_status): Replace by ...
41236 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41237 other status bits may be invalid while BSY is asserted.
41238 (grub_ata_check_ready): New function.
41239 (grub_ata_cmd): Removed.
41240 (grub_ata_wait_drq): New function.
41241 (grub_ata_strncpy): Remove inline.
41242 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41243 and error check now done by grub_ata_wait_drq ().
41244 (grub_ata_pio_write): Likewise.
41245 (grub_atapi_identify): Set DEV before check for !BSY. Use
41246 grub_ata_wait_drq () to wait for data.
41247 (grub_ata_device_initialize): Add status register check to
41248 detect missing SATA slave devices. Add debug messages.
41249 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41250 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41251 transfer loop by grub_ata_pio_write ().
41252 (grub_ata_identify): Set DEV before check for !BSY. Use
41253 grub_ata_wait_drq () to wait for data.
41254 (grub_ata_setaddress): Set DEV before check for !BSY.
41255 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41256 read/write in one loop. Fix invalid command on write. Fix incomplete
41257 command on (size % batch) == 0. Add missing error check after write of
41258 last block. Add debug messages.
41259 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41260
41261 2009-01-19 Christian Franke <franke@computer.org>
41262
41263 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41264 (GRUB_ATAPI_IREASON_*): Likewise.
41265 (grub_ata_pio_write): Fix timeout error return.
41266 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41267 (grub_atapi_wait_drq): New function.
41268 (grub_atapi_packet): New parameter `size'.
41269 Use grub_atapi_wait_drq () and direct write instead of
41270 grub_ata_pio_write ().
41271 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41272 reads the number of bytes requested by the device for each DRQ
41273 assertion.
41274 (grub_atapi_write): Remove old implementation, return not
41275 implemented instead.
41276
41277 2009-01-19 Christian Franke <franke@computer.org>
41278
41279 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41280 of 512 to calculate data size.
41281 (grub_scsi_read12): Likewise.
41282 (grub_scsi_write10): Likewise.
41283 (grub_scsi_write12): Likewise.
41284 (grub_scsi_read): Adjust size according to blocksize.
41285 Add checks for invalid blocksize and unaligned transfer.
41286
41287 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41288
41289 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41290
41291 * term/gfxterm.c (write_char): Fix background rendering for wide
41292 width glyphs.
41293
41294 2009-01-19 Robert Millan <rmh@aybabtu.com>
41295
41296 * config.guess: Update to latest version from config git.
41297 * config.sub: Likewise.
41298
41299 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
41300
41301 * Makefile.in: Change font compilation to use new grub-mkfont instead
41302 of java version.
41303
41304 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41305 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41306 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41307 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41308 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41309 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41310 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41311 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41312 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41313
41314 2009-01-16 Christian Franke <franke@computer.org>
41315
41316 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41317 (enum grub_ata_timeout_milliseconds): New enum.
41318 (grub_ata_wait_status): Add parameter milliseconds.
41319 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41320 recovery from timed-out commands.
41321 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41322 return grub_errno instead of REG_ERROR.
41323 (grub_ata_pio_write): Add parameter milliseconds.
41324 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41325 Pass milliseconds to grub_ata_wait_status () and
41326 grub_ata_pio_read ().
41327 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41328 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41329 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41330 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41331 It is not suitable for device detection, because DEV bit is ignored,
41332 the command may run too long, and not all devices set the signature
41333 properly.
41334 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41335 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41336 Fix device selection, DEV bit must be set first to address the registers
41337 of the correct device.
41338 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41339 grub_ata_pio_read/write ().
41340 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41341 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41342
41343 2009-01-13 Carles Pina i Estany <carles@pina.cat>
41344
41345 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41346
41347 2009-01-13 Bean <bean123ch@gmail.com>
41348
41349 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41350
41351 2009-01-13 Bean <bean123ch@gmail.com>
41352
41353 * Makefile.in: (enable_grub_mkfont): New variable.
41354 (freetype_cflags): Likewise.
41355 (freetype_libs): Likewise.
41356
41357 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41358 (grub_mkfont_SOURCES): New variable.
41359 (grub_mkfont_CFLAGS): Likewise.
41360 (grub_mkfont_LDFLAGS): Likewise.
41361
41362 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41363 library if `--enable-grub-mkfont' is requested.
41364 (enable_grub_mkfont): New variable.
41365 (freetype_cflags): Likewise.
41366 (freetype_libs): Likewise.
41367
41368 * util/grub-mkfont.c: New file.
41369
41370 2009-01-12 Christian Franke <franke@computer.org>
41371
41372 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41373 mode check. Fix setting of compat_use[].
41374
41375 2009-01-10 Robert Millan <rmh@aybabtu.com>
41376
41377 Update a few copyright years which we forgot to do in 2008 (only for
41378 files whose changes made in 2008 were copyright-significant)
41379
41380 * Makefile.in: Add 2008 to Copyright line.
41381 * disk/ieee1275/ofdisk.c: Likewise.
41382 * disk/efi/efidisk.c: Likewise.
41383 * kern/dl.c: Likewise.
41384 * kern/sparc64/ieee1275/init.c: Likewise.
41385 * kern/mm.c: Likewise.
41386 * kern/efi/mm.c: Likewise.
41387 * boot/i386/pc/boot.S: Likewise.
41388 * genfslist.sh: Likewise.
41389 * fs/iso9660.c: Likewise.
41390 * fs/hfs.c: Likewise.
41391 * fs/jfs.c: Likewise.
41392 * fs/minix.c: Likewise.
41393 * fs/ufs.c: Likewise.
41394 * gensymlist.sh.in: Likewise.
41395 * genkernsyms.sh.in: Likewise.
41396 * include/grub/misc.h: Likewise.
41397 * include/grub/types.h: Likewise.
41398 * include/grub/symbol.h: Likewise.
41399 * include/grub/elf.h: Likewise.
41400 * include/grub/kernel.h: Likewise.
41401 * include/grub/disk.h: Likewise.
41402 * include/grub/dl.h: Likewise.
41403 * include/grub/i386/linux.h: Likewise.
41404 * include/grub/i386/pc/biosdisk.h: Likewise.
41405 * include/grub/efi/api.h: Likewise.
41406 * include/grub/efi/pe32.h: Likewise.
41407 * include/grub/util/misc.h: Likewise.
41408 * normal/execute.c: Likewise.
41409 * normal/arg.c: Likewise.
41410 * normal/completion.c: Likewise.
41411 * normal/lexer.c: Likewise.
41412 * normal/parser.y: Likewise.
41413 * normal/misc.c: Likewise.
41414 * commands/i386/pc/vbeinfo.c: Likewise.
41415 * commands/hexdump.c: Likewise.
41416 * commands/terminal.c: Likewise.
41417 * commands/ls.c: Likewise.
41418 * commands/help.c: Likewise.
41419 * partmap/pc.c: Likewise.
41420 * loader/efi/chainloader.c: Likewise.
41421 * loader/multiboot_loader.c: Likewise.
41422 * loader/i386/pc/multiboot2.c: Likewise.
41423 * term/efi/console.c: Likewise.
41424 * term/i386/pc/serial.c: Likewise.
41425 * util/lvm.c: Likewise.
41426 * util/console.c: Likewise.
41427 * util/i386/efi/grub-mkimage.c: Likewise.
41428 * util/raid.c: Likewise.
41429
41430 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41431
41432 * commands/videotest.c: Removed include to grub/machine/memory.h.
41433
41434 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41435 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41436 (video_mod_SOURCES): Removed.
41437 (video_mod_CFLAGS): Likewise.
41438 (video_mod_LDFLAGS): Likewise.
41439 (gfxterm_mod_SOURCES): Likewise.
41440 (gfxterm_mod_CFLAGS): Likewise.
41441 (gfxterm_mod_LDFLAGS): Likewise.
41442 (videotest_mod_SOURCES): Likewise.
41443 (videotest_mod_CFLAGS): Likewise.
41444 (videotest_mod_LDFLAGS): Likewise.
41445 (bitmap_mod_SOURCES): Likewise.
41446 (bitmap_mod_CFLAGS): Likewise.
41447 (bitmap_mod_LDFLAGS): Likewise.
41448 (tga_mod_SOURCES): Likewise.
41449 (tga_mod_CFLAGS): Likewise.
41450 (tga_mod_LDFLAGS): Likewise.
41451 (jpeg_mod_SOURCES): Likewise.
41452 (jpeg_mod_CFLAGS): Likewise.
41453 (jpeg_mod_LDFLAGS): Likewise.
41454 (png_mod_SOURCES): Likewise.
41455 (png_mod_CFLAGS): Likewise.
41456 (png_mod_LDFLAGS): Likewise.
41457
41458 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41459 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41460 (video_mod_SOURCES): Added.
41461 (video_mod_CFLAGS): Likewise.
41462 (video_mod_LDFLAGS): Likewise.
41463 (videotest_mod_SOURCES): Likewise.
41464 (videotest_mod_CFLAGS): Likewise.
41465 (videotest_mod_LDFLAGS): Likewise.
41466 (bitmap_mod_SOURCES): Likewise.
41467 (bitmap_mod_CFLAGS): Likewise.
41468 (bitmap_mod_LDFLAGS): Likewise.
41469 (tga_mod_SOURCES): Likewise.
41470 (tga_mod_CFLAGS): Likewise.
41471 (tga_mod_LDFLAGS): Likewise.
41472 (jpeg_mod_SOURCES): Likewise.
41473 (jpeg_mod_CFLAGS): Likewise.
41474 (jpeg_mod_LDFLAGS): Likewise.
41475 (png_mod_SOURCES): Likewise.
41476 (png_mod_CFLAGS): Likewise.
41477 (png_mod_LDFLAGS): Likewise.
41478 (gfxterm_mod_SOURCES): Likewise.
41479 (gfxterm_mod_CFLAGS): Likewise.
41480 (gfxterm_mod_LDFLAGS): Likewise.
41481
41482 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41483 grub/machine/console.h.
41484
41485 2009-01-04 Jerone Young <jerone@gmail.com>
41486
41487 Make on screen instructions clearer
41488
41489 Based on patch created by Jidanni <jidanni@jidanni.org>
41490
41491 * normal/menu.c: print clearer instructions on the screen
41492
41493 2009-01-02 Colin D Bennett <colin@gibibit.com>
41494
41495 New font engine.
41496
41497 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41498 build system and fixed gfxterm.c to work with different sized fonts.
41499
41500 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
41501
41502 * configure: Re-generated.
41503
41504 * DISTLIST: Removed font/manager.c.
41505 Added font/font.c.
41506 Added font/font_cmd.c.
41507
41508 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41509 compilation.
41510
41511 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
41512
41513 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
41514
41515 * kern/term.c: Changed users of grub_utf8_to_ucs4.
41516
41517 * normal/menu.c: Likewise.
41518
41519 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41520 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
41521
41522 * include/grub/font.h: Replaced with new file.
41523
41524 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41525 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41526 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41527 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41528 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
41529 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
41530 fg_red, fg_green, fg_blue, fg_alpha.
41531 (grub_video_adapter): Removed blit_glyph.
41532 (grub_video_blit_glyph): Removed.
41533
41534 * font/manager.c: Removed file.
41535
41536 * font/font.c: New file.
41537
41538 * font/font_cmd.c: Likewise.
41539
41540 * video/video.c (grub_video_blit_glyph): Removed.
41541
41542 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41543 (grub_video_vbe_map_rgba): Likewise.
41544 (grub_video_vbe_unmap_color_int): Likewise.
41545 (grub_video_vbe_blit_glyph): Removed.
41546 (grub_video_vbe_adapter): Removed blit_glyph.
41547
41548 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41549 (get_pixel): Likewise.
41550 (set_pixel): Likewise.
41551
41552 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
41553
41554 * term/gfxterm.c: Adapted to new font engine.
41555
41556 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
41557
41558 * term/i386/pc/vga.c: Likewise.
41559
41560 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
41561
41562 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41563
41564 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41565
41566 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41567
41568 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41569
41570 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41571
41572 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41573
41574 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41575
41576 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41577
41578 * util/grub.d/00_header.in: Changed to use new loadfont command.
41579
41580 * util/grub-mkconfig_lib.in: Changed font extension.
41581
41582 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
41583
41584 * util/getroot.c (grub_util_get_grub_dev): Add support for
41585 /dev/md/dNNpNN style partitionable mdraid devices.
41586
41587 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
41588
41589 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41590 at a time limit of the PXE TFTP API correctly.
41591 (grub_pxefs_close): Likewise.
41592
41593 2008-11-29 Robert Millan <rmh@aybabtu.com>
41594
41595 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
41596 grub_ata_device_initialize() calls.
41597
41598 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
41599
41600 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41601 iteration failed.
41602 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41603
41604 2008-11-28 Robert Millan <rmh@aybabtu.com>
41605
41606 Fix build on powerpc-ieee1275. Based on patch created by
41607 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41608 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41609 `kern/ieee1275/mmap.c'.
41610 * include/grub/powerpc/ieee1275/memory.h: New file.
41611
41612 Provide grub-install on coreboot.
41613 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41614 (grub_install_SOURCES): New variable.
41615 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41616 usable on coreboot.
41617
41618 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
41619
41620 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41621 to `grub_term_input_t'.
41622 (grub_term_get_current_output): Change return type to
41623 `grub_term_output_t'.
41624
41625 2008-11-22 Robert Millan <rmh@aybabtu.com>
41626
41627 Fix breakage on coreboot due to declaration mismatch.
41628 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41629 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41630 grub_vga_text_cls().
41631
41632 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
41633 comments. Avoid copying one more byte than necessary (just in case).
41634
41635 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41636 to 0x200000 (avoids trouble with some OFW implementations, and matches
41637 with the one in Yaboot).
41638 Reported by Manoel Abranches
41639
41640 2008-11-20 Robert Millan <rmh@aybabtu.com>
41641
41642 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41643 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41644
41645 * util/grub-mkconfig_lib.in (grub_warn): New function.
41646 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41647 warnings, to obtain consistent formatting.
41648 * util/grub.d/00_header.in: Likewise.
41649 * util/update-grub_lib.in: Likewise.
41650
41651 * loader/i386/linux.c (allocate_pages): Fix a warning.
41652 Move comment text to `#error' stanza.
41653
41654 Harmonize ieee1275's grub_available_iterate() with the generic
41655 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41656 build problem on i386-ieee1275):
41657 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41658 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41659 parameter `type'. Update all users of this function.
41660 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41661 `kern/ieee1275/mmap.c'.
41662 * kern/ieee1275/init.c
41663 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41664 with ...
41665 (grub_machine_mmap_iterate): ... this.
41666 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41667 return type to `grub_err_t'. Update all implementations of this
41668 function prototype.
41669 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41670 Likewise.
41671
41672 Add `lsmmap' command (lists firmware-provided memory map):
41673 * commands/lsmmap.c: New file.
41674 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41675 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41676 variables.
41677 * conf/powerpc-ieee1275.rmk: Likewise.
41678 * conf/i386-coreboot.rmk: Likewise.
41679 * conf/i386-ieee1275.rmk: Likewise.
41680
41681 2008-11-19 Robert Millan <rmh@aybabtu.com>
41682
41683 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
41684 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41685 constraints to initrd allocation (based on code from
41686 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41687 for Linux to find it.
41688
41689 2008-11-14 Robert Millan <rmh@aybabtu.com>
41690
41691 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41692 order to cope with duplicate slashes.
41693
41694 2008-11-14 Robert Millan <rmh@aybabtu.com>
41695
41696 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41697 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41698 don't want to mess with lower memory, because it is used in the Linux
41699 loader.
41700
41701 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
41702 an appropriate place in lower memory, between 0x10000 and 0x90000,
41703 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41704 is in our heap (probably as a result of it being corrupted during
41705 decompression). Add #error instance with comment to explain why this
41706 loader isn't currently usable on PC/BIOS.
41707
41708 2008-11-14 Robert Millan <rmh@aybabtu.com>
41709
41710 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
41711 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
41712
41713 2008-11-12 Robert Millan <rmh@aybabtu.com>
41714
41715 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41716
41717 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41718 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41719 from here ...
41720 * include/grub/i386/pc/memory.h: ... to here.
41721
41722 2008-11-12 Robert Millan <rmh@aybabtu.com>
41723
41724 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41725 split).
41726
41727 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41728 (grub_console_cur_color, grub_console_real_putchar)
41729 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41730 (grub_console_setcolorstate, grub_console_setcolor)
41731 (grub_console_getcolor): Move from here ...
41732 * include/grub/i386/vga_common.h: ... to here (new file).
41733
41734 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41735 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41736 `<grub/i386/io.h>'.
41737 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41738 `<grub/i386/vga_common.h>'.
41739
41740 2008-11-12 Robert Millan <rmh@aybabtu.com>
41741
41742 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41743 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41744 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41745 variables.
41746 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41747 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41748
41749 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41750 grub_console_init() with call to grub_vga_text_init().
41751 (grub_machine_fini): Replace call to
41752 grub_console_fini() with call to grub_vga_text_fini() and
41753 grub_at_keyboard_fini().
41754
41755 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41756 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41757 (grub_console_setcolorstate, grub_console_setcolor)
41758 (grub_console_getcolor): New function prototypes.
41759
41760 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41761 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41762 (grub_vga_text_setcursor): Static-ize.
41763 (grub_vga_text_term): New structure.
41764 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41765
41766 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41767 (grub_console_cur_color, grub_console_standard_color)
41768 (grub_console_normal_color, grub_console_highlight_color)
41769 (map_char, grub_console_putchar, grub_console_getcharwidth)
41770 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41771 (grub_console_getcolor): Move from here ...
41772 * term/i386/vga_common.c: ... to here (same function names).
41773
41774 2008-11-12 Robert Millan <rmh@aybabtu.com>
41775
41776 Use newly-added Multiboot support in coreboot.
41777
41778 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41779 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41780
41781 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41782 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41783 (codestart): Store the MBI in `startup_multiboot_info' when we're
41784 being loaded using Multiboot.
41785
41786 * kern/i386/coreboot/init.c (grub_machine_init): Move
41787 grub_at_keyboard_init() call to beginning of function (useful for
41788 debugging). Call grub_machine_mmap_init() before attempting to use
41789 grub_machine_mmap_iterate().
41790 (grub_lower_mem, grub_upper_mem): Move from here ...
41791 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41792 here (new file).
41793
41794 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41795 function prototype.
41796
41797 2008-11-12 Robert Millan <rmh@aybabtu.com>
41798
41799 Fix a regression introduced by the at_keyboard.mod split. Because
41800 some terminals are default on some platforms and non-default on
41801 others, the first terminal being registered determines which is
41802 going to be default.
41803
41804 * kern/term.c (grub_term_register_input): If this is the first
41805 terminal being registered, set it as the current one.
41806 (grub_term_register_output): Likewise.
41807
41808 * term/efi/console.c (grub_console_init): Do not call
41809 grub_term_set_current_output() or grub_term_set_current_input().
41810 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41811 * term/i386/pc/console.c (grub_console_init): Likewise.
41812 (grub_console_fini): Do not call grub_term_set_current_input()
41813 (but leave grub_term_set_current_output() to restore text mode).
41814
41815 2008-11-10 Robert Millan <rmh@aybabtu.com>
41816
41817 * util/grub.d/00_header.in: Add backward compatibility check for
41818 versions of terminal.mod that don't understand `terminal_input' or
41819 `terminal_output'.
41820
41821 2008-11-09 Robert Millan <rmh@aybabtu.com>
41822
41823 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41824 `terminal_input' / `terminal_output', not `terminal'.
41825
41826 2008-11-08 Robert Millan <rmh@aybabtu.com>
41827
41828 * Makefile.in (include_DATA): Fix srcdir=. assumption.
41829 (DISTCLEANFILES): Add `build_env.mk'.
41830
41831 2008-11-08 Robert Millan <rmh@aybabtu.com>
41832
41833 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
41834 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41835 members. Update all users.
41836 * util/console.c (grub_ncurses_term): Split in ...
41837 (grub_ncurses_term_input): ... this, and ...
41838 (grub_ncurses_term_output): ... this. Update all users.
41839 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
41840
41841 2008-11-08 Robert Millan <rmh@aybabtu.com>
41842
41843 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41844 (PKGDATA): Add $(pkgdata_SRCDIR).
41845 (pkglib_BUILDDIR): New variable.
41846 (pkgdata_SRCDIR): New variable.
41847 (build_env.mk): New target.
41848 (include_DATA): New variable.
41849 (install-local): Install $(include_DATA) files in $(includedir).
41850
41851 2008-11-07 Pavel Roskin <proski@gnu.org>
41852
41853 * gendistlist.sh: Use C locale for sorting to ensure consistent
41854 output on all systems.
41855
41856 * util/grub.d/00_header.in: Remove incorrect space before
41857 "serial".
41858
41859 2008-11-07 Robert Millan <rmh@aybabtu.com>
41860
41861 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41862 per specification.
41863 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41864 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41865 (based on find_multi_boot1_header).
41866 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41867 using find_multi_boot2_header(), and abort if neither Multiboot or
41868 Multiboot headers were found.
41869
41870 2008-11-07 Robert Millan <rmh@aybabtu.com>
41871
41872 Modularize at_keyboard.mod:
41873
41874 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41875 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41876 (at_keyboard_mod_LDFLAGS): New variables.
41877
41878 Actual terminal split:
41879
41880 * include/grub/term.h (struct grub_term): Split in ...
41881 (struct grub_term_input): ... this, and ...
41882 (struct grub_term_output): ... this. Update all users.
41883 (grub_term_set_current): Split in ...
41884 (grub_term_set_current_input): ... this, and ...
41885 (grub_term_set_current_output): ... this.
41886 (grub_term_get_current): Split in ...
41887 (grub_term_get_current_input): ... this, and ...
41888 (grub_term_get_current_output): ... this.
41889 (grub_term_register): Split in ...
41890 (grub_term_register_input): ... this, and ...
41891 (grub_term_register_output): ... this.
41892 (grub_term_unregister): Split in ...
41893 (grub_term_unregister_input): ... this, and ...
41894 (grub_term_unregister_output): ... this.
41895 (grub_term_iterate): Split in ...
41896 (grub_term_iterate_input): ... this, and ...
41897 (grub_term_iterate_output): ... this.
41898
41899 * kern/term.c (grub_term_list): Split in ...
41900 (grub_term_list_input): ... this, and ...
41901 (grub_term_list_output): ... this. Update all users.
41902 (grub_cur_term): Split in ...
41903 (grub_cur_term_input): ... this, and ...
41904 (grub_cur_term_output): ... this. Update all users.
41905 (grub_term_set_current): Split in ...
41906 (grub_term_set_current_input): ... this, and ...
41907 (grub_term_set_current_output): ... this.
41908 (grub_term_get_current): Split in ...
41909 (grub_term_get_current_input): ... this, and ...
41910 (grub_term_get_current_output): ... this.
41911 (grub_term_register): Split in ...
41912 (grub_term_register_input): ... this, and ...
41913 (grub_term_register_output): ... this.
41914 (grub_term_unregister): Split in ...
41915 (grub_term_unregister_input): ... this, and ...
41916 (grub_term_unregister_output): ... this.
41917 (grub_term_iterate): Split in ...
41918 (grub_term_iterate_input): ... this, and ...
41919 (grub_term_iterate_output): ... this.
41920
41921 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41922 a check for input and one for output (and only attempt to get keys
41923 from user when input works).
41924
41925 * util/grub-probe.c (grub_term_get_current): Split in ...
41926 (grub_term_get_current_input): ... this, and ...
41927 (grub_term_get_current_output): ... this.
41928 * util/grub-fstest.c: Likewise.
41929 * util/i386/pc/grub-setup.c: Likewise.
41930 * util/grub-editenv.c: Likewise.
41931
41932 Portability adjustments:
41933
41934 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41935 `term/i386/pc/at_keyboard.c'.
41936 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41937 grub_keyboard_controller_init() (now handled by terminal .init).
41938 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41939 grub_at_keyboard_init().
41940 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41941 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41942 at_keyboard.mod via input terminal interface).
41943 * include/grub/i386/coreboot/console.h: Convert into a stub for
41944 `<grub/i386/pc/console.h>'.
41945
41946 Migrate full terminals to new API:
41947
41948 * term/efi/console.c (grub_console_term): Split into ...
41949 (grub_console_term_input): ... this, and ...
41950 (grub_console_term_output): ... this. Update all users.
41951 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41952 (grub_ofconsole_init): Split into ...
41953 (grub_ofconsole_init_input): ... this, and ...
41954 (grub_ofconsole_init_output): ... this.
41955 (grub_ofconsole_term): Split into ...
41956 (grub_ofconsole_term_input): ... this, and ...
41957 (grub_ofconsole_term_output): ... this. Update all users.
41958 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41959 (grub_serial_term_input): ... this, and ...
41960 (grub_serial_term_output): ... this. Update all users.
41961 * term/i386/pc/console.c (grub_console_term): Split into ...
41962 (grub_console_term_input): ... this, and ...
41963 (grub_console_term_output): ... this. Update all users.
41964 (grub_console_term_input): Only enable it on PC/BIOS platform.
41965 (grub_console_init): Remove grub_keyboard_controller_init() call.
41966
41967 Migrate input terminals to new API:
41968
41969 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41970 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41971 i386-specific anyway).
41972 (grub_console_checkkey): Rename to ...
41973 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41974 users.
41975 (grub_keyboard_controller_orig): New variable.
41976 (grub_console_getkey): Rename to ...
41977 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41978 users.
41979 (grub_keyboard_controller_init): Static-ize. Save original
41980 controller value so that it can be restored ...
41981 (grub_keyboard_controller_fini): ... here (new function).
41982 (grub_at_keyboard_term): New structure.
41983 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41984 functions.
41985
41986 Migrate output terminals to new API:
41987
41988 * term/i386/pc/vga.c (grub_vga_term): Change type to
41989 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41990 members. Update all users.
41991 * term/gfxterm.c (grub_video_term): Change type to
41992 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41993 members. Update all users.
41994 * include/grub/i386/pc/console.h (grub_console_checkkey)
41995 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41996 etc).
41997
41998 Migrate `terminal' command and userland tools to new API:
41999
42000 * commands/terminal.c (grub_cmd_terminal): Split into ...
42001 (grub_cmd_terminal_input): ... this, and ...
42002 (grub_cmd_terminal_output): ... this.
42003 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
42004 `terminal_input' and `terminal_output'.
42005 * util/grub.d/00_header.in: Adjust `terminal' calls to new
42006 `terminal_input' / `terminal_output' API.
42007 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
42008 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
42009 provided ${GRUB_TERMINAL}, convert it).
42010
42011 2008-11-04 Robert Millan <rmh@aybabtu.com>
42012
42013 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
42014 for FreeBSD.
42015 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
42016
42017 2008-11-03 Bean <bean123ch@gmail.com>
42018
42019 * kern/elf.c (grub_elf32_load): Revert to previous code.
42020 (grub_elf64_load): Likewise.
42021
42022 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
42023
42024 2008-11-01 Robert Millan <rmh@aybabtu.com>
42025
42026 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
42027 (TARGET_CPPFLAGS): Likewise.
42028 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
42029
42030 2008-11-01 Carles Pina i Estany <carles@pina.cat>
42031
42032 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
42033
42034 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
42035
42036 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
42037 addition of objects until the code is not going to be able to fail.
42038
42039 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
42040
42041 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
42042 (add a missing NULL check, and correct them by moving the pointer
42043 operations after the actual check).
42044
42045 2008-10-29 Robert Millan <rmh@aybabtu.com>
42046
42047 * util/i386/pc/grub-install.in: Handle empty string as output from
42048 make_system_path_relative_to_its_root().
42049
42050 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
42051
42052 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
42053 circular metadata worst case scenario. If the metadata is circular
42054 then copy the wrap in place.
42055 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
42056 project lib/format_text/layout.h
42057 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
42058
42059 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42060
42061 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
42062
42063 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42064
42065 * util/update-grub_lib.in: Mention filename in warning message.
42066
42067 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42068
42069 * NEWS: Update for rename of update-grub to grub-mkconfig.
42070
42071 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42072
42073 * util/update-grub_lib.in: Copy to ...
42074 * util/grub-mkconfig_lib.in: ... this. Update all users.
42075 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
42076 * util/update-grub.in: Rename to ...
42077 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
42078 option. Add `--output' option to allow users to specify the generated
42079 configuration file. Default to stdout.
42080 (update_grub_dir): Rename to ...
42081 (grub_mkconfig_dir): ... this.
42082 (grub_cfg): Default to an empty string.
42083 * conf/common.rmk (update-grub): Rename to ...
42084 (grub-mkconfig): ... this.
42085 (update-grub_lib): Copy to ...
42086 (grub-mkconfig_lib): ... this.
42087 (update-grub_SCRIPTS): Copy to ...
42088 (grub-mkconfig_SCRIPTS): ... this. Update all users.
42089 (update-grub_DATA): Rename to ...
42090 (grub-mkconfig_DATA): ... this.
42091
42092 2008-09-28 Robert Millan <rmh@aybabtu.com>
42093
42094 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
42095 to `modified'. Add the real `created' field.
42096 (grub_iso9660_uuid): Use `modified' rather than `created' for
42097 constructing the UUID.
42098
42099 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
42100
42101 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
42102 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
42103
42104 2008-09-28 Bean <bean123ch@gmail.com>
42105
42106 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
42107 Thanks to Christian Franke for finding this bug.
42108
42109 2008-09-25 Robert Millan <rmh@aybabtu.com>
42110
42111 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
42112 instances of grub_util_get_disk_name() (see previous commit).
42113
42114 2008-09-25 Robert Millan <rmh@aybabtu.com>
42115
42116 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
42117 `util/i386/get_disk_name.c'.
42118 * conf/i386-efi.rmk: Likewise.
42119 * conf/x86_64-efi.rmk: Likewise.
42120 * conf/i386-coreboot.rmk: Likewise.
42121 * conf/i386-ieee1275.rmk: Likewise.
42122 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
42123 `util/ieee1275/get_disk_name.c'.
42124 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
42125 * util/ieee1275/get_disk_name.c: Remove file.
42126 * util/i386/get_disk_name.c: Remove file.
42127 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
42128 "hd%d" for device.map entries, rather than using
42129 grub_util_get_disk_name().
42130
42131 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42132
42133 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
42134 warning.
42135 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42136
42137 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42138
42139 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42140 Changed to 0x5100.
42141 (GRUB_TERM_PPAGE): Changed to 0x4900.
42142
42143 2008-09-24 Robert Millan <rmh@aybabtu.com>
42144
42145 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42146 macros (they were i386-pc specific).
42147 * include/grub/sparc64/ieee1275/console.h: Likewise.
42148 * include/grub/efi/console.h: Likewise.
42149
42150 2008-09-22 Bean <bean123ch@gmail.com>
42151
42152 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42153 resident and in attribute list.
42154
42155 * include/grub/ntfs.h (BMP_LEN): Removed.
42156
42157 2008-09-22 Bean <bean123ch@gmail.com>
42158
42159 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
42160 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42161
42162 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42163 error occurs, as grub_disk_open will call grub_disk_close, which will
42164 call p->close (scsi).
42165
42166 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42167
42168 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42169 (AC_PREREQ): Bumped to 2.59.
42170 (AC_TRY_COMPILE): Replace obsolete macro with ...
42171 (AC_COMPILE_IFELSE): ... this.
42172 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42173 (AC_LINK_IFELSE): ... this.
42174
42175 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42176
42177 * autogen.sh: Add a call to `gendistlist.sh'.
42178
42179 2008-09-19 Christian Franke <franke@computer.org>
42180
42181 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42182 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42183 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42184 Export __enable_execute_stack() to modules.
42185 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42186 New function.
42187
42188 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42189
42190 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42191 Sort the list.
42192
42193 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42194
42195 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
42196 #include <grub/util/hostdisk.h>.
42197
42198 2008-09-08 Robert Millan <rmh@aybabtu.com>
42199
42200 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42201 segments when their filesz is zero (grub_file_read() interprets
42202 zero-size as "read until EOF", which results in memory corruption).
42203 Use `lowest_segment' rather than 0 for calculating the current
42204 segment load address.
42205
42206 2008-09-08 Robert Millan <rmh@aybabtu.com>
42207
42208 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42209 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42210 clobbered useful information.
42211
42212 2008-09-08 Robert Millan <rmh@aybabtu.com>
42213
42214 * include/grub/util/biosdisk.h: Move to ...
42215 * include/grub/util/hostdisk.h: ... here. Update all users.
42216 * util/biosdisk.c: Move to ...
42217 * util/hostdisk.c: ... here. Update all users.
42218
42219 2008-09-07 Robert Millan <rmh@aybabtu.com>
42220
42221 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42222 variables.
42223 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42224 and length can be stored directly in the `mbi->mmap_addr' and
42225 `mbi->mmap_length' struct fields.
42226
42227 2008-09-07 Robert Millan <rmh@aybabtu.com>
42228
42229 * conf/i386.rmk: New file. Provides declaration for building
42230 `cpuid.mod'.
42231 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42232 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42233 variables.
42234 Include `conf/i386.mk'.
42235 * conf/i386-efi.rmk: Likewise.
42236 * conf/x86_64-efi.rmk: Likewise.
42237 * conf/i386-coreboot.rmk: Likewise.
42238 * conf/i386-ieee1275.rmk: Likewise.
42239
42240 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42241
42242 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42243 Adds optimization support for BGR based modes.
42244
42245 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42246 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42247 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42248 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42249 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42250 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42251 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42252 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42253 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42254 (grub_video_i386_vbeblit_index_index): Likewise.
42255 (grub_video_i386_vbeblit_replace_directN): Added.
42256 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42257 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42258 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42259 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42260 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42261 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42262 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42263 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42264 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42265 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42266 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42267 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42268 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42269
42270 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42271 (grub_video_i386_vbefill_R8G8B8): Likewise.
42272 (grub_video_i386_vbefill_index): Likewise.
42273 (grub_video_i386_vbefill_direct32): Added.
42274 (grub_video_i386_vbefill_direct24): Likewise.
42275 (grub_video_i386_vbefill_direct16): Likewise.
42276 (grub_video_i386_vbefill_direct8): Likewise.
42277
42278 * include/grub/video.h (grub_video_blit_format): Removed
42279 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42280 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42281 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42282 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42283 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
42284
42285 * video/video.c (grub_video_get_blit_format): Updated to use new
42286 blit formats. Added handling for 16 bit color modes.
42287
42288 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
42289 fillers.
42290 (common_blitter): Updated to use new blitters.
42291
42292 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42293 Removed.
42294 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42295 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42296 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42297 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42298 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42299 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42300 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42301 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42302 (grub_video_i386_vbeblit_index_index): Likewise.
42303 (grub_video_i386_vbeblit_replace_directN): Added.
42304 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42305 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42306 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42307 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42308 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42309 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42310 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42311 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42312 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42313 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42314 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42315 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42316 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42317
42318 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42319 (grub_video_i386_vbefill_R8G8B8): Likewise.
42320 (grub_video_i386_vbefill_index): Likewise.
42321 (grub_video_i386_vbefill_direct32): Added.
42322 (grub_video_i386_vbefill_direct24): Likewise.
42323 (grub_video_i386_vbefill_direct16): Likewise.
42324 (grub_video_i386_vbefill_direct8): Likewise.
42325
42326 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42327 types.
42328
42329 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42330 types.
42331
42332 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42333 blitter types.
42334
42335 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42336 types.
42337
42338 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42339
42340 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42341 RAID level 1.
42342
42343 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42344
42345 * fs/iso9660.c (grub_iso9660_date): New structure.
42346 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42347 (grub_iso9660_uuid): New function.
42348
42349 2008-09-05 Bean <bean123ch@gmail.com>
42350
42351 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42352
42353 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42354 insensitive bit for names in Win32 and Win32 & DOS namespace.
42355
42356 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42357
42358 * include/grub/types.h (LONG_MAX): Likewise.
42359
42360 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42361
42362 * util/getroot.c: Include <config.h>.
42363 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42364 add support for /dev/md/N devices and handle LVM double dash escaping.
42365
42366 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42367
42368 * config.guess: Update to latest version from config git.
42369 * config.sub: Likewise.
42370
42371 2008-09-03 Robert Millan <rmh@aybabtu.com>
42372
42373 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42374 `disk->total_sectors'.
42375
42376 2008-09-01 Colin D Bennett <colin@gibibit.com>
42377
42378 * include/grub/normal.h: Fixed incorrect comment for
42379 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42380
42381 2008-09-01 Colin D Bennett <colin@gibibit.com>
42382
42383 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42384 values with defines.
42385
42386 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42387 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42388 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42389 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42390 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42391 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42392 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42393 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42394 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42395 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42396 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42397 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42398 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42399 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42400 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42401 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42402 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42403 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42404 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42405
42406 2008-08-31 Robert Millan <rmh@aybabtu.com>
42407
42408 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42409 declaration.
42410 (grub_multiboot): Fix a few warnings.
42411
42412 2008-08-31 Robert Millan <rmh@aybabtu.com>
42413
42414 * loader/i386/pc/multiboot.c: Update comment not to say that
42415 boot_device support is unimplemented.
42416
42417 2008-08-31 Robert Millan <rmh@aybabtu.com>
42418
42419 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42420 or memory map support are unimplemented.
42421
42422 2008-08-31 Colin D Bennett <colin@gibibit.com>
42423
42424 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42425
42426 2008-08-31 Colin D Bennett <colin@gibibit.com>
42427
42428 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42429 total video memory in 'vbeinfo' output; show color format details for
42430 each video mode.
42431
42432 2008-08-30 Pavel Roskin <proski@gnu.org>
42433
42434 * util/genmoddep.c: Remove for real this time.
42435 * DISTLIST: Remove util/genmoddep.c.
42436
42437 2008-08-30 Robert Millan <rmh@aybabtu.com>
42438
42439 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42440 as required by Multiboot spec (it was already 4-byte aligned, but
42441 only by chance).
42442
42443 2008-08-29 Pavel Roskin <proski@gnu.org>
42444
42445 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42446 * kern/powerpc/ieee1275/startup.S: ... this.
42447 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42448 * DISTLIST: Likewise.
42449
42450 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42451 grub/cpu/kernel.h. Add start label for consistency with other
42452 platforms. Add grub_prefix immediately after start. Add jump
42453 to the code after grub_prefix.
42454 * include/grub/powerpc/kernel.h: Provide valid values for
42455 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42456
42457 2008-08-29 Bean <bean123ch@gmail.com>
42458
42459 * configure.ac: Change host_os to cygwin for mingw.
42460 (asprintf): New check for function.
42461
42462 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42463 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42464
42465 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
42466 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
42467 sync, sleep and grub_util_get_disk_size for mingw.
42468
42469 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42470 to get size in mingw.
42471 (open_device): Use flag O_BINARY if it's defined.
42472 (find_root_device): Add dummy code for mingw.
42473
42474 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42475 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42476 (get_scsi_disk_name): Return 0 for mingw.
42477
42478 * util/hostfs.c: #include <grub/util/misc.h>.
42479 (grub_hostfs_open): Use "rb" flag to open file, use
42480 grub_util_get_disk_size to get disk size for mingw.
42481
42482 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42483 (asprintf): New function if HAVE_ASPRINTF is not set.
42484 (sync): New function for mingw.
42485 (sleep): Likewise.
42486 (grub_util_get_disk_size): Likewise.
42487
42488 2008-08-28 Pavel Roskin <proski@gnu.org>
42489
42490 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42491 kern/time.c.
42492
42493 2008-08-28 Robert Millan <rmh@aybabtu.com>
42494
42495 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42496
42497 2008-08-28 Robert Millan <rmh@aybabtu.com>
42498
42499 Change find_grub_drive() syntax so it doesn't prevent it from
42500 detecting NULL names as errors.
42501
42502 * util/biosdisk.c (find_grub_drive): Move free slot search code
42503 from here ...
42504 (find_free_slot): ... to here.
42505 (read_device_map): Use find_free_slot() to search for free slots.
42506
42507 2008-08-27 Marco Gerards <marco@gnu.org>
42508
42509 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42510 (scsi_mod_SOURCES): New variable.
42511 (scsi_mod_CFLAGS): Likewise
42512 (scsi_mod_LDFLAGS): Likewise.
42513
42514 * disk/scsi.c: New file.
42515
42516 * include/grub/scsi.h: Likewise.
42517
42518 * include/grub/scsicmd.h: Likewise.
42519
42520 * disk/ata.c: Include <grub/scsi.h>.
42521 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42522 instead.
42523 (grub_ata_iterate): Skip ATAPI devices.
42524 (grub_ata_open): Only handle ATAPI devices.
42525 (struct grub_atapi_read): Removed.
42526 (grub_atapi_readsector): Likewise.
42527 (grub_ata_read): No longer handle ATAPI devices.
42528 (grub_ata_write): Likewise.
42529 (grub_atapi_iterate): New function.
42530 (grub_atapi_read): Likewise.
42531 (grub_atapi_write): Likewise.
42532 (grub_atapi_open): Likewise.
42533 (grub_atapi_close): Likewise.
42534 (grub_atapi_dev): New variable.
42535 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42536 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42537
42538 * include/grub/disk.h (enum grub_disk_dev_id): Add
42539 `GRUB_DISK_DEVICE_SCSI_ID'.
42540
42541 2008-08-26 Robert Millan <rmh@aybabtu.com>
42542
42543 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42544 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42545 descriptive.
42546
42547 2008-08-23 Bean <bean123ch@gmail.com>
42548
42549 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42550 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42551 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42552 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42553 dm_nv.mod.
42554 (raid5rec_mod_SOURCES): New macro.
42555 (raid5rec_mod_CFLAGS): Likewise.
42556 (raid5rec_mod_LDFLAGS): Likewise.
42557 (raid6rec_mod_SOURCES): Likewise.
42558 (raid6rec_mod_CFLAGS): Likewise.
42559 (raid6rec_mod_LDFLAGS): Likewise.
42560 (mdraid_mod_SOURCES): Likewise.
42561 (mdraid_mod_CFLAGS): Likewise.
42562 (mdraid_mod_LDFLAGS): Likewise.
42563 (dm_nv_mod_SOURCES): Likewise.
42564 (dm_nv_mod_CFLAGS): Likewise.
42565 (dm_nv_mod_LDFLAGS): Likewise.
42566
42567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42568 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42569 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42570
42571 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42572 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42573
42574 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42575
42576 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42577
42578 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42579
42580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42581
42582 * disk/raid5_recover.c: New file.
42583
42584 * disk/raid6_recover.c: Likewise.
42585
42586 * disk/mdraid_linux.c: Likewise.
42587
42588 * disk/dmraid_nvidia.c: Likewise.
42589
42590 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42591 ULONG_MAX.
42592
42593 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42594 calculate the size of raid device.
42595 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42596 different layout of raid5.
42597 (grub_raid_scan_device): Remove code specific to mdraid.
42598 (grub_raid_list): New variable.
42599 (free_array): New function.
42600 (grub_raid_register): Likewise.
42601 (grub_raid_unregister): Likewise.
42602 (grub_raid_rescan): Likewise.
42603 (GRUB_MOD_INIT): Don't iterate device here.
42604 (GRUB_MOD_FINI): Use free_array to release resource.
42605
42606 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42607 (grub_raid5_recover_func_t): New function variable type.
42608 (grub_raid6_recover_func_t): Likewise.
42609 (grub_raid5_recover_func): New variable.
42610 (grub_raid6_recover_func): Likewise.
42611 (grub_raid_register): New function.
42612 (grub_raid_unregister): Likewise.
42613 (grub_raid_rescan): Likewise.
42614 (grub_raid_block_xor): Likewise.
42615
42616 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42617 (CMD_CRC): New macro.
42618 (part): Removed.
42619 (read_file): Handle device as well as file.
42620 (cmd_crc): New function.
42621 (fstest): Handle multiple disks.
42622 (options): Remove part, raw and long, add root and diskcount.
42623 (usage): Add crc, remove -p, -r, -l, add -r and -c.
42624 (main): Find the first non option entry and ignore subsequent options,
42625 add handling for the new options, support multiple disks.
42626
42627 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42628
42629 2008-08-23 Bean <bean123ch@gmail.com>
42630
42631 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42632
42633 * genfslist.sh: Ignore kernel.mod.
42634
42635 * genpartmaplist.sh: Likewise.
42636
42637 2008-08-23 Robert Millan <rmh@aybabtu.com>
42638
42639 * util/getroot.c (find_root_device): Skip anything that starts with
42640 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42641
42642 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
42643
42644 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42645 * util/grub.d/00_header.in: Allow the administrator to change default
42646 gfxmode via ${GRUB_GFXMODE}.
42647
42648 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
42649
42650 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42651
42652 2008-08-21 Robert Millan <rmh@aybabtu.com>
42653
42654 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42655 loader.
42656 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42657 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42658
42659 2008-08-20 Carles Pina i Estany <carles@pina.cat>
42660
42661 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42662 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42663
42664 2008-08-19 Robert Millan <rmh@aybabtu.com>
42665
42666 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42667 (struct grub_virtual_screen): Remove `cursor_color'.
42668 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42669 initialization.
42670 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42671
42672 2008-08-18 Robert Millan <rmh@aybabtu.com>
42673
42674 Unify (identical) linux_normal.c files.
42675 * loader/i386/efi/linux_normal.c: Move from here ...
42676 * loader/linux_normal.c: ... to here. Update all users.
42677 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42678 * loader/i386/ieee1275/linux_normal.c: Likewise.
42679
42680 2008-08-18 Robert Millan <rmh@aybabtu.com>
42681
42682 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42683 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42684 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42685 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42686 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42687 New macros.
42688 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42689 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42690 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42691 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42692 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42693 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42694 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42695 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42696 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42697 portably using grub_getxy().
42698 Replace `-EFI' with `-bzImage' in boot message.
42699
42700 2008-08-17 Robert Millan <rmh@aybabtu.com>
42701
42702 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42703
42704 2008-08-17 Robert Millan <rmh@aybabtu.com>
42705
42706 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42707
42708 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42709 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42710 (grub_machine_mmap_iterate): New function declaration.
42711 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42712 structure.
42713 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42714 macros.
42715
42716 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42717 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42718 Move e820 parsing from here ...
42719 * kern/i386/pc/mmap.c: New file.
42720 (grub_machine_mmap_iterate): ... to here.
42721
42722 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42723 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42724 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42725 (grub_available_iterate): Redeclare to return `void', and redeclare
42726 its hook to use grub_uint64_t as addr and size parameters, and rename
42727 to ...
42728 (grub_machine_mmap_iterate): ... this. Update all users.
42729
42730 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42731 to make it more readable. Rename to ...
42732 (grub_machine_mmap_iterate): ... this.
42733
42734 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42735 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42736 (grub_multiboot): Allocate an extra region after the payload, and fill
42737 it with a Multiboot memory map. Adjust a.out loader to calculate size
42738 with the extra space.
42739 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42740 with the extra space.
42741
42742 2008-08-17 Carles Pina i Estany <carles@pina.cat>
42743
42744 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
42745
42746 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
42747
42748 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42749 mdate-sh to the list `find' searches for.
42750 * DISTLIST: Regenerated.
42751
42752 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
42753
42754 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42755 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
42756 genmoddep.awk, gensymlist.sh.in.
42757 (DISTDIRS): Add bus, docs, hook, lib.
42758 * DISTLIST: Regenerated.
42759 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
42760
42761 2008-08-16 Robert Millan <rmh@aybabtu.com>
42762
42763 * disk/raid.c (grub_raid_init): Handle/report errors set by
42764 grub_device_iterate().
42765 * disk/lvm.c (grub_lvm_init): Likewise.
42766
42767 2008-08-15 Bean <bean123ch@gmail.com>
42768
42769 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42770 and datehook.mod.
42771 (datetime_mod_SOURCES): New macro.
42772 (datetime_mod_CFLAGS): Likewise.
42773 (datetime_mod_LDFLAGS): Likewise.
42774 (date_mod_SOURCES): Likewise.
42775 (date_mod_CFLAGS): Likewise.
42776 (date_mod_LDFLAGS): Likewise.
42777 (datehook_mod_SOURCES): Likewise.
42778 (datehook_mod_CFLAGS): Likewise.
42779 (datehook_mod_LDFLAGS): Likewise.
42780
42781 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42782 and datehook.mod.
42783 (datetime_mod_SOURCES): New macro.
42784 (datetime_mod_CFLAGS): Likewise.
42785 (datetime_mod_LDFLAGS): Likewise.
42786 (date_mod_SOURCES): Likewise.
42787 (date_mod_CFLAGS): Likewise.
42788 (date_mod_LDFLAGS): Likewise.
42789 (datehook_mod_SOURCES): Likewise.
42790 (datehook_mod_CFLAGS): Likewise.
42791 (datehook_mod_LDFLAGS): Likewise.
42792
42793 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42794 and datehook.mod.
42795 (datetime_mod_SOURCES): New macro.
42796 (datetime_mod_CFLAGS): Likewise.
42797 (datetime_mod_LDFLAGS): Likewise.
42798 (date_mod_SOURCES): Likewise.
42799 (date_mod_CFLAGS): Likewise.
42800 (date_mod_LDFLAGS): Likewise.
42801 (datehook_mod_SOURCES): Likewise.
42802 (datehook_mod_CFLAGS): Likewise.
42803 (datehook_mod_LDFLAGS): Likewise.
42804
42805 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42806 and datehook.mod.
42807 (datetime_mod_SOURCES): New macro.
42808 (datetime_mod_CFLAGS): Likewise.
42809 (datetime_mod_LDFLAGS): Likewise.
42810 (date_mod_SOURCES): Likewise.
42811 (date_mod_CFLAGS): Likewise.
42812 (date_mod_LDFLAGS): Likewise.
42813 (datehook_mod_SOURCES): Likewise.
42814 (datehook_mod_CFLAGS): Likewise.
42815 (datehook_mod_LDFLAGS): Likewise.
42816
42817 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42818 and datehook.mod.
42819 (datetime_mod_SOURCES): New macro.
42820 (datetime_mod_CFLAGS): Likewise.
42821 (datetime_mod_LDFLAGS): Likewise.
42822 (date_mod_SOURCES): Likewise.
42823 (date_mod_CFLAGS): Likewise.
42824 (date_mod_LDFLAGS): Likewise.
42825 (datehook_mod_SOURCES): Likewise.
42826 (datehook_mod_CFLAGS): Likewise.
42827 (datehook_mod_LDFLAGS): Likewise.
42828
42829 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42830
42831 * commands/date.c: New file.
42832
42833 * hook/datehook.c: Likewise.
42834
42835 * include/grub/lib/datetime.h: Likewise.
42836
42837 * include/grub/i386/cmos.h: Likewise.
42838
42839 * lib/datetime.c: Likewise.
42840
42841 * lib/i386/datetime.c: Likewise.
42842
42843 * lib/efi/datetime.c: Likewise.
42844
42845 2008-08-14 Robert Millan <rmh@aybabtu.com>
42846
42847 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42848 (grub_mkelfimage_SOURCES): New variable.
42849 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42850
42851 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42852 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42853 * conf/powerpc-ieee1275.rmk: Likewise.
42854 * conf/i386-ieee1275.rmk: Likewise.
42855
42856 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42857 * kern/i386/coreboot/init.c: Likewise.
42858
42859 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42860 with `<grub/cpu/kernel.h>'.
42861 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42862 to ...
42863 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42864 * kern/i386/coreboot/startup.S: Likewise.
42865
42866 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42867 (GRUB_MOD_GAP): Remove.
42868 * include/grub/powerpc/kernel.h: New file.
42869 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42870 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42871 * include/grub/i386/kernel.h: New file.
42872 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42873 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42874 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42875
42876 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42877 `grub-mkelfimage'.
42878 Use --directory when invoking grub_mkimage.
42879
42880 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42881 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42882 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42883 and GRUB_KERNEL_CPU_PREFIX.
42884
42885 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
42886
42887 * include/grub/err.h (grub_err_printf): New function prototype.
42888 * util/misc.c (grub_err_printf): New function.
42889 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42890 grub_printf.
42891 * kern/err.c (grub_print_error): Use grub_err_printf.
42892
42893 2008-08-13 Robert Millan <rmh@aybabtu.com>
42894
42895 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42896
42897 2008-08-13 Robert Millan <rmh@aybabtu.com>
42898
42899 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42900 boot entry.
42901
42902 2008-08-12 Robert Millan <rmh@aybabtu.com>
42903
42904 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42905 of the relocation code from here ...
42906 (grub_multiboot): ... to here.
42907 (forward_relocator, backward_relocator): Move from here ...
42908 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42909 (grub_multiboot_backward_relocator): ... to here.
42910 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42911 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42912 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42913 (grub_multiboot_forward_relocator_end)
42914 (grub_multiboot_backward_relocator)
42915 (grub_multiboot_backward_relocator_end): New variables.
42916
42917 2008-08-12 Bean <bean123ch@gmail.com>
42918
42919 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42920
42921 2008-08-11 Robert Millan <rmh@aybabtu.com>
42922
42923 * kern/i386/linuxbios/startup.S: Move from here ...
42924 * kern/i386/coreboot/startup.S: ... to here.
42925
42926 * kern/i386/linuxbios/init.c: Move from here ...
42927 * kern/i386/coreboot/init.c: ... to here.
42928
42929 * kern/i386/linuxbios/table.c: Move from here ...
42930 * kern/i386/coreboot/mmap.c: ... to here.
42931
42932 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42933
42934 2008-08-11 Robert Millan <rmh@aybabtu.com>
42935
42936 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42937 errors. Leave it to the upper layer to handle them.
42938
42939 2008-08-09 Christian Franke <franke@computer.org>
42940
42941 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42942 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42943 Install `grub.d/10_windows' only on Cygwin.
42944 * configure.ac: Add subst of `target_os'.
42945 Check `target_os' also before setting TARGET_OBJ2ELF.
42946 Add `--enable-grub-pe2elf'.
42947
42948 2008-08-08 Robert Millan <rmh@aybabtu.com>
42949
42950 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42951 (grub_last_time): Change type to grub_uint64_t.
42952 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42953 (grub_disk_close): Likewise.
42954
42955 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42956 (run_menu): Migrate code from to using grub_get_time_ms().
42957
42958 * util/misc.c (grub_get_time_ms): New function.
42959
42960 2008-08-08 Marco Gerards <marco@gnu.org>
42961
42962 * disk/ata.c (grub_ata_regget): Change return type to
42963 `grub_uint8_t'.
42964 (grub_ata_regget2): Likewise.
42965 (grub_ata_wait_status): New function.
42966 (grub_ata_wait_busy): Removed function, updated all users to use
42967 `grub_ata_wait_status'.
42968 (grub_ata_wait_drq): Likewise.
42969 (grub_ata_cmd): New function.
42970 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42971 error handling.
42972 (grub_ata_pio_write): Add error handling.
42973 (grub_atapi_identify): Likewise.
42974 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42975 handling.
42976 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42977 handling. Actually use the detected registers. Reorder the
42978 detection logic such that it is easier to read.
42979 (grub_ata_pciinit): Do not assign the same ID to each controller.
42980 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42981 handling.
42982 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42983
42984 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42985
42986 2008-08-08 Marco Gerards <marco@gnu.org>
42987
42988 * NEWS: Update.
42989
42990 2008-08-07 Bean <bean123ch@gmail.com>
42991
42992 * include/grub/x86_64/pci.h: New file.
42993
42994 2008-08-07 Christian Franke <franke@computer.org>
42995
42996 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42997 (TIMER2_GATE): Likewise.
42998 (grub_pit_wait): Add enable/disable of the timer2 gate
42999 bit of port 0x61. This fixes a possible infinite loop.
43000
43001 2008-08-07 Bean <bean123ch@gmail.com>
43002
43003 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
43004 kern/i386/tsc.c and kern/i386/pit.c.
43005
43006 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
43007 x86_64 platform.
43008
43009 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
43010 <grub/i386/tsc.h>.
43011
43012 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
43013
43014 2008-08-07 Bean <bean123ch@gmail.com>
43015
43016 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
43017
43018 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
43019
43020 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
43021 multiple inclusion. Add #include <grub/types.h>.
43022
43023 2008-08-06 Christian Franke <franke@computer.org>
43024
43025 * conf/common.rmk: Build and install `10_windows'.
43026 * util/grub.d/10_windows.in: New script.
43027
43028 2008-08-06 Pavel Roskin <proski@gnu.org>
43029
43030 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
43031
43032 2008-08-06 Robert Millan <rmh@aybabtu.com>
43033
43034 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
43035 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
43036
43037 2008-08-06 Bean <bean123ch@gmail.com>
43038
43039 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
43040 (grub_pxefs_fs_int): Remove dummy definition.
43041 (grub_pxefs_open): Use data->block_size to store the current block
43042 size setting.
43043 (grub_pxefs_read): Use block size stored in data->block_size. As the
43044 value of grub_pxe_blksize can be changed after the file is opened.
43045
43046 2008-08-06 Bean <bean123ch@gmail.com>
43047
43048 * fs/i386/pc/pxe.c (curr_file): new variable.
43049 (grub_pxefs_open): Simply the handling of pxe file system. Don't
43050 require the dummy internal file system anymore.
43051 (grub_pxefs_read): Removed.
43052 (grub_pxefs_close): Likewise.
43053 (grub_pxefs_fs_int): Likewise.
43054 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
43055 connection when we switch file.
43056 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
43057
43058 2008-08-06 Robert Millan <rmh@aybabtu.com>
43059
43060 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
43061 `halt.mod'.
43062 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
43063 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
43064
43065 * kern/i386/halt.c: New file.
43066 * kern/i386/reboot.c: Likewise.
43067 * include/grub/i386/reboot.h: Likewise.
43068 * include/grub/i386/halt.h: Likewise.
43069
43070 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
43071 Include `<grub/cpu/halt.h>'.
43072 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
43073 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
43074
43075 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
43076 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
43077 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
43078 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
43079 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
43080 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
43081 from here ...
43082 * include/grub/i386/at_keyboard.h: ... to here.
43083
43084 2008-08-05 Robert Millan <rmh@aybabtu.com>
43085
43086 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
43087 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
43088 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
43089 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43090 `kern/generic/millisleep.c'.
43091
43092 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
43093 instead of grub_get_rtc().
43094 (grub_tsc_init): Initialize `tsc_boot_time'.
43095
43096 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
43097 (grub_machine_init): Use grub_tsc_init() rather than
43098 installing an RTC-based handler via grub_install_get_time_ms().
43099
43100 * kern/i386/pit.c: New file.
43101 * include/grub/i386/pit.h: Likewise.
43102
43103 2008-08-05 Bean <bean123ch@gmail.com>
43104
43105 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
43106
43107 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
43108 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
43109 (pxe_mod_SOURCES): New macro.
43110 (pxe_mod_CFLAGS): Likewise.
43111 (pxe_mod_LDFLAGS): Likewise.
43112 (pxecmd_mod_SOURCES): Likewise.
43113 (pxecmd_mod_CFLAGS): Likewise.
43114 (pxecmd_mod_LDFLAGS): Likewise.
43115
43116 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
43117 (grub_pxe_call): Likewise.
43118
43119 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
43120
43121 * commands/i386/pc/pxecmd.c: New file.
43122
43123 * fs/i386/pc/pxe.c: Likewise.
43124
43125 * include/grub/i386/pc/pxe.h: Likewise.
43126
43127 2008-08-05 Bean <bean123ch@gmail.com>
43128
43129 * util/console.c (grub_console_cur_color): New variable.
43130 (grub_console_standard_color): Likewise.
43131 (grub_console_normal_color): Likewise.
43132 (grub_console_highlight_color): Likewise.
43133 (color_map): Likewise.
43134 (use_color): Likewise.
43135 (NUM_COLORS): New macro.
43136 (grub_ncurses_setcolorstate): Handle color properly.
43137 (grub_ncurses_setcolor): Don't change color here, just remember the
43138 settings, color will be set in grub_ncurses_setcolorstate.
43139 (grub_ncurses_getcolor): New function.
43140 (grub_ncurses_init): Initialize color pairs.
43141 (grub_ncurses_term): New member grub_ncurses_getcolor.
43142
43143 2008-08-05 Colin D Bennett <colin@gibibit.com>
43144
43145 High resolution timer support. Implemented for x86 CPUs using TSC.
43146 Extracted generic grub_millisleep() so it's linked in only as needed.
43147 This requires a Pentium compatible CPU; if the RDTSC instruction is
43148 not supported, then it falls back on the generic grub_get_time_ms()
43149 implementation that uses the machine's RTC.
43150
43151 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43152 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43153 `kern/generic/millisleep.c'.
43154
43155 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43156 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43157
43158 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43159 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43160
43161 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43162
43163 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43164 `kern/generic/millisleep.c'.
43165
43166 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43167
43168 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43169
43170 * kern/generic/rtc_get_time_ms.c: New file.
43171
43172 * kern/generic/millisleep.c: New file.
43173
43174 * kern/misc.c: Don't include
43175 <kern/time.h> anymore.
43176 (grub_millisleep_generic): Removed.
43177
43178 * commands/sleep.c (grub_interruptible_millisleep): Uses
43179 grub_get_time_ms() instead of grub_get_rtc().
43180
43181 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43182 function.
43183 (grub_cpu_is_cpuid_supported): New inline function.
43184 (grub_cpu_is_tsc_supported): New inline function.
43185 (grub_tsc_init): New function prototype.
43186 (grub_tsc_get_time_ms): New function prototype.
43187
43188 * kern/i386/tsc.c (grub_get_time_ms): New file.
43189
43190 * include/grub/time.h: Include <grub/types.h.
43191 (grub_millisleep_generic): Removed.
43192 (grub_get_time_ms): New prototype.
43193 (grub_install_get_time_ms): New prototype.
43194 (grub_rtc_get_time_ms): New prototype.
43195
43196 * kern/time.c (grub_get_time_ms): New function.
43197 (grub_install_get_time_ms): New function.
43198
43199 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43200 <grub/time.h> anymore.
43201 (grub_millisleep): Removed.
43202 (grub_machine_init): Call grub_tsc_init.
43203
43204 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43205 get_time_ms() implementation.
43206
43207 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43208 (ieee1275_get_time_ms): New function.
43209 (grub_machine_init): Install get_time_ms() implementation.
43210
43211 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43212 (grub_machine_init): Call grub_tsc_init().
43213 (grub_millisleep): Removed.
43214
43215 * kern/ieee1275/init.c (grub_millisleep): Removed.
43216 (grub_machine_init): Install ieee1275_get_time_ms()
43217 implementation.
43218 (ieee1275_get_time_ms): New function.
43219 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43220 real work.
43221
43222 2008-08-05 Marco Gerards <marco@gnu.org>
43223
43224 * disk/ata.c: Include <grub/pci.h>.
43225 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43226 (grub_ata_initialize): Rewritten.
43227 (grub_ata_device_initialize): New function.
43228
43229 2008-08-04 Pavel Roskin <proski@gnu.org>
43230
43231 * kern/main.c: Include grub/mm.h.
43232
43233 2008-08-04 Robert Millan <rmh@aybabtu.com>
43234
43235 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43236 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43237 corruption problem).
43238
43239 2008-08-04 Robert Millan <rmh@aybabtu.com>
43240
43241 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43242 warnings introduced in my last commit.
43243
43244 2008-08-03 Robert Millan <rmh@aybabtu.com>
43245
43246 Make PCI available on all i386 architectures.
43247
43248 * include/grub/i386/pc/pci.h: Move from here ...
43249 * include/grub/i386/pci.h: ... to here.
43250
43251 * include/grub/i386/pc/pci.h: Remove.
43252 * include/grub/i386/efi/pci.h: Remove.
43253 * include/grub/x86_64/efi/pci.h: Remove.
43254
43255 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43256 `<grub/cpu/pci.h>'.
43257
43258 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43259 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43260 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43261
43262 * conf/i386-ieee1275.rmk: Likewise.
43263
43264 2008-08-03 Robert Millan <rmh@aybabtu.com>
43265
43266 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43267 (grub_console_setcursor): Make it possible to set cursor off.
43268
43269 2008-08-03 Robert Millan <rmh@aybabtu.com>
43270
43271 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43272 of modules instead of assuming which platform provides what.
43273 * util/update-grub.in: Likewise.
43274
43275 2008-08-03 Robert Millan <rmh@aybabtu.com>
43276
43277 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43278 instead of `grub_install_dos_part' to determine whether a drive needs
43279 to be prepended to prefix (`grub_install_dos_part' is not reliable,
43280 because it can be overridden when loading GRUB via Multiboot).
43281
43282 2008-08-02 Robert Millan <rmh@aybabtu.com>
43283
43284 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43285
43286 2008-08-02 Robert Millan <rmh@aybabtu.com>
43287
43288 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43289 of informational grub_dprintf() calls.
43290
43291 2008-08-02 Robert Millan <rmh@aybabtu.com>
43292
43293 * disk/memdisk.c (memdisk_size): Don't initialize.
43294 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43295
43296 * include/grub/i386/pc/kernel.h
43297 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43298 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43299 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43300 (grub_arch_memdisk_size): Remove.
43301
43302 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43303 field (was only used to transfer a constant). Add `type' field to
43304 support multiple module types.
43305 (grub_module_iterate): New function.
43306
43307 * kern/device.c (grub_device_open): Do not hide error messages
43308 when grub_disk_open() fails. Use grub_print_error() instead.
43309
43310 * kern/i386/pc/init.c (grub_arch_modules_addr)
43311 (grub_arch_memdisk_size): Remove functions.
43312 (grub_arch_modules_addr): Return the module address in high memory
43313 (now that it isn't copied anymore).
43314
43315 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43316 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43317 decompression routine (grub_total_module_size already includes that
43318 now). Don't copy modules back to low memory.
43319
43320 * kern/main.c: Include `<grub/mm.h>'.
43321 (grub_load_modules): Split out (and use) ...
43322 (grub_module_iterate): ... this function, which iterates through
43323 module objects and runs a hook.
43324 Comment out grub_mm_init_region() call, as it would cause non-ELF
43325 modules to be overwritten.
43326
43327 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43328 the memdisk image in its own region, make it part of the module list.
43329 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43330 (main): Parse --memdisk|-m option, and pass user-provided path as
43331 parameter to generate_image().
43332 (add_segments): Pass `memdisk_path' down to load_modules().
43333 (load_modules): Embed memdisk image in module section when requested.
43334 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43335 `header.type' instead of `header.offset'.
43336
43337 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43338 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43339 (memdisk_mod_LDFLAGS): New variables.
43340 * conf/i386-coreboot.rmk: Likewise.
43341 * conf/i386-ieee1275.rmk: Likewise.
43342
43343 2008-08-02 Robert Millan <rmh@aybabtu.com>
43344
43345 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43346 (backward_relocator): New variables. Used to allocate and relocate
43347 the payload, respectively.
43348 (grub_multiboot_load_elf32): Load into heap instead of requested
43349 address, install the appropriate relocator code in each bound of
43350 the payload, and set the entry point such that
43351 grub_multiboot_real_boot() will jump to one of them.
43352
43353 * kern/i386/loader.S (grub_multiboot_payload_size)
43354 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43355 (grub_multiboot_payload_entry_offset): New variables.
43356 (grub_multiboot_real_boot): Set cpu context to what the relocator
43357 expects, and jump to the relocator instead of the payload.
43358
43359 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43360 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43361 (grub_multiboot_payload_entry_offset): Export.
43362
43363 2008-08-01 Bean <bean123ch@gmail.com>
43364
43365 * normal/menu_entry.c (editor_getline): Don't return the original
43366 string as result, as it will be released by lexer once it has done
43367 using it.
43368
43369 2008-08-01 Robert Millan <rmh@aybabtu.com>
43370
43371 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43372 within menuentries, not before them.
43373 util/grub.d/10_hurd.in: Likewise.
43374
43375 2008-08-01 Bean <bean123ch@gmail.com>
43376
43377 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43378 (bufio_mod_SOURCES): New macro.
43379 (bufio_mod_CFLAGS): Likewise.
43380 (bufio_mod_LDFLAGS): Likewise.
43381
43382 * include/grub/bufio.h: New file.
43383
43384 * io/bufio.c: Likewise.
43385
43386 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43387 (grub_video_reader_png): Use grub_buffile_open to open file.
43388
43389 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43390 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43391
43392 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43393 (grub_video_reader_tga): Use grub_buffile_open to open file.
43394
43395 * font/manager.c: Include <grub/bufio.h>.
43396 (add_font): Use grub_buffile_open to open file.
43397
43398 2008-07-31 Robert Millan <rmh@aybabtu.com>
43399
43400 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43401 ELF segments, use a macro for arbitrarily accessing any of them instead
43402 of preparing a pointer that allows access to one at a time.
43403 (grub_multiboot_load_elf64): Likewise.
43404
43405 2008-07-31 Bean <bean123ch@gmail.com>
43406
43407 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43408 GRUB_KERNEL_MACHINE_DATA_END.
43409
43410 2008-07-30 Robert Millan <rmh@aybabtu.com>
43411
43412 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43413 Increase from 0x50 to 0x60.
43414 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43415 use UUIDs to identify the root drive for them. If that's not
43416 possible, abort.
43417 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43418 check, for cross-disk installs.
43419
43420 2008-07-30 Robert Millan <rmh@aybabtu.com>
43421
43422 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43423 is non-empty, use it to set the `prefix' environment variable instead
43424 of the usual approach.
43425 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43426 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43427 environment variable instead of dummy make_install_device().
43428
43429 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43430 (start): Insert a data section, with `grub_prefix' variable.
43431 * kern/i386/linuxbios/startup.S: Likewise.
43432
43433 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43434 New variable reference.
43435 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43436 New macro. Defines offset of `grub_prefix' within startup.S (relative
43437 to `start').
43438 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43439 section within startup.S (relative to `start').
43440 * include/grub/i386/coreboot/kernel.h: Likewise.
43441
43442 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43443 Overwrite grub_prefix with its contents, at the beginning of the
43444 first segment.
43445 (main): Understand -p|--prefix.
43446
43447 2008-07-30 Robert Millan <rmh@aybabtu.com>
43448
43449 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43450
43451 2008-07-30 Robert Millan <rmh@aybabtu.com>
43452
43453 * term/i386/pc/vga_text.c (grub_console_cls): Use
43454 grub_console_gotoxy() to go back to beginning of the screen.
43455 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43456
43457 2008-07-29 Christian Franke <franke@computer.org>
43458
43459 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43460 Add conversion of emulated mount points on Cygwin.
43461
43462 2008-07-29 Christian Franke <franke@computer.org>
43463
43464 * util/update-grub.in: Add a check for admin
43465 group on Cygwin.
43466 Remove old `grub.cfg.new' before creation.
43467 Add `-f' to `mv' to handle the different filesystem
43468 semantics of Windows.
43469
43470 2008-07-29 Bean <bean123ch@gmail.com>
43471
43472 * normal/main.c (get_line): Fix buffer overflow bug.
43473
43474 2008-07-28 Robert Millan <rmh@aybabtu.com>
43475
43476 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43477 (struct grub_apple_header): New struct. Describes the layout of
43478 the partmap header.
43479 (apple_partition_map_iterate): Check the header magic as well as the
43480 partition magic (which was already being checked).
43481
43482 2008-07-28 Pavel Roskin <proski@gnu.org>
43483
43484 * genmk.rb: Add a warning to the beginning of the output that
43485 it's a generated file and should not be edited.
43486
43487 2008-07-28 Robert Millan <rmh@aybabtu.com>
43488
43489 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43490 with the same number are found, just use issue a warning with
43491 grub_dprintf(), as this error has been reported to be non-fatal.
43492
43493 2008-07-27 Robert Millan <rmh@aybabtu.com>
43494
43495 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43496 information.
43497
43498 2008-07-27 Bean <bean123ch@gmail.com>
43499
43500 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43501 (grub_fat_find_dir): Ignore case when comparing filename.
43502
43503 2008-07-27 Bean <bean123ch@gmail.com>
43504
43505 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43506 smallino, as it's more descriptive, and i8count can be confused with
43507 the other field count.
43508 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43509 inode type.
43510
43511 2008-07-27 Bean <bean123ch@gmail.com>
43512
43513 * commands/crc.c: New file.
43514
43515 * lib/crc.c: Likewise.
43516
43517 * include/grub/lib/crc.h: Likewise.
43518
43519 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43520
43521 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43522 (hexdump): Move this function to ...
43523
43524 * lib/hexdump.c: ... here.
43525
43526 * include/grub/hexdump.h: Renamed to ...
43527
43528 * include/grub/lib/hexdump.h: ... this.
43529
43530 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43531
43532 * util/grub-editenv.c: Likewise.
43533
43534 * include/envblk.h: Renamed to ...
43535
43536 * include/lib/envblk.h: ... this.
43537
43538 * util/envblk.c: Renamed to ...
43539
43540 * lib/envblk.c: ... this.
43541
43542 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43543 lib/hexdump.c.
43544 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43545 (pkglib_MODULES): Add crc.mod.
43546 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43547 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43548 (crc_mod_SOURCES): New macro.
43549 (crc_mod_CFLAGS): Likewise.
43550 (crc_mod_LDFLAGS): Likewise.
43551
43552 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43553
43554 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43555
43556 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43557
43558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43559
43560 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43561
43562 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
43563
43564 * commands/help.c: Include <grub/term.h>.
43565 (TERM_WIDTH): Removed. Updated all users.
43566
43567 2008-07-27 Pavel Roskin <proski@gnu.org>
43568
43569 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43570 spurious warnings about a comment within a comment.
43571
43572 2008-07-25 Robert Millan <rmh@aybabtu.com>
43573
43574 * util/getroot.c (find_root_device): Skip devices that match
43575 /dev/dm-[0-9]. This lets the real device be found for any type of
43576 abstraction (LVM, EVMS, RAID..).
43577 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43578 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43579 device is found first, find_root_device() will now skip it.
43580
43581 2008-07-24 Pavel Roskin <proski@gnu.org>
43582
43583 * include/grub/types.h: Use __builtin_bswap32() and
43584 __builtin_bswap64() with gcc 4.3 and newer.
43585
43586 2008-07-24 Christian Franke <franke@computer.org>
43587
43588 * util/i386/pc/grub-install.in: If `--debug' is specified,
43589 pass `--verbose' to grub-setup.
43590 Abort script if make_system_path_relative_to_its_root() fails.
43591
43592 2008-07-24 Bean <bean123ch@gmail.com>
43593
43594 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43595 variable `target_platform' should be `platform'.
43596
43597 2008-07-24 Bean <bean123ch@gmail.com>
43598
43599 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
43600 (grub_png_init_fixed_block): New function.
43601 (grub_png_decode_image_data): Handle fixed huffman code compression.
43602
43603 2008-07-24 Bean <bean123ch@gmail.com>
43604
43605 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43606 (grub_pe2elf_SOURCES): New macro.
43607 (CLEANFILES): Add grub-pe2elf.
43608
43609 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43610 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43611 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43612 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43613 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43614 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43615 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43616 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43617 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43618 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43619 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43620 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43621 (GRUB_PE32_DT_FUNCTION): Likewise.
43622 (GRUB_PE32_REL_I386_DIR32): Likewise.
43623 (GRUB_PE32_REL_I386_REL32): Likewise.
43624 (grub_pe32_symbol): New structure.
43625 (grub_pe32_reloc): Likewise.
43626
43627 * util/grub-pe2elf.c: New file.
43628
43629 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43630 start symbol in non pc platform.
43631
43632 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43633
43634 The following patches are from Christian Franke.
43635
43636 * include/grub/dl.h: Remove .previous, gas supports this only
43637 for ELF format.
43638
43639 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43640 Remove .type, gas supports this only for ELF format.
43641
43642 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43643 nullbytes in symbol table. This fixes an infinite loop if table is
43644 zero filled.
43645
43646 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43647 TARGET_IMG_LDFLAGS and EXEEXT.
43648
43649 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43650 TARGET_IMG_LDFLAGS_AC.
43651 (grub_CHECK_STACK_ARG_PROBE): New function.
43652
43653 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43654
43655 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43656
43657 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43658 to set TARGET_IMG_LD* accordingly.
43659 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43660 Add call to grub_CHECK_STACK_ARG_PROBE.
43661 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43662
43663 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43664
43665 * genmk.rb: Add EXEEXT to CLEANFILES.
43666
43667 2008-07-23 Robert Millan <rmh@aybabtu.com>
43668
43669 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43670 define the codes for arrows and lines used for the menu).
43671 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43672 as well.
43673
43674 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43675 fonts, because the latter are too slow.
43676
43677 2008-07-21 Bean <bean123ch@gmail.com>
43678
43679 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43680 a20. Run keyboard test last, as it will cause macbook to halt.
43681
43682 2008-07-18 Pavel Roskin <proski@gnu.org>
43683
43684 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43685 load foreign architecture modules correctly anyway. Keep
43686 support for loading host architecture modules, whether we
43687 compile them or not.
43688
43689 2008-07-17 Pavel Roskin <proski@gnu.org>
43690
43691 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43692 change target_cpu. The compiler default can mismatch target_cpu
43693 in any case.
43694
43695 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43696 * kern/efi/efi.c: Likewise.
43697
43698 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43699 target compiler is functional.
43700 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43701 are set up.
43702
43703 * configure.ac: Default to efi platform for x86_64-apple. Allow
43704 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43705 adjustments from the rest, only do them if target is not
43706 explicitly given. Merge other adjustments with the final sanity
43707 check. Remove an extraneous check for supported CPU. Be
43708 specific which CPU and which platform is not supported.
43709
43710 * configure.ac: Default to pc platform for x86_64.
43711
43712 2008-07-17 Robert Millan <rmh@aybabtu.com>
43713
43714 Partial LinuxBIOS -> Coreboot rename.
43715
43716 * conf/i386-linuxbios.rmk: Renamed to ...
43717 * conf/i386-coreboot.rmk: ... this.
43718 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43719 * configure.ac: Accept "coreboot" as input platform (but maintain
43720 compatibility with "linuxbios").
43721 * include/grub/i386/linuxbios: Renamed to ...
43722 * include/grub/i386/coreboot: ... this.
43723
43724 2008-07-17 Bean <bean123ch@gmail.com>
43725
43726 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
43727 (appleldr_mod_SOURCE): New variable.
43728 (appleldr_mod_CFLAGS): Likewise.
43729 (appleldr_mod_LDFLAGS): Likewise.
43730 (pci_mod_SOURCES): Likewise.
43731 (pci_mod_CFLAGS): Likewise.
43732 (pci_mod_LDFLAGS): Likewise.
43733 (lspci_mod_SOURCES): Likewise.
43734 (lspci_mod_CFLAGS): Likewise.
43735 (lspci_mod_LDFLAGS): Likewise.
43736
43737 * conf/x86_64-efi.rmk: New file.
43738
43739 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43740 macro.
43741 (grub_efidisk_write): Likewise.
43742
43743 * include/efi/api.h (efi_call_0): New macro.
43744 (efi_call_1): Likewise.
43745 (efi_call_2): Likewise.
43746 (efi_call_3): Likewise.
43747 (efi_call_4): Likewise.
43748 (efi_call_5): Likewise.
43749 (efi_call_6): Likewise.
43750
43751 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43752 grub_rescue_cmd_chainloader.
43753
43754 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43755 (grub_pe32_optional_header): Change some fields based on i386 or
43756 x86_64 platform.
43757 (GRUB_PE32_PE32_MAGIC): Likewise.
43758
43759 * include/grub/efi/uga_draw.h: New file.
43760
43761 * include/grub/elf.h (STN_ABS): New constant.
43762 (R_X86_64_NONE): Relocation constant for x86_64.
43763 (R_X86_64_64): Likewise.
43764 (R_X86_64_PC32): Likewise.
43765 (R_X86_64_GOT32): Likewise.
43766 (R_X86_64_PLT32): Likewise.
43767 (R_X86_64_COPY): Likewise.
43768 (R_X86_64_GLOB_DAT): Likewise.
43769 (R_X86_64_JUMP_SLOT): Likewise.
43770 (R_X86_64_RELATIVE): Likewise.
43771 (R_X86_64_GOTPCREL): Likewise.
43772 (R_X86_64_32): Likewise.
43773 (R_X86_64_32S): Likewise.
43774 (R_X86_64_16): Likewise.
43775 (R_X86_64_PC16): Likewise.
43776 (R_X86_64_8): Likewise.
43777 (R_X86_64_PC8): Likewise.
43778
43779 * include/grub/i386/efi/pci.h: New file.
43780
43781 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43782 Change it value based on platform.
43783 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43784 (GRUB_E820_RAM): Likewise.
43785 (GRUB_E820_RESERVED): Likewise.
43786 (GRUB_E820_ACPI): Likewise.
43787 (GRUB_E820_NVS): Likewise.
43788 (GRUB_E820_EXEC_CODE): Likewise.
43789 (GRUB_E820_MAX_ENTRY): Likewise.
43790 (grub_e820_mmap): New structure.
43791 (linux_kernel_header): Change the efi field according to different
43792 kernel version, also field from linux_kernel_header.
43793
43794 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43795
43796 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43797 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43798 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43799 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43800 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43801 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43802 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43803 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43804 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43805 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43806
43807 * include/grub/x86_64/efi/kernel.h: New file.
43808
43809 * include/grub/x86_64/efi/loader.h: Likewise.
43810
43811 * include/grub/x86_64/efi/machine.h: Likewise.
43812
43813 * include/grub/x86_64/efi/pci.h: Likewise.
43814
43815 * include/grub/x86_64/efi/time.h: Likewise.
43816
43817 * include/grub/x86_64/linux.h: Likewise.
43818
43819 * include/grub/x86_64/setjmp.h: Likewise.
43820
43821 * include/grub/x86_64/time.h: Likewise.
43822
43823 * include/grub/x86_64/types.h: Likewise.
43824
43825 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43826 GRUB_TARGET_SIZEOF_VOID_P.
43827
43828 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43829 (grub_efi_locate_handle): Likewise.
43830 (grub_efi_open_protocol): Likewise.
43831 (grub_efi_set_text_mode): Likewise.
43832 (grub_efi_stall): Likewise.
43833 (grub_exit): Likewise.
43834 (grub_reboot): Likewise.
43835 (grub_halt): Likewise.
43836 (grub_efi_exit_boot_services): Likewise.
43837 (grub_get_rtc): Likewise.
43838
43839 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43840 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43841 (grub_efi_allocate_pages): Wrap efi calls.
43842 (grub_efi_free_pages): Wrap efi calls.
43843 (grub_efi_get_memory_map): Wrap efi calls.
43844
43845 * kern/x86_64/dl.c: New file.
43846
43847 * kern/x86_64/efi/callwrap.S: Likewise.
43848
43849 * kern/x86_64/efi/startup.S: Likewise.
43850
43851 * loader/efi/appleloader.c: Likewise.
43852
43853 * loader/efi/chainloader.c (cmdline): New variable.
43854 (grub_chainloader_unload): Wrap efi calls.
43855 (grub_chainloader_boot): Likewise.
43856 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43857 command line.
43858
43859 * loader/efi/chainloader_normal.c (chainloader_command):
43860 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43861 command line.
43862
43863 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43864 method.
43865 (grub_e820_add_region): New function.
43866 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43867 booting.
43868 (grub_find_video_card): New function.
43869 (grub_linux_setup_video): New function.
43870 (grub_rescue_cmd_linux): Probe for video information.
43871
43872 * normal/x86_64/setjmp.S: New file.
43873
43874 * term/efi/console.c (map_char): New function.
43875 (grub_console_putchar): Map unicode char.
43876 (grub_console_checkkey): Wrap efi calls.
43877 (grub_console_getkey): Likewise.
43878 (grub_console_getwh): Likewise.
43879 (grub_console_gotoxy): Likewise.
43880 (grub_console_cls): Likewise.
43881 (grub_console_setcolorstate): Likewise.
43882 (grub_console_setcursor): Likewise.
43883
43884 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43885
43886 2008-07-16 Pavel Roskin <proski@gnu.org>
43887
43888 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43889 format strings.
43890
43891 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43892 pointer, not an integer. This fixes a warning and prevents
43893 precision loss on 64-bit systems.
43894 (relocate_addresses): Remove unneeded cast.
43895
43896 2008-07-15 Pavel Roskin <proski@gnu.org>
43897
43898 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43899
43900 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43901
43902 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43903 Fix comparison between signed and unsigned.
43904
43905 * include/grub/i386/ieee1275/console.h: Declare
43906 grub_console_init() and grub_console_fini().
43907
43908 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43909 It's empty and unused.
43910
43911 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43912 beginning to avoid warnings with some compilers.
43913
43914 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43915 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43916
43917 2008-07-14 Pavel Roskin <proski@gnu.org>
43918
43919 * kern/env.c (grub_register_variable_hook): Don't copy empty
43920 string, it leaks memory. Pass "" to grub_env_set(), it should
43921 handle constant strings.
43922
43923 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43924 * commands/cmp.c (grub_cmd_cmp): Likewise.
43925 * kern/dl.c (grub_dl_flush_cache): Likewise.
43926 (grub_dl_load_core): Likewise.
43927 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43928 (grub_elf64_load_phdrs): Likewise.
43929
43930 2008-07-13 Pavel Roskin <proski@gnu.org>
43931
43932 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43933 between signed and unsigned.
43934 (LzmaEnc_Finish): Fix warning about an unused parameter.
43935
43936 2008-07-13 Bean <bean123ch@gmail.com>
43937
43938 * Makefile.in (enable_lzo): New rule.
43939
43940 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43941
43942 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43943
43944 * boot/i386/pc/lnxboot.S: #include <config.h>.
43945
43946 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
43947 its value according to the compression algorithm used, lzo or lzma.
43948
43949 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43950 compression algorithm according to configure macro.
43951
43952 * kern/i386/pc/startup.S (codestart): Likewise.
43953
43954 * kern/i386/pc/lzma_decode.S: New file.
43955
43956 * include/grub/lib/LzFind.h: Likewise.
43957
43958 * include/grub/lib/LzHash.h: Likewise.
43959
43960 * include/grub/lib/LzmaDec.h: Likewise.
43961
43962 * include/grub/lib/LzmaEnc.h: Likewise.
43963
43964 * include/grub/lib/LzmaTypes.h: Likewise.
43965
43966 * lib/LzFind.c: Likewise.
43967
43968 * lib/LzmaDec.c: Likewise.
43969
43970 * lib/LzmaEnc.c: Likewise.
43971
43972 2008-07-13 Bean <bean123ch@gmail.com>
43973
43974 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43975 (grub_ext4_extent_header): New structure.
43976 (grub_ext4_extent): Likewise.
43977 (grub_ext4_extent_idx): Likewise.
43978 (grub_ext4_find_leaf): New function.
43979 (grub_ext2_read_block): Handle extents.
43980
43981 2008-07-12 Robert Millan <rmh@aybabtu.com>
43982
43983 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43984
43985 2008-07-11 Robert Millan <rmh@aybabtu.com>
43986
43987 * util/grub.d/40_custom.in: New file. Example on how to add custom
43988 entries to /etc/grub.d.
43989 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43990 40_custom (implicitly, by merging all the grub.d rules).
43991
43992 2008-07-11 Pavel Roskin <proski@gnu.org>
43993
43994 * commands/read.c (grub_getline): Fix invalid memory access.
43995 Don't add newline to the variable value.
43996
43997 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43998 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43999 (serial_hw_get_port): Check validity of the port number.
44000 (grub_cmd_serial): Check return value of serial_hw_get_port().
44001
44002 2008-07-07 Pavel Roskin <proski@gnu.org>
44003
44004 * boot/i386/pc/diskboot.S (notification_string): Replace
44005 "Loading kernel" with just "loading". This is shorter, less
44006 confusing and saves a few bytes for possible future changes.
44007
44008 2008-07-05 Pavel Roskin <proski@gnu.org>
44009
44010 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
44011 size for ATAPI devices, they are undefined. Output sector
44012 number in decimal form.
44013
44014 * disk/ata.c: Use named constants for status bits.
44015
44016 2008-07-04 Pavel Roskin <proski@gnu.org>
44017
44018 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
44019 grub_addr_t before casting it to the void pointer to fix a
44020 warning. Non-addressable regions are discarded earlier.
44021 (grub_arch_modules_addr): Cast _end to grub_addr_t.
44022 * kern/i386/linuxbios/table.c: Include grub/misc.h.
44023 (check_signature): Don't shadow table_header.
44024 (grub_linuxbios_table_iterate): Cast numeric constants to
44025 grub_linuxbios_table_header_t.
44026 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
44027 grub_stop().
44028
44029 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
44030 prevent warnings.
44031
44032 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
44033 pointer, which can cause warnings. Support 64-bit addresses.
44034
44035 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
44036 of sizeof(long). This fixes PowerPC image generation on x86_64.
44037
44038 2008-07-04 Robert Millan <rmh@aybabtu.com>
44039
44040 This fixes a performance issue when pc & gpt partmap iterators
44041 didn't abort iteration even after our hook found what it was
44042 looking for (often causing expensive probes of non-existent drives).
44043
44044 Some callers relied on previous buggy behaviour, since they would
44045 raise an error when their own hooks caused early abortion of its
44046 iteration.
44047
44048 * kern/device.c (grub_device_open): Improve error message.
44049 * disk/lvm.c (grub_lvm_open): Likewise.
44050 * disk/raid.c (grub_raid_open): Likewise.
44051
44052 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
44053 when hook requests it, independently of grub_errno.
44054 (pc_partition_map_probe): Do not fail when find_func() caused
44055 early abortion of pc_partition_map_iterate().
44056
44057 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
44058 when hook requests it, independently of grub_errno.
44059 (gpt_partition_map_probe): Do not fail when find_func() caused
44060 early abortion of gpt_partition_map_iterate().
44061
44062 * kern/partition.c (grub_partition_iterate): Abort parent iteration
44063 when hook requests it, independently of grub_errno. Do not fail when
44064 part_map_iterate_hook() caused early abortion of p->iterate().
44065
44066 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
44067 when grub_partition_iterate() returned with non-zero.
44068
44069 2008-07-03 Pavel Roskin <proski@gnu.org>
44070
44071 * disk/ata.c (grub_ata_pio_write): Check status before writing,
44072 like we do in grub_ata_pio_read().
44073 (grub_ata_readwrite): Always write individual sectors. Fix the
44074 sector count for the remainder.
44075 (grub_ata_write): Enable writing to ATA devices. Correctly
44076 report error for ATAPI devices.
44077
44078 2008-07-02 Pavel Roskin <proski@gnu.org>
44079
44080 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
44081 warning.
44082
44083 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
44084 for every read sector, we already increment it for the whole
44085 batch. This fixes reading more than 256 sectors at once.
44086
44087 * util/grub-editenv.c (cmd_info): Cast argument to long
44088 explicitly. ptrdiff_t reduces to int on i386.
44089
44090 * util/grub-editenv.c (main): Be specific which parameter is
44091 missing.
44092
44093 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
44094 (memdisk): Make memdisk_orig_addr a pointer.
44095
44096 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
44097 for file offsets, use grub_off_t instead. Fix printf format
44098 warnings.
44099
44100 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
44101 there. Real unexpected warnings should not drown in the noise
44102 about known problems.
44103
44104 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
44105 grub_disk_addr_t for memory addresses.
44106
44107 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
44108 explicitly to fix a warning.
44109
44110 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
44111
44112 * Makefile.in (MODULE_LDFLAGS): New variable.
44113 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
44114 the linker accepts --build-id=none.
44115 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
44116 MODULE_LDFLAGS.
44117 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
44118
44119 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
44120 those in Linux XFS code. Provide a way to access 64-bit parent
44121 inode.
44122 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
44123 the end of struct grub_xfs_dir_header.
44124
44125 2008-07-02 Bean <bean123ch@gmail.com>
44126
44127 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
44128 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44129 and GRUB_IEEE1275_FLAG_NO_ANSI.
44130
44131 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
44132 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44133 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
44134
44135 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44136 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44137
44138 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44139 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44140
44141 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44142 esc sequence on non ANSI terminal.
44143 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44144
44145 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44146 beginning of file.
44147
44148 2008-07-02 Bean <bean123ch@gmail.com>
44149
44150 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44151 (grub_editenv_SOURCES): New variable.
44152 (pkglib_MODULES): Add loadenv.mod.
44153 (loadenv_mod_SOURCES): New variable.
44154 (loadenv_mod_CFLAGS): Likewise.
44155 (loadenv_mod_LDFLAGS): Likewise.
44156
44157 * include/grub/envblk.h: New file.
44158
44159 * util/envblk.c: New file.
44160
44161 * util/grub-editenv.c: New file.
44162
44163 * commands/loadenv.c: New file.
44164
44165 2008-07-01 Pavel Roskin <proski@gnu.org>
44166
44167 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44168 not unsigned char. This fixes warnings and is consistent with
44169 other tags.
44170
44171 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44172
44173 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44174
44175 * term/tparm.c (analyze): Always set *popcount.
44176
44177 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44178 cast to fix a warning.
44179
44180 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44181 cast to suppress a warning.
44182
44183 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44184 grub_fshelp_read_file() expects.
44185
44186 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44187 write uuid as a 32-bit value in CPU byte order, so declare and
44188 use it as such.
44189
44190 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44191 long if the format specifier expects it.
44192 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44193 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44194 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44195 long to fix a warning.
44196 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44197 grub_dprintf() arguments to fix warnings.
44198
44199 2008-06-30 Pavel Roskin <proski@gnu.org>
44200
44201 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44202 install_bsd_part immediately before core.img is embedded or
44203 modified on disk. This fixes core.img verification if core.img
44204 cannot be embedded.
44205
44206 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44207 core_path to calculate the blocklist.
44208 Patch from Javier Martín <lordhabbit@gmail.com>
44209
44210 2008-06-29 Robert Millan <rmh@aybabtu.com>
44211
44212 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44213 block to disk block.
44214 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44215 Patch from Niels Böhm <bitbucket@arcor.de>
44216
44217 2008-06-29 Robert Millan <rmh@aybabtu.com>
44218
44219 * util/update-grub_lib.in (font_path): Search for fonts in
44220 /boot/grub first, which is more likely to be readable (we aren't
44221 deciding where fonts live, just looking for them).
44222
44223 2008-06-26 Pavel Roskin <proski@gnu.org>
44224
44225 * util/biosdisk.c (read_device_map): Don't leave dead map
44226 entries for devices failing stat() check.
44227
44228 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44229 core_path_dev for the core.img path on the target device.
44230
44231 2008-06-26 Robert Millan <rmh@aybabtu.com>
44232
44233 * disk/fs_uuid.c: New file.
44234 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44235 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44236 (fs_uuid_mod_LDFLAGS): New variables.
44237 * include/grub/disk.h (grub_disk_dev_id): Add
44238 `GRUB_DISK_DEVICE_UUID_ID'.
44239 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44240 implement iterate().
44241
44242 2008-06-26 Robert Millan <rmh@aybabtu.com>
44243
44244 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44245 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44246 Linux image includes no initrd.
44247
44248 2008-06-21 Javier Martín <lordhabbit@gmail.com>
44249
44250 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44251 call to resolve the core image location that effectively appended the
44252 name twice.
44253
44254 2008-06-21 Robert Millan <rmh@aybabtu.com>
44255
44256 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44257 call from here ...
44258
44259 * util/grub.d/10_hurd.in: ... to here ...
44260 * util/grub.d/10_linux.in: ... and here.
44261
44262 2008-06-19 Robert Millan <rmh@aybabtu.com>
44263
44264 * kern/main.c (grub_main): Export `prefix' variable immediately
44265 after it has been set by grub_machine_set_prefix().
44266
44267 2008-06-19 Robert Millan <rmh@aybabtu.com>
44268
44269 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44270 search result when not saving to variable, not the other way around.
44271 When saving to variable, abort iteration as soon as a match is found.
44272
44273 2008-06-19 Robert Millan <rmh@aybabtu.com>
44274
44275 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44276 check for partition that provides /boot/grub. Its logic is flawed,
44277 as it prevents prepare_grub_to_access_device() from being called
44278 multiple times.
44279
44280 2008-06-19 Robert Millan <rmh@aybabtu.com>
44281
44282 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44283 "insmod" command directly when abstraction modules are needed,
44284 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
44285 since it had already been processed).
44286
44287 2008-06-19 Pavel Roskin <proski@gnu.org>
44288
44289 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44290 changed. This is needed in case GRUB_LIBDIR changes.
44291 * conf/i386-ieee1275.rmk: Likewise.
44292 * conf/i386-linuxbios.rmk: Likewise.
44293 * conf/i386-pc.rmk: Likewise.
44294 * conf/powerpc-ieee1275.rmk: Likewise.
44295
44296 2008-06-18 Pavel Roskin <proski@gnu.org>
44297
44298 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44299 kernel_elf_symlist.c to symlist.c for consistency with other
44300 architectures. Update all users.
44301 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44302
44303 2008-06-18 Robert Millan <rmh@aybabtu.com>
44304
44305 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44306 it in prefix.
44307
44308 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44309 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44310 a RAID device, run setup() for all members independently on whether
44311 LVM abstraction is being used.
44312 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44313 If grub-mkimage has set `*install_dos_part == -2', don't override this
44314 value.
44315 Perform *install_dos_part adjustments independently on whether
44316 we're embedding or not.
44317 Clarify error message when image is too big for embedding.
44318 Remove duplicate *install_dos_part stanza.
44319
44320 2008-06-17 Robert Millan <rmh@aybabtu.com>
44321
44322 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44323 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44324 variables.
44325 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44326 values in grub_ofconsole_normal_color and
44327 grub_ofconsole_highlight_color (they're not directly related to
44328 background and foreground).
44329 (grub_ofconsole_setcolorstate): Extract background and foreground
44330 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44331
44332 2008-06-17 Robert Millan <rmh@aybabtu.com>
44333
44334 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44335 /boot/grub for the check in last commit, not /boot (they could be
44336 different partitions).
44337
44338 2008-06-16 Robert Millan <rmh@aybabtu.com>
44339
44340 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44341 asked to setup access for the same partition that provides /boot,
44342 don't bother using UUIDs since our root already has the value we
44343 want.
44344
44345 2008-06-16 Robert Millan <rmh@aybabtu.com>
44346
44347 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44348 I2O devices.
44349 Patch from Sven Mueller <sven@debian.org>.
44350
44351 2008-06-16 Robert Millan <rmh@aybabtu.com>
44352
44353 * util/update-grub.in: Check for $EUID instead of $UID.
44354 Reported by Vincent Zweije.
44355
44356 2008-06-16 Bean <bean123ch@gmail.com>
44357
44358 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
44359 (grub_ext2_read_block): Likewise.
44360 (grub_ext2_read_inode): Likewise.
44361 (grub_ext2_mount): Likewise.
44362 (grub_ext2_close): Likewise.
44363 (grub_ext3_get_journal): Removed.
44364
44365 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
44366 (grub_reiserfs_read_symlink): Likewise.
44367 (grub_reiserfs_mount): Likewise.
44368 (grub_reiserfs_open): Likewise.
44369 (grub_reiserfs_read): Likewise.
44370 (grub_reiserfs_close): Likewise.
44371 (grub_reiserfs_get_journal): Removed.
44372
44373 * fs/fshelp.c (grub_fshelp_read): Removed.
44374 (grub_fshelp_map_block): Likewise.
44375
44376 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44377 (grub_fshelp_journal): Likewise.
44378 (grub_fshelp_read): Likewise.
44379 (grub_fshelp_map_block): Likewise.
44380
44381 2008-06-16 Pavel Roskin <proski@gnu.org>
44382
44383 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44384 floating point anymore.
44385 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44386
44387 2008-06-15 Pavel Roskin <proski@gnu.org>
44388
44389 * commands/ls.c (grub_ls_list_files): Use integer calculations
44390 for human readable format, avoid floating point use.
44391 * kern/misc.c (grub_ftoa): Remove.
44392 (grub_vsprintf): Remove floating point support.
44393
44394 2008-06-15 Robert Millan <rmh@aybabtu.com>
44395
44396 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
44397 devices.
44398 Reported by Max Vozeler.
44399
44400 2008-06-15 Robert Millan <rmh@aybabtu.com>
44401
44402 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44403 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44404 skipped later.
44405 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44406 the beginning of the prefix.
44407
44408 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44409 It is assumed that if we have a memdisk, grub-mkimage has set
44410 grub_prefix to include the "(memdisk)" drive in it.
44411
44412 2008-06-15 Robert Millan <rmh@aybabtu.com>
44413
44414 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44415 Initialize keyboard controller after registering the terminal, so that
44416 grub_printf() can be called from grub_keyboard_controller_init().
44417
44418 2008-06-15 Robert Millan <rmh@aybabtu.com>
44419
44420 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44421 extent-btree which is written as big endian on disk.
44422 Reported by Alain Greppin <al@chilibi.org>.
44423
44424 2008-06-14 Robert Millan <rmh@aybabtu.com>
44425
44426 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44427 * util/i386/pc/grub-install.in (modules): Likewise.
44428
44429 2008-06-13 Pavel Roskin <proski@gnu.org>
44430
44431 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44432
44433 2008-06-13 Bean <bean123ch@gmail.com>
44434
44435 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44436
44437 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44438
44439 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44440 to indicate sparse block.
44441
44442 2008-06-12 Pavel Roskin <proski@gnu.org>
44443
44444 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44445 number, grub_fshelp_read() does it for us.
44446
44447 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44448 linear disk read with journal translation.
44449 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44450 * include/grub/fshelp.h: Declare grub_fshelp_read().
44451
44452 2008-06-09 Pavel Roskin <proski@gnu.org>
44453
44454 * fs/minix.c (grub_minix_mount): Handle error reading
44455 superblock.
44456
44457 2008-06-08 Robert Millan <rmh@aybabtu.com>
44458
44459 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44460 don't append the RAID prefix afterwards.
44461 Reported by Clint Adams.
44462
44463 2008-06-08 Robert Millan <rmh@aybabtu.com>
44464
44465 Based on description from Pavel:
44466 * kern/disk.c (grub_disk_check_range): Rename to ...
44467 (grub_disk_adjust_range): ... this. Add a comment explaining the
44468 tasks performed by this function.
44469
44470 2008-06-08 Robert Millan <rmh@aybabtu.com>
44471
44472 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44473 `num_serial' (for consistency with other variables).
44474 (struct grub_ntfs_data): Add `uuid' member.
44475 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44476 (grub_ntfs_uuid): New function.
44477 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44478
44479 2008-06-07 Pavel Roskin <proski@gnu.org>
44480
44481 * util/biosdisk.c (open_device): Revert last change to the
44482 function, it broke installation. The sector needs to be
44483 different dependent on which device is opened.
44484
44485 2008-06-06 Robert Millan <rmh@aybabtu.com>
44486
44487 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44488 rest of GRUB, and breakage doesn't happen if its value were modified.
44489
44490 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44491 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44492 a constant (same value).
44493 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44494 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44495
44496 2008-06-06 Robert Millan <rmh@aybabtu.com>
44497
44498 * util/biosdisk.c (open_device): Do not modify sector offset when
44499 accessing a partition. kern/disk.c already handles this for us.
44500
44501 2008-06-06 Robert Millan <rmh@aybabtu.com>
44502
44503 * util/grub-emu.c (grub_machine_init): Move code in this function from
44504 here ...
44505 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44506 segfault in case grub_printf() is called).
44507
44508 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44509 grub_probe. Update all users not to explicitly add it again.
44510 (grub_device): New variable; contains corresponding device for grubdir.
44511 (fs_module, partmap_module, devabstraction_module): Pass
44512 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44513 every time.
44514
44515 2008-06-05 Robert Millan <rmh@aybabtu.com>
44516
44517 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44518 is found, print it (same layout as with labels).
44519
44520 2008-06-04 Robert Millan <rmh@aybabtu.com>
44521
44522 * util/biosdisk.c (get_drive): Rename to ...
44523 (find_grub_drive): ... this. Update all users.
44524
44525 (get_os_disk): Rename to ...
44526 (convert_system_partition_to_system_disk): ... this. Update all users.
44527
44528 (find_drive): Rename to ...
44529 (find_system_device): ... this. Update all users.
44530
44531 2008-06-04 Robert Millan <rmh@aybabtu.com>
44532
44533 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44534 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44535 (make_device_map): Likewise.
44536
44537 2008-06-01 Robert Millan <rmh@aybabtu.com>
44538
44539 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44540 before dereferencing it.
44541
44542 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44543 union with fat12/fat16-specific ones. Add some new fields, including
44544 `num_serial' for both versions.
44545 (struct grub_fat_data): Add `uuid' member.
44546 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44547 names. Initialize `data->uuid' using `num_serial'.
44548 (grub_fat_uuid): New function.
44549 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44550
44551 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44552 (grub_reiserfs_uuid): New function.
44553 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44554 member.
44555
44556 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44557 (grub_xfs_uuid): New function.
44558 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44559
44560 2008-06-01 Robert Millan <rmh@aybabtu.com>
44561
44562 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44563 code that is backward compatible with pre-uuid search command.
44564
44565 2008-05-31 Robert Millan <rmh@aybabtu.com>
44566
44567 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44568 floppies after everything else, to ensure floppy drive isn't accessed
44569 unnecessarily (patch from Bean).
44570
44571 2008-05-31 Robert Millan <rmh@aybabtu.com>
44572
44573 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44574 not print device names when we were asked to set a variable.
44575
44576 2008-05-31 Robert Millan <rmh@aybabtu.com>
44577
44578 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44579 using "cursor-on" and "cursor-off" commands (understood at least by
44580 the Open Firmware flavour on OLPC).
44581
44582 2008-05-31 Michael Gorven <michael@gorven.za.net>
44583
44584 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44585 on and off sequences.
44586
44587 2008-05-31 Robert Millan <rmh@aybabtu.com>
44588
44589 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44590 * util/update-grub.in: Likewise.
44591
44592 2008-05-30 Pavel Roskin <proski@gnu.org>
44593
44594 * util/biosdisk.c (linux_find_partition): Simplify logic and
44595 make the code more universal. Keep special processing for
44596 devfs, but use a simple rule for all other devices. If the
44597 device ends with a number, append 'p' and the partition number.
44598 Otherwise, append only the partition number.
44599
44600 2008-05-30 Robert Millan <rmh@aybabtu.com>
44601
44602 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44603 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44604 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44605 the `root' parameter to Linux.
44606
44607 2008-05-30 Robert Millan <rmh@aybabtu.com>
44608
44609 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44610 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44611 --fs_uuid with --fs-uuid.
44612 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44613 all filesystems support them).
44614
44615 2008-05-30 Robert Millan <rmh@aybabtu.com>
44616
44617 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
44618 grub_printf() flags, since we're printing in units of 2 bytes.
44619
44620 2008-05-30 Robert Millan <rmh@aybabtu.com>
44621
44622 * util/grub.d/00_header.in: Remove obsolete comment referencing
44623 convert_system_path_to_grub_path().
44624 * util/update-grub.in: Likewise.
44625 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44626 (convert_system_path_to_grub_path): Add a warning message explaining
44627 that this function is deprecated. Rely on is_path_readable_by_grub()
44628 for the readability checks.
44629 (font_path): Use is_path_readable_by_grub() for the readability
44630 check rather than convert_system_path_to_grub_path().
44631
44632 2008-05-30 Robert Millan <rmh@aybabtu.com>
44633
44634 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44635 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44636 converting it first.
44637 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44638 grub.cfg for access to font file, and afterwards call it again to set
44639 the root device.
44640
44641 2008-05-30 Robert Millan <rmh@aybabtu.com>
44642
44643 * commands/search.c (options): Add --fs_uuid option.
44644 (search_fs_uuid): New function.
44645 (grub_cmd_search): Fix --set argument passing.
44646 Use search_fs_uuid() when requested via --fs_uuid.
44647 (grub_search_init): Update help message.
44648 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44649 and redeclare it as an array of 16-bit words.
44650 (grub_ext2_uuid): New function.
44651 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44652 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44653 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44654 (GRUB_DEVICE_BOOT_UUID): New variables.
44655 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44656 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44657 whenever possible.
44658 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44659 just assume `root' variable has the right value.
44660 * util/grub.d/10_linux.in: Likewise.
44661 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44662 via PRINT_FS_UUID.
44663 (main): Recognise `-t fs_uuid' argument.
44664
44665 2008-05-30 Robert Millan <rmh@aybabtu.com>
44666
44667 * util/biosdisk.c (map): Redefine structure to hold information
44668 about GRUB drive name.
44669 (get_drive): Reimplement without assuming (and verifying) BIOS-like
44670 drive names.
44671 (call_hook): Remove.
44672 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44673 member. Assume drive has partitions.
44674 (grub_util_biosdisk_open): Access device names via `.device' struct
44675 member.
44676 (open_device): Likewise.
44677 (find_drive): Likewise.
44678 (read_device_map): Adjust map[] usage to match the new struct
44679 definition. Don't check for duplicates (still possible, but not cheap
44680 anymore).
44681 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44682 (make_device_name): Remove assumption of BIOS-like drive names.
44683
44684 2008-05-30 Pavel Roskin <proski@gnu.org>
44685
44686 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44687 compiling execute.c doesn't need grub_script.tab.h anymore.
44688 (normal/command.c_DEPENDENCIES): Likewise.
44689 (normal/function.c_DEPENDENCIES): Likewise.
44690 * conf/i386-ieee1275.rmk: Likewise.
44691 * conf/i386-linuxbios.rmk: Likewise.
44692 * conf/i386-pc.rmk: Likewise.
44693 * conf/powerpc-ieee1275.rmk: Likewise.
44694 * conf/sparc64-ieee1275.rmk: Likewise.
44695
44696 2008-05-29 Pavel Roskin <proski@gnu.org>
44697
44698 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44699 when scanning metadata for volume group name.
44700
44701 * include/grub/script.h: Don't include grub_script.tab.h. It's
44702 a generated file, which may only be included from the files with
44703 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44704 use union YYSTYPE, as the later allows forward declaration.
44705 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44706
44707 2008-05-29 Robert Millan <rmh@aybabtu.com>
44708
44709 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44710 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44711 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44712 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44713 scan codes.
44714
44715 2008-05-29 Robert Millan <rmh@aybabtu.com>
44716
44717 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44718 control key combinations.
44719
44720 2008-05-29 Robert Millan <rmh@aybabtu.com>
44721
44722 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44723 * util/ieee1275/grub-install.in: ... to here.
44724 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44725 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44726 (grub_install_SOURCES): Likewise.
44727
44728 2008-05-29 Robert Millan <rmh@aybabtu.com>
44729
44730 * fs/affs.c: Update copyright year.
44731 * fs/ext2.c: Likewise.
44732 * fs/fshelp.c: Likewise.
44733 * fs/hfsplus.c: Likewise.
44734 * fs/ntfs.c: Likewise.
44735 * fs/xfs.c: Likewise.
44736 * include/grub/fshelp.h: Likewise.
44737 * util/grub-mkdevicemap.c: Likewise.
44738
44739 2008-05-28 Robert Millan <rmh@aybabtu.com>
44740
44741 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44742 might need to be fatfs to support some firmware implementations
44743 (e.g. OFW or EFI).
44744
44745 2008-05-28 Robert Millan <rmh@aybabtu.com>
44746
44747 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44748 devices.
44749 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44750 (make_device_map): Likewise.
44751
44752 2008-05-20 Bean <bean123ch@gmail.com>
44753
44754 * fs/fshelp.c (grub_fshelp_map_block): New function.
44755 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44756 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44757
44758 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44759 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44760 (grub_fshelp_journal): New structure.
44761 (grub_fshelp_map_block): New function prototype.
44762 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44763 (grub_fshelp_map_block): Likewise.
44764
44765 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44766 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44767 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44768 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44769 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44770 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44771 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44772 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44773 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44774 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44775 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44776 (grub_ext2_sblock): New members for journal support.
44777 (grub_ext3_journal_header): New structure.
44778 (grub_ext3_journal_revoke_header): Likewise.
44779 (grub_ext3_journal_block_tag): Likewise.
44780 (grub_ext3_journal_sblock): Likewise.
44781 (grub_fshelp_node): New members logfile and journal.
44782 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44783 grub_fshelp_map_block to get real block number.
44784 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44785 number.
44786 (grub_ext2_read_inode): Likewise.
44787 (grub_ext3_get_journal): New function.
44788 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44789 (grub_ext2_close): Release memory used by journal.
44790
44791 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44792 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44793 (grub_reiserfs_transaction_header): Renamed to
44794 grub_reiserfs_description_block, replace field data with real_blocks.
44795 (grub_reiserfs_commit_block): New structure.
44796 (grub_reiserfs_data): New member journal.
44797 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44798 number.
44799 (grub_reiserfs_read_symlink): Likewise.
44800 (grub_reiserfs_iterate_dir): Likewise.
44801 (grub_reiserfs_open): Likewise.
44802 (grub_reiserfs_read): Likewise.
44803 (grub_reiserfs_get_journal): New function.
44804 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44805 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44806 using grub_reiserfs_get_journal.
44807 (grub_reiserfs_close): Release memory used by journal.
44808
44809 * fs/affs.c (grub_affs_read_block): Change block type to
44810 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44811
44812 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44813
44814 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44815
44816 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44817
44818 * fs/udf.c (grub_udf_read_block): Change block type to
44819 grub_disk_addr_t. Use type cast to avoid warning.
44820
44821 * fs/xfs.c (grub_xfs_read_block): Likewise.
44822
44823 2008-05-16 Christian Franke <franke@computer.org>
44824
44825 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44826 to ensure that break with ESC will always work.
44827 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44828 Remove ESC from keyboard queue.
44829
44830 2008-05-16 Christian Franke <franke@computer.org>
44831
44832 * util/biosdisk.c: [__CYGWIN__] Add includes.
44833 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44834 (get_os_disk): Move variable declarations to OS specific
44835 parts to avoid warning.
44836 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44837 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44838 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44839 Cygwin.
44840 * util/getroot.c: [__CYGWIN__] Add includes.
44841 (strip_extra_slashes): Fix "/" case.
44842 [__CYGWIN__] (get_win32_path): New function.
44843 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44844 [__CYGWIN__] (find_root_device): Disable.
44845 [__CYGWIN__] (get_bootsec_serial): New function.
44846 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44847 [__linux__] (grub_guess_root_device): Add early returns to simplify
44848 structure.
44849 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44850 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44851 check for Linux only.
44852
44853 2008-05-15 Bean <bean123ch@gmail.com>
44854
44855 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44856 keyboard hang problem in apple's intel mac.
44857
44858 2008-05-09 Robert Millan <rmh@aybabtu.com>
44859
44860 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44861 devices.
44862 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44863 (make_device_map): Likewise.
44864 Reported by Aurelien Jarno <aurel32@debian.org>
44865
44866 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
44867
44868 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44869 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44870 (make_device_map): Output entries for xvd type disks.
44871
44872 2008-05-07 Robert Millan <rmh@aybabtu.com>
44873
44874 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44875 devices.
44876 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44877 (make_device_map): Likewise.
44878 Reported by Roland Dreier <rdreier@cisco.com>
44879
44880 2008-05-07 Robert Millan <rmh@aybabtu.com>
44881
44882 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44883 grub_strstr() call. Correct a few mistakes in failure path handling.
44884
44885 2008-05-06 Robert Millan <rmh@aybabtu.com>
44886
44887 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44888 Do not print a trailing slash (therefore, the root directory is an
44889 empty string).
44890 (convert_system_path_to_grub_path): Do not remove trailing slash
44891 from make_system_path_relative_to_its_root() output.
44892
44893 * util/i386/pc/grub-install.in: Add trailing slash to output from
44894 make_system_path_relative_to_its_root().
44895
44896 2008-05-06 Robert Millan <rmh@aybabtu.com>
44897
44898 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44899 ensures that output lines aren't intermangled with those sent to
44900 stderr (via grub_util_info()).
44901 * util/grub-probe.c (grub_refresh): Likewise.
44902 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44903
44904 2008-05-05 Christian Franke <franke@computer.org>
44905
44906 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44907 Add Cygwin device names.
44908 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44909 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44910 (check_device): Return error instead of success on empty name.
44911 (make_device_map): Move label inside linux specific code to
44912 prevent compiler warning.
44913
44914 2008-04-30 Robert Millan <rmh@aybabtu.com>
44915
44916 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44917 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44918 first boot option.
44919 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44920
44921 2008-04-29 Robert Millan <rmh@aybabtu.com>
44922
44923 * docs/grub.cfg: New file (example GRUB configuration).
44924
44925 2008-04-26 Robert Millan <rmh@aybabtu.com>
44926
44927 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44928 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44929 and `disk/ieee1275/nand.c'.
44930
44931 2008-04-25 Bean <bean123ch@gmail.com>
44932
44933 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44934 i386-linuxbios.
44935
44936 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44937 change the buffer size to 4096 for cdrom device.
44938
44939 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44940 and nand.mod.
44941 (_linux_mod_SOURCES): New variable.
44942 (_linux_mod_CFLAGS): Likewise.
44943 (_linux_mod_LDFLAGS): Likewise.
44944 (linux_mod_SOURCES): Likewise.
44945 (linux_mod_CFLAGS): Likewise.
44946 (linux_mod_LDFLAGS): Likewise.
44947 (nand_mod_SOURCES): Likewise.
44948 (nand_mod_CFLAGS): Likewise.
44949 (nand_mod_LDFLAGS): Likewise.
44950
44951 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44952 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44953 type property. (nand device in olpc don't have this property)
44954
44955 * include/grub/disk.h (grub_disk_dev_id): New macro
44956 GRUB_DISK_DEVICE_NAND_ID.
44957
44958 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44959 function prototype.
44960 (grub_rescue_cmd_initrd): Likewise.
44961
44962 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44963 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44964 ofw_cif_handler and ofw_idt, adjust padding number.
44965
44966 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44967 GRUB_MACHINE_IEEE1275 is defined.
44968
44969 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44970 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44971
44972 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44973 on nested function heap_init.
44974 (grub_upper_mem): New variable for i386-ieee1275.
44975 (grub_get_extended_memory): New function for i386-ieee1275.
44976 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44977
44978 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44979 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44980 property.
44981
44982 * loader/i386/ieee1275/linux.c: New file.
44983
44984 * loader/i386/ieee1275/linux_normal.c: New file.
44985
44986 * disk/ieee1275/nand.c: New file.
44987
44988 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44989
44990 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44991 value.
44992 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44993
44994 2008-04-18 Robert Millan <rmh@aybabtu.com>
44995
44996 Restructures early code path on ieee1275 to unify grub_main() as
44997 the first C function that is executed in every platform.
44998
44999 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
45000 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
45001 cmain().
45002 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
45003 * kern/ieee1275/cmain.c (cmain): Rename to ...
45004 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
45005 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
45006 at the beginning.
45007
45008 2008-04-18 Robert Millan <rmh@aybabtu.com>
45009
45010 * util/update-grub.in: Fix syntax error when setting
45011 `GRUB_PRELOAD_MODULES'.
45012 Reported by Stephane Chazelas <stephane@artesyncp.com>
45013
45014 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
45015
45016 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
45017 section into account, newer toolchains generate unique build ids
45018 * configure.ac: remove the test for --build-id=none acceptance,
45019 we want build ids to be preserved
45020 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
45021 far from other sections don't cause the raw binary images grow
45022 size
45023
45024 2008-04-15 Robert Millan <rmh@aybabtu.com>
45025
45026 * disk/lvm.c: Update copyright year.
45027 * kern/misc.c: Likewise.
45028
45029 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45030
45031 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
45032 there is no memory left for physical volume name.
45033
45034 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45035
45036 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
45037 volume name mapping to support bigger than 9 character names properly.
45038
45039 2008-04-13 Robert Millan <rmh@aybabtu.com>
45040
45041 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
45042 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
45043
45044 2008-04-13 Christian Franke <franke@computer.org>
45045
45046 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
45047 to create a floppy emulation boot CD when non emulation mode
45048 does not work.
45049 Enable Joliet CD filesystem extension.
45050
45051 2008-04-13 Robert Millan <rmh@aybabtu.com>
45052
45053 * kern/misc.c (grub_strncat): Fix off-by-one error.
45054 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
45055
45056 * kern/env.c (grub_env_context_close): Clear current context, not
45057 previous one.
45058 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
45059
45060 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
45061
45062 2008-04-13 Robert Millan <rmh@aybabtu.com>
45063
45064 Improve robustness when handling LVM.
45065
45066 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
45067 (and leave `*p' unmodified).
45068 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
45069 through it.
45070 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
45071 iterating through it.
45072 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
45073 through it.
45074 (grub_lvm_scan_device): Check the return value (and fail gracefully
45075 when due) on each grub_lvm_getvalue() or grub_strstr() call.
45076 Don't assume `vg->pvs != NULL' when iterating through it.
45077
45078 2008-04-13 Robert Millan <rmh@aybabtu.com>
45079
45080 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
45081 * genmk.rb (partmap): New variable.
45082 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
45083 (#{partmap}): New target rule.
45084 * genpartmaplist.sh: New file.
45085 * Makefile.in (pkglib_DATA): Add partmap.lst.
45086 (partmap.lst): New target rule.
45087 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
45088 modules (including all partition maps), instead of preloading them.
45089
45090 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
45091
45092 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
45093 `linux-boot-prober' (if installed) to detect other operating
45094 systems which are installed on the computer and add them to
45095 the boot menu.
45096 * conf/common.rmk: Build and install 30_os-prober.
45097
45098 2008-04-12 Robert Millan <rmh@aybabtu.com>
45099
45100 * kern/powerpc/ieee1275/init.c: Move from here ...
45101 * kern/ieee1275/init.c: ... to here. Update all users.
45102
45103 * kern/powerpc/ieee1275/cmain.c: Move from here ...
45104 * kern/ieee1275/cmain.c: ... to here. Update all users.
45105
45106 * kern/powerpc/ieee1275/openfw.c: Move from here ...
45107 * kern/ieee1275/openfw.c: ... to here. Update all users.
45108
45109 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
45110 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
45111
45112 2008-04-10 Pavel Roskin <proski@gnu.org>
45113
45114 * configure.ac: Always use "_cv_" in cache variables for
45115 compatibility with Autoconf 2.62.
45116
45117 2008-04-07 Robert Millan <rmh@aybabtu.com>
45118
45119 Revert grub/machine/init.h addition by Pavel (since it breaks on
45120 i386-ieee1275 and others):
45121 * util/i386/pc/misc.c: Remove grub/machine/init.h.
45122 * util/powerpc/ieee1275/misc.c: Likewise.
45123
45124 2008-04-07 Robert Millan <rmh@aybabtu.com>
45125
45126 * util/grub-probe.c (probe): Improve error message.
45127
45128 2008-04-07 Robert Millan <rmh@aybabtu.com>
45129
45130 * util/biosdisk.c (read_device_map): Skip devices that don't exist
45131 (this prevents the presence of a bogus entry from ruining the whole
45132 thing).
45133
45134 2008-04-06 Pavel Roskin <proski@gnu.org>
45135
45136 * util/biosdisk.c: Include grub/util/biosdisk.h.
45137 * util/grub-fstest.c (execute_command): Make static.
45138 * util/grub-mkdevicemap.c (check_device): Likewise.
45139 * util/i386/pc/misc.c: Include grub/machine/init.h.
45140 * util/powerpc/ieee1275/misc.c: Likewise.
45141 * util/lvm.c: Include grub/util/lvm.h.
45142 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45143 grub/cache.h.
45144 * util/raid.c: Include grub/util/raid.h.
45145 (grub_util_getdiskname): Make static.
45146
45147 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45148 grub_hostfs_fini(), as they are called from grub_init_all() and
45149 grub_fini_all() respectively. This fixes an infinite loop in
45150 grub-fstest due to double registration of hostfs.
45151 Reported by Christian Franke <Christian.Franke@t-online.de>
45152
45153 2008-04-05 Pavel Roskin <proski@gnu.org>
45154
45155 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45156 all 8 functions. Otherwise, probe function 0 only.
45157
45158 2008-04-04 Pavel Roskin <proski@gnu.org>
45159
45160 * commands/lspci.c (grub_lspci_iter): Print the bus number
45161 correctly.
45162
45163 * commands/lspci.c (grub_pci_classes): Fix typos.
45164 (grub_lspci_iter): Don't print func twice. Print vendor ID
45165 before device ID, as it's normally done.
45166
45167 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45168 Fix signedness warnings.
45169 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45170 Likewise.
45171 * util/ieee1275/get_disk_name.c: Include config.h so that
45172 _GNU_SOURCE is defined and getline() is declared. Mark an
45173 unused argument as such. Fix a signedness warning.
45174
45175 2008-04-02 Pavel Roskin <proski@gnu.org>
45176
45177 * genkernsyms.sh.in: Use more robust assignments for CC and
45178 srcdir. Quote srcdir.
45179 * gensymlist.sh.in: Likewise. Assert at the compile time that
45180 the symbol table is not empty.
45181
45182 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45183 * fs/cpio.c (grub_cpio_read): Likewise.
45184
45185 2008-04-01 Pavel Roskin <proski@gnu.org>
45186
45187 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45188 * disk/host.c (grub_host_open): Likewise.
45189 * disk/loopback.c (grub_loopback_open): Likewise.
45190 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45191 disk->id as in disk/host.c, not a multi-character constant.
45192
45193 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45194 later is obsolete, potentially dangerous and sets a bad example.
45195 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45196 * util/misc.c (grub_util_get_image_size): Likewise.
45197
45198 * disk/loopback.c (options): Improve help for "--partitions".
45199
45200 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45201 options to align them with the short options, e.g. "echo -e".
45202
45203 2008-03-31 Bean <bean123ch@gmail.com>
45204
45205 * video/reader/png.c (grub_png_data): New member is_16bit and
45206 image_data.
45207 (grub_png_decode_image_header): Detect 16 bit png image.
45208 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45209 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45210 (grub_video_reader_png): Release memory occupied by image_data.
45211
45212 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45213 4096 bytes.
45214 (grub_nfs_mount): Skip the test for sector per cluster.
45215
45216 * include/grub/ntfs.h (MAX_SPC): Removed.
45217
45218 2008-03-31 Bean <bean123ch@gmail.com>
45219
45220 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45221 (grub_probe_SOURCES): Add fs/afs.c.
45222 (grub_fstest_SOURCES): Likewise.
45223 (afs_mod_SOURCES): New variable.
45224 (afs_mod_CFLAGS): Likewise.
45225 (afs_mod_LDFLAGS): Likewise.
45226
45227 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45228 (grub_emu_SOURCES): Likewise.
45229
45230 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45231
45232 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45233
45234 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45235
45236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45237
45238 * fs/afs.c: New file.
45239
45240 2008-03-30 Pavel Roskin <proski@gnu.org>
45241
45242 * disk/host.c: Include grub/misc.h to fix a warning.
45243 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45244 warnings about implicit declarations.
45245
45246 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45247 variable.
45248 * include/grub/i386/loader.h: Change declaration of
45249 grub_linux_boot() to match what grub_loader_set() expects.
45250 * util/getroot.c (grub_guess_root_device): Return const char* to
45251 fix a warning.
45252 * util/grub-probe.c (probe): Fix a warning about uninitialized
45253 abstraction_name variable.
45254 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45255 second argument as unused to fix a warning.
45256
45257 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45258 missing grub_error() call.
45259
45260 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45261 2.60 and newer uses it to define datadir.
45262
45263 * commands/sleep.c: Fix warning about implicit declaration.
45264 * disk/memdisk.c: Likewise.
45265 * loader/aout.c: Likewise.
45266 * loader/i386/bsd_normal.c: Likewise.
45267 * util/grub-probe.c: Likewise.
45268
45269 * commands/i386/cpuid.c (has_longmode): Make static.
45270 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45271 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45272
45273 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45274 GDT. This is more robust, as %ds can change.
45275 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45276 calling real_to_prot().
45277 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45278
45279 2008-03-28 Pavel Roskin <proski@gnu.org>
45280
45281 * kern/i386/pc/startup.S: Assert that uncompressed functions
45282 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45283 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45284 code, as they push parts of the code (error handlers) beyond
45285 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45286 code as correctness and size.
45287
45288 2008-03-28 Pavel Roskin <proski@gnu.org>
45289
45290 * kern/i386/pc/startup.S
45291 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45292 data block address to the real mode, keep offset minimal. This
45293 works around a bug in AWARD BIOS on old Athlon systems, which
45294 makes CD detection hang.
45295
45296 2008-03-26 Pavel Roskin <proski@gnu.org>
45297
45298 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45299 const.
45300 * include/grub/normal.h: Add grub_parse_color_name_pair()
45301 declaration.
45302
45303 2008-03-24 Bean <bean123ch@gmail.com>
45304
45305 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45306 (cd_count): Removed.
45307 (cd_drive): New variable.
45308 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45309 (grub_biosdisk_call_hook): Likewise.
45310 (grub_biosdisk_iterate): Change cdrom detection method.
45311 (grub_biosdisk_open): Replace cd_start with cd_drive.
45312 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45313 detect cdrom device.
45314
45315 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45316 Removed.
45317 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45318 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45319 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45320 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45321 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45322 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45323 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45324 (grub_biosdisk_cdrp): New structure.
45325 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45326
45327 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45328
45329 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45330 device.
45331
45332 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45333 New function.
45334
45335 2008-03-20 Robert Millan <rmh@aybabtu.com>
45336
45337 Remove 2 TiB limit in ata.mod.
45338 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45339 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45340 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45341 grub_uint64_t instead of grub_uint32_t.
45342
45343 2008-03-05 Bean <bean123ch@gmail.com>
45344
45345 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45346 (grub_multiboot): Set boot device.
45347
45348 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45349
45350 2008-03-02 Bean <bean123ch@gmail.com>
45351
45352 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45353 symlink_buffer.
45354
45355 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45356
45357 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45358 texinfo.tex.
45359
45360 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45361 modified.
45362
45363 * docs/fdl.texi: New file.
45364
45365 * docs/mdate-sh: New file. Copied from gnulib.
45366 * docs/texinfo.tex: Likewise.
45367
45368 * config.guess: Updated from gnulib.
45369 * install-sh: Likewise.
45370
45371 2008-02-28 Robert Millan <rmh@aybabtu.com>
45372
45373 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45374 (aout_mod_SOURCES): New variable.
45375 (aout_mod_CFLAGS): Likewise.
45376 (aout_mod_LDFLAGS): Likewise.
45377
45378 * conf/i386-ieee1275.rmk: Likewise.
45379
45380 2008-02-28 Robert Millan <rmh@aybabtu.com>
45381
45382 * util/update-grub.in: Reorganise terminal validity check. Accept
45383 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45384 Based on suggestion by Franklin PIAT.
45385
45386 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45387
45388 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45389 function.
45390 * util/getroot.c (grub_util_check_block_device): New function that
45391 returns the given argument if it is a block device and returns NULL else.
45392 * util/grub-probe.c (argument_is_device): New variable.
45393 (probe): Promote device_name from a variable to an argument. Receive
45394 device_name from grub_util_check_block_device() if path is NULL and from
45395 grub_guess_root_device() else. Do not free() device_name anymore.
45396 (options): Introduce new parameter '-d, --device'.
45397 (main): Add description of the new parameter to the help screen.
45398 Rename path variable to argument. Set argument_is_device if the '-d'
45399 option is given. Pass argument to probe() depending on
45400 argument_is_device.
45401
45402 2008-02-24 Bean <bean123ch@gmail.com>
45403
45404 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45405 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45406 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45407 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45408 (GRUB_ISO9660_VOLDESC_END): Likewise.
45409 (grub_iso9660_primary_voldesc): New member escape.
45410 (grub_iso9660_data): New member joliet.
45411 (grub_iso9660_convert_string): New function.
45412 (grub_iso9660_mount): Detect joliet extension.
45413 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45414 (grub_iso9660_iso9660_label): Likewise.
45415
45416 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45417 (grub_setup_SOURCES): Add fs/udf.c.
45418 (grub_fstest_SOURCES): Likewise.
45419 (udf_mod_SOURCES): New variable.
45420 (udf_mod_CFLAGS): Likewise.
45421 (udf_mod_LDFLAGS): Likewise.
45422
45423 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45424 (grub_emu_SOURCES): Likewise.
45425
45426 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45427
45428 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45429
45430 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45431
45432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45433
45434 * fs/udf.c: New file.
45435
45436 2008-02-24 Robert Millan <rmh@aybabtu.com>
45437
45438 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45439 (normal/lexer.c_DEPENDENCIES): New variables.
45440 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45441 (normal/lexer.c_DEPENDENCIES): Likewise.
45442 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45443 (normal/lexer.c_DEPENDENCIES): Likewise.
45444 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45445 (normal/lexer.c_DEPENDENCIES): Likewise.
45446 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45447 (normal/lexer.c_DEPENDENCIES): Likewise.
45448 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45449 (normal/lexer.c_DEPENDENCIES): Likewise.
45450
45451 2008-02-23 Robert Millan <rmh@aybabtu.com>
45452
45453 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45454 since they were intended to be in hex. This didn't break previously
45455 because of a bug in gpt_partition_map_iterate() (see below).
45456
45457 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45458 when checking the validity of GPT header.
45459 Remove `partno', since it always provides the same information as `i'.
45460
45461 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45462
45463 * include/grub/efi/time.h: Fix a wrong comment.
45464
45465 2008-02-19 Pavel Roskin <proski@gnu.org>
45466
45467 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45468 message.
45469
45470 2008-02-19 Bean <bean123ch@gmail.com>
45471
45472 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45473 (aout_mod_SOURCES): New variable.
45474 (aout_mod_CFLAGS): Likewise.
45475 (aout_mod_LDFLAGS): Likewise.
45476 (_bsd_mod_SOURCES): New variable.
45477 (_bsd_mod_CFLAGS): Likewise.
45478 (_bsd_mod_LDFLAGS): Likewise.
45479 (bsd_mod_SOURCES): New variable.
45480 (bsd_mod_CFLAGS): Likewise.
45481 (bsd_mod_LDFLAGS): Likewise.
45482
45483 * include/grub/aout.h: New file.
45484
45485 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45486
45487 * include/grub/i386/bsd.h: New file.
45488
45489 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45490 to make it public.
45491
45492 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45493 function is called, so that it's possible to change it inside the hook.
45494 (grub_elf64_load): Likewise.
45495 (grub_elf_file): Don't close the file if elf header is not found.
45496 (grub_elf_close): Close the file if grub_elf_file fails (The new
45497 grub_elf_file won't close it).
45498 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45499 (grub_elf64_size): Likewise.
45500
45501 * kern/i386/loader.S (grub_unix_real_boot): New function.
45502
45503 * loader/aout.c: New file.
45504
45505 * loader/i386/bsd.c: New file.
45506
45507 * loader/i386/bsd_normal.c: New file.
45508
45509 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45510
45511 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
45512 can test other formats.
45513
45514 2008-02-19 Robert Millan <rmh@aybabtu.com>
45515
45516 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45517 (grub_gpt_partition_type_empty): Redefine with macro from
45518 `<grub/gpt_partition.h>'.
45519 (gpt_partition_map_iterate): Adjust partition type comparison.
45520
45521 Export `entry' as partmap-specific `part.data' struct.
45522 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45523
45524 * include/grub/gpt_partition.h (grub_gpt_header)
45525 (grub_gpt_partentry): ... to here (new file).
45526
45527 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45528
45529 (grub_gpt_partition_type_bios_boot): New const variable, defined
45530 with macro from `<grub/gpt_partition.h>'.
45531
45532 (setup): Replace `first_start' with `embed_region', which keeps
45533 track of the embed region (and is partmap-agnostic).
45534
45535 Replace find_first_partition_start() with find_usable_region(),
45536 which finds a usable region for embedding using partmap-specific
45537 knowledge (supports PC/MSDOS and GPT).
45538
45539 Fix all assumptions that the embed region start at sector 1, using
45540 `embed_region.start' from now on. Similarly, use `embed_region.end'
45541 rather than `first_start' to calculate available size.
45542
45543 In grub_util_info() message, replace "into after the MBR" with an
45544 indication of the specific sector our embed region starts at.
45545
45546 2008-02-19 Robert Millan <rmh@aybabtu.com>
45547
45548 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45549 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45550 `commands/reboot.c'.
45551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45552 (halt_mod_SOURCES): Likewise.
45553 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45554 (halt_mod_SOURCES): Likewise.
45555
45556 2008-02-17 Christian Franke <franke@computer.org>
45557
45558 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45559
45560 2008-02-17 Robert Millan <rmh@aybabtu.com>
45561
45562 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45563 set `first_start' to 0 for non-PC/MSDOS partition maps.
45564
45565 2008-02-16 Robert Millan <rmh@aybabtu.com>
45566
45567 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45568 do not assume partition map is PC/MSDOS before performing checks that
45569 are specific to that layout.
45570
45571 2008-02-13 Robert Millan <rmh@aybabtu.com>
45572
45573 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45574 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45575 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45576
45577 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45578
45579 * configure.ac: Only a cosmetic change on the handling of
45580 -fno-stack-protector.
45581
45582 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
45583
45584 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45585 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45586 reboot.c.
45587 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45588 (halt_mod_SOURCES): New variable.
45589 (halt_mod_CFLAGS): Likewise.
45590 (halt_mod_LDFLAGS): Likewise.
45591 (reboot_mod_SOURCES): Likewise.
45592 (reboot_mod_CFLAGS): Likewise.
45593 (reboot_mod_LDFLAGS): Likewise.
45594
45595 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45596 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45597 reboot.c.
45598 (halt_mod_SOURCES): Likewise.
45599 (reboot_mod_SOURCES): Likewise.
45600
45601 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45602 commands/i386/pc/reboot.c by commands/reboot.c.
45603 (reboot_mod_SOURCES): Likewise.
45604
45605 * commands/i386/pc/reboot.c: merge this file ...
45606
45607 * commands/ieee1275/reboot.c: ... and this file ...
45608
45609 * commands/reboot.c: ... to this file.
45610 Add some precompiler directive to include the correct header for
45611 each machine.
45612
45613 * commands/ieee1275/halt.c: move this file ...
45614
45615 * commands/halt.c: ... to here.
45616 Add some precompiler directive to include the correct header for
45617 each machine.
45618
45619 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45620 (grub_halt): Likewise.
45621
45622 * kern/efi/efi.c (grub_reboot): New function.
45623 (grub_halt): Likewise.
45624
45625 2008-02-12 Robert Millan <rmh@aybabtu.com>
45626
45627 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45628 /dev (like it is done for /dev/mapper). This doesn't provide support
45629 for EVMS, but at least it is now easy to identify the problem when it
45630 arises.
45631
45632 2008-02-11 Robert Millan <rmh@aybabtu.com>
45633
45634 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45635 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45636 comparing it with -1, not 0.
45637
45638 2008-02-10 Robert Millan <rmh@aybabtu.com>
45639
45640 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45641 `disk/lvm.c'.
45642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45643 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45644
45645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45646 `disk/lvm.c' to the end of the list.
45647 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45648 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45649
45650 2008-02-10 Robert Millan <rmh@aybabtu.com>
45651
45652 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45653 grub_print_error() instead. This will let user know why we're entering
45654 rescue mode.
45655 Based on suggestions from Sam Morris.
45656
45657 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
45658
45659 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45660 on remaining N args, instead of "--" arg N times.
45661
45662 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45663
45664 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45665 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45666 pattern for unknown glyphs.
45667
45668 2008-02-09 Robert Millan <rmh@aybabtu.com>
45669
45670 * configure.ac: Probe for `help2man'.
45671 * Makefile.in (builddir): New variable.
45672 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45673 or otherwise add a few flags/options to it.
45674 (install-local): For every executable utility or script that is
45675 installed, invoke $(HELP2MAN) to install a manpage based on --help
45676 output.
45677
45678 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45679 that it doesn't prevent --help from working in build tree.
45680
45681 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45682 with `bug-grub@gnu.org'.
45683 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45684 * util/update-grub.in (usage): New function.
45685 Implement proper argument check, with support for --help and --version
45686 (as well as existing -y).
45687
45688 2008-02-09 Christian Franke <franke@computer.org>
45689
45690 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45691 avoid overwriting previous output.
45692 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45693
45694 2008-02-09 Robert Millan <rmh@aybabtu.com>
45695
45696 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45697 drawing the menu.
45698
45699 2008-02-09 Robert Millan <rmh@aybabtu.com>
45700
45701 * commands/sleep.c: New file.
45702 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45703 (sleep_mod_SOURCES): New variable.
45704 (sleep_mod_CFLAGS): Likewise.
45705 (sleep_mod_LDFLAGS): Likewise.
45706
45707 2008-02-09 Robert Millan <rmh@aybabtu.com>
45708
45709 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45710 situations in which we can deduce the RAID size and the superblock
45711 doesn't match it.
45712
45713 2008-02-09 Robert Millan <rmh@aybabtu.com>
45714
45715 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45716 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45717 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45718
45719 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45720 and return a grub_diskmemberlist_t composed of physical array members.
45721 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45722
45723 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45724 prototype.
45725 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45726 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45727 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45728
45729 * util/grub-probe.c (probe): Move partmap probing code from here ...
45730 (probe_partmap): ... to here.
45731 (probe): Use probe_partmap() once for the disk we're probing, and
45732 additionally, when such disk contains a memberlist() struct member,
45733 once for each disk that is contained in the structure returned by
45734 memberlist().
45735
45736 2008-02-09 Robert Millan <rmh@aybabtu.com>
45737
45738 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45739 environment variable to 'all' in order to obtain debug output from
45740 non-util/ code.
45741 * util/i386/pc/grub-setup.c (main): Likewise.
45742
45743 2008-02-08 Robert Millan <rmh@aybabtu.com>
45744
45745 * disk/raid.c (grub_raid_scan_device): Check for
45746 `array->device[sb.this_disk.number]' rather than for
45747 `array->device[sb.this_disk.number]->name', since the latter is not
45748 guaranteed to be accessible.
45749
45750 2008-02-08 Robert Millan <rmh@aybabtu.com>
45751
45752 * disk/raid.c: Update copyright.
45753 * fs/cpio.c: Likewise.
45754 * include/grub/raid.h: Likewise.
45755 * loader/i386/pc/multiboot.c: Likewise.
45756 * util/hostfs.c: Likewise.
45757
45758 2008-02-08 Robert Millan <rmh@aybabtu.com>
45759
45760 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45761 to a grub_disk_t array.
45762 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45763 `device[x]'.
45764 (grub_raid_scan_device): Replace `device[x].name' accesses with
45765 `device[x]->name'. Simplify initialization of `array->device[x]'.
45766
45767 2008-02-08 Robert Millan <rmh@aybabtu.com>
45768
45769 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45770 grub_dprintf() calls.
45771 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45772 error message.
45773
45774 2008-02-07 Christian Franke <franke@computer.org>
45775
45776 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45777 instead of fseek and ftell to support large files.
45778 (grub_hostfs_read): Likewise.
45779
45780 2008-02-07 Robert Millan <rmh@aybabtu.com>
45781
45782 Patch from Jeroen Dekkers.
45783 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
45784 failure, since successfully reading all array members might not be
45785 required.
45786
45787 2008-02-06 Robert Millan <rmh@aybabtu.com>
45788
45789 * util/grub-probe.c (probe): Simplify partmap probing (with the
45790 assumption that the first word up to the underscore equals to
45791 the module name).
45792
45793 2008-02-06 Christian Franke <franke@computer.org>
45794
45795 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45796 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45797 last block of a cpio or tar stream.
45798 Check for "TRAILER!!!" instead of any empty data
45799 block to detect last block of a cpio stream.
45800 (grub_cpio_dir): Fix constness of variable np.
45801 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45802 cpio or tar trailer is detected. This fixes a crash
45803 on open of a non existing file.
45804
45805 2008-02-05 Bean <bean123ch@gmail.com>
45806
45807 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45808 address of entry.
45809 (grub_multiboot_load_elf64): Likewise.
45810 (grub_multiboot): Initialize mbi structure.
45811
45812 * util/grub-fstest.c: Don't include unused header file script.h.
45813
45814 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
45815 of file.
45816 (grub_fstest_SOURCES): Likewise.
45817
45818 2008-02-05 Robert Millan <rmh@aybabtu.com>
45819
45820 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45821 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45822 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45823 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45824
45825 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45826 (translation_table): Replace hardcoded values with macros
45827 provided by `<grub/term.h>'.
45828
45829 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45830 (keyboard_map): Correct/add a few values, with macros provided
45831 by `<grub/term.h>'.
45832 (keyboard_map_shift): Zero values that don't differ from their
45833 `keyboard_map' equivalents.
45834 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45835 Discard the second scan code that is always sent by Caps lock.
45836 Only use `keyboard_map_shift' when it provides a non-zero value,
45837 otherwise fallback to `keyboard_map'.
45838
45839 2008-02-04 Bean <bean123ch@gmail.com>
45840
45841 * Makefile.in (enable_grub_fstest): New variable.
45842
45843 * conf/common.rmk (grub_fstest_init.lst): New rule.
45844 (grub_fstest_init.h): Likewise.
45845 (grub_fstest_init.c): Likewise.
45846 (util/grub-fstest.c_DEPENDENCIES): New variable.
45847 (grub_fstest_SOURCES): Likewise.
45848
45849 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45850
45851 * util/grub-fstest.c: New file.
45852
45853 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45854
45855 Make grub-setup handle a separate root device.
45856
45857 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45858 so that the root device can be compared with the destination
45859 device.
45860 When embedding the core image, if the root and destination devices
45861 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45862 0xFF.
45863 When not embedding, set ROOT_DRIVE to 0xFF.
45864
45865 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45866
45867 Add support for having a grub directory in a different drive. This
45868 is still only the data handling part.
45869
45870 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45871 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45872 (grub_root_drive): New variable.
45873
45874 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45875 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45876 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45877 as it was.
45878
45879 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45880
45881 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45882 macro.
45883 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45884
45885 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45886 is bogus, because PXE booting does not specify any drive
45887 correctly.
45888
45889 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45890 am not sure if this is really correct.
45891
45892 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45893 is always identical to the boot drive when booting from a CD.
45894
45895 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45896 longer.
45897 (root_drive): New variable.
45898 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45899 (setup_sectors): Push %dx right after popping it, because %dh will
45900 be modified later.
45901 (copy_buffer): Restore %dx.
45902
45903 2008-02-03 Robert Millan <rmh@aybabtu.com>
45904
45905 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45906 use `cdboot.img' for cdrom images.
45907
45908 2008-02-03 Robert Millan <rmh@aybabtu.com>
45909
45910 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45911 only setup gfxterm when `font' command has succeeded.
45912
45913 2008-02-03 Robert Millan <rmh@aybabtu.com>
45914
45915 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45916 (grub_rescue_cmd_multiboot_loader)
45917 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45918
45919 2008-02-03 Pavel Roskin <proski@gnu.org>
45920
45921 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
45922 %edx and %esi from stack only after grub_gate_a20() is called.
45923 grub_gate_a20() clobbers %edx.
45924
45925 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45926
45927 * configure.ac (AC_INIT): Bumped to 1.96.
45928
45929 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45930 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45931 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45932 video/readers/png.c.
45933
45934 2008-02-03 Bean <bean123ch@gmail.com>
45935
45936 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45937 (cdboot_img_SOURCES): New variable.
45938 (cdboot_img_ASFLAGS): New variable.
45939 (cdboot_img_LDFLAGS): New variable.
45940
45941 * boot/i386/pc/cdboot.S: New file.
45942
45943 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45944 (cd_count): Likewise.
45945 (grub_biosdisk_get_drive): Add support for cd device.
45946 (grub_biosdisk_call_hook): Likewise.
45947 (grub_biosdisk_iterate): Likewise.
45948 (grub_biosdisk_open): Likewise.
45949 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45950 (grub_biosdisk_rw): Support reading from cd device.
45951 (GRUB_MOD_INIT): Iterate cd devices.
45952
45953 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45954 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45955 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45956
45957 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45958
45959 2008-02-02 Robert Millan <rmh@aybabtu.com>
45960
45961 * commands/read.c: New file.
45962 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45963 (read_mod_SOURCES): New variable.
45964 (read_mod_CFLAGS): Likewise.
45965 (read_mod_LDFLAGS): Likewise.
45966
45967 2008-02-02 Robert Millan <rmh@aybabtu.com>
45968
45969 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45970 determining whether menu has to be displayed.
45971
45972 2008-02-02 Marco Gerards <marco@gnu.org>
45973
45974 * bus/pci.c: New file.
45975
45976 * include/grub/pci.h: Likewise.
45977
45978 * include/grub/i386/pc/pci.h: Likewise.
45979
45980 * commands/lspci.c: Likewise.
45981
45982 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45983 `lspci.mod'.
45984 (pci_mod_SOURCES): New variable.
45985 (pci_mod_CFLAGS): Likewise.
45986 (pci_mod_LDFLAGS): Likewise.
45987 (lspci_mod_SOURCES): Likewise.
45988 (lspci_mod_CFLAGS): Likewise.
45989 (lspci_mod_LDFLAGS): Likewise.
45990
45991 2008-02-02 Bean <bean123ch@gmail.com>
45992
45993 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45994 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45995
45996 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45997 (grub_xfs_btree_node): New structure.
45998 (grub_xfs_btree_root): New structure.
45999 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
46000 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
46001 (GRUB_XFS_EXTENT_BLOCK): Likewise.
46002 (GRUB_XFS_EXTENT_SIZE): Likewise.
46003 (grub_xfs_read_block): Support btree format type.
46004 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
46005 Use directory block as basic unit.
46006
46007 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
46008
46009 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
46010 __attribute__ ((__regparm__ (1))).
46011
46012 2008-02-01 Robert Millan <rmh@aybabtu.com>
46013
46014 Correct a mistake in previous commit.
46015
46016 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
46017 top.
46018 (normal/command.c_DEPENDENCIES): New variable.
46019
46020 2008-02-01 Robert Millan <rmh@aybabtu.com>
46021
46022 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
46023 top.
46024 (normal/command.c_DEPENDENCIES): New variable.
46025 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
46026 * conf/i386-ieee1275.rmk: Likewise.
46027 * conf/i386-linuxbios.rmk: Likewise.
46028 * conf/i386-pc.rmk: Likewise.
46029 * conf/sparc64-ieee1275.rmk: Likewise.
46030 * conf/powerpc-ieee1275.rmk: Likewise.
46031 (grub_emu_SOURCES): Add `fs/fshelp.c'.
46032
46033 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
46034
46035 2008-02-01 Robert Millan <rmh@aybabtu.com>
46036
46037 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
46038 call at beginning of function.
46039
46040 2008-01-31 Pavel Roskin <proski@gnu.org>
46041
46042 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
46043 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
46044 (grub_mkrescue_SOURCES): Likewise.
46045 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
46046
46047 2008-01-30 Robert Millan <rmh@aybabtu.com>
46048
46049 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
46050 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
46051 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
46052 (grub_probe_SOURCES): ... to here.
46053
46054 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
46055 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
46056 * conf/i386-ieee1275.rmk: Likewise.
46057 * conf/i386-linuxbios.rmk: Likewise.
46058 * conf/powerpc-ieee1275.rmk: Likewise.
46059
46060 2008-01-30 Tristan Gingold <gingold@free.fr>
46061
46062 * kern/rescue.c: Silently accept empty lines.
46063
46064 2008-01-29 Bean <bean123ch@gmail.com>
46065
46066 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
46067 (real_code_2): Code cleanup and change comment style.
46068 (move_memory): Avoid using 32-bit address mode.
46069
46070 2008-01-29 Bean <bean123ch@gmail.com>
46071
46072 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
46073 (png_mod_SOURCES): New variable.
46074 (png_mod_CFLAGS): Likewise.
46075 (png_mod_LDFLAGS): Likewise.
46076
46077 * video/readers/png.c: New file.
46078
46079 2008-01-28 Robert Millan <rmh@aybabtu.com>
46080
46081 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
46082 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
46083 `ifndef GRUB_MOD_GAP' hack.
46084 * util/elf/grub-mkimage.c (add_segments): Likewise.
46085
46086 2008-01-27 Robert Millan <rmh@aybabtu.com>
46087
46088 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
46089 `GRUB_MOD_GAP' for platforms in which it's not defined.
46090 * util/elf/grub-mkimage.c (add_segments): Likewise.
46091
46092 2008-01-27 Robert Millan <rmh@aybabtu.com>
46093
46094 Get grub-emu to build again (including parallel builds).
46095
46096 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
46097 Split into ...
46098 (util/grub-emu.c_DEPENDENCIES): ... this, ...
46099 (normal/execute.c_DEPENDENCIES): ... this, ...
46100 (grub-emu_DEPENDENCIES): ... and this.
46101
46102 * conf/i386-efi.rmk: Likewise.
46103 * conf/i386-linuxbios.rmk: Likewise.
46104 * conf/i386-ieee1275.rmk: Likewise.
46105 * conf/powerpc-ieee1275.rmk: Likewise.
46106 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
46107
46108 2008-01-27 Robert Millan <rmh@aybabtu.com>
46109
46110 * NEWS: Add a few items.
46111
46112 2008-01-27 Robert Millan <rmh@aybabtu.com>
46113
46114 Fix parallel builds with grub-emu. Based on earlier commit for
46115 grub-probe and grub-setup.
46116
46117 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46118 (util/grub-emu.c_DEPENDENCIES): ... this.
46119 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46120 (util/grub-emu.c_DEPENDENCIES): ... this.
46121 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46122 (util/grub-emu.c_DEPENDENCIES): ... this.
46123 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46124 (util/grub-emu.c_DEPENDENCIES): ... this.
46125 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46126 (util/grub-emu.c_DEPENDENCIES): ... this.
46127
46128 2008-01-27 Pavel Roskin <proski@gnu.org>
46129
46130 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
46131 to create a gap between _end and the modules added to the image
46132 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
46133 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
46134 * util/elf/grub-mkimage.c (add_segments): Likewise.
46135
46136 2008-01-26 Pavel Roskin <proski@gnu.org>
46137
46138 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46139 just return an error.
46140
46141 2008-01-26 Bean <bean123ch@gmail.com>
46142
46143 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46144 (grub_reiserfs_get_item): Save offset of the next item.
46145 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46146
46147 2008-01-25 Robert Millan <rmh@aybabtu.com>
46148
46149 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46150 make all filesystem sources appear together (possibly fixing omissions
46151 while at it).
46152 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46153 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46154 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46156
46157 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46158 add `kern/file.c'.
46159 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46160 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46161 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46162 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46163
46164 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46165 (probe): Add a sanity check to make sure of our ability to read
46166 requested files when probing for filesystem type.
46167
46168 * genmk.rb: Update copyright year (2007).
46169
46170 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46171 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46172 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46173 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46174 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46175 : Remove function prototypes.
46176
46177 2008-01-25 Robert Millan <rmh@aybabtu.com>
46178
46179 Revert my previous commits (based on wrong assumption of how grub_errno
46180 works).
46181
46182 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
46183 * kern/file.c (grub_file_open): Likewise.
46184
46185 2008-01-24 Pavel Roskin <proski@gnu.org>
46186
46187 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46188 that hang if GRUB tries to setup colors.
46189 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46190 colors for firmwares that don't support it.
46191 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46192 Recognize Open Hack'Ware, set flags to work around its
46193 limitations.
46194
46195 2008-01-24 Robert Millan <rmh@aybabtu.com>
46196
46197 * kern/file.c (grub_file_open): Do not account previous failures of
46198 unrelated functions when grub_errno is checked for.
46199 Reported by Oleg Strikov.
46200
46201 2008-01-24 Bean <bean123ch@gmail.com>
46202
46203 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46204 (grub_ufs_sblock): New member volume name.
46205 (grub_ufs_find_file): Fix string copy bug.
46206 (grub_ufs_label): Implement this function properly.
46207
46208 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46209 (grub_hfs_iterate_records): Use the correct file number for extents
46210 and catalog file. Fix problem in next index calculation.
46211 (grub_hfs_find_node): Replace recursive function call with loop.
46212 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46213
46214 2008-01-23 Robert Millan <rmh@aybabtu.com>
46215
46216 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46217 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46218 (grub_multiboot2_real_boot): New function prototype.
46219
46220 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46221 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46222
46223 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46224 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46225
46226 2008-01-23 Robert Millan <rmh@aybabtu.com>
46227
46228 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46229 #ifdef'ed out grub_printf().
46230
46231 2008-01-23 Robert Millan <rmh@aybabtu.com>
46232
46233 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46234 grub_dprintf calls, since they make "debug=all" mode unusable.
46235 (grub_console_checkkey): Likewise.
46236
46237 2008-01-23 Robert Millan <rmh@aybabtu.com>
46238
46239 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46240 `term/i386/pc/at_keyboard.c'.
46241 (pkglib_MODULES): Add `serial.mod'.
46242 (serial_mod_SOURCES): New variable.
46243 (serial_mod_CFLAGS): Likewise.
46244 (serial_mod_LDFLAGS): Likewise.
46245
46246 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46247 `<grub/powerpc/ieee1275/console.h>'.
46248 (grub_keyboard_controller_init): New function prototype.
46249 (grub_console_checkkey): Likewise.
46250 (grub_console_getkey): Likewise.
46251
46252 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46253 keyboard on i386.
46254
46255 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46256 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46257
46258 2008-01-23 Robert Millan <rmh@aybabtu.com>
46259
46260 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46261 present, "(memdisk)/boot/grub" becomes the default prefix.
46262
46263 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46264 a memdisk tarball with all the modules. Add --overlay=DIR option that
46265 allows users to overlay additional files into the image.
46266
46267 2008-01-23 Robert Millan <rmh@aybabtu.com>
46268
46269 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46270 and `machine/memory.h'.
46271 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46272 (_multiboot_mod_SOURCES): New variable.
46273 (_multiboot_mod_CFLAGS): Likewise.
46274 (_multiboot_mod_LDFLAGS): Likewise.
46275 (multiboot_mod_SOURCES): Likewise.
46276 (multiboot_mod_CFLAGS): Likewise.
46277 (multiboot_mod_LDFLAGS): Likewise.
46278
46279 * include/grub/i386/ieee1275/loader.h: New file.
46280
46281 * include/grub/i386/ieee1275/machine.h: Likewise.
46282
46283 * include/grub/i386/ieee1275/memory.h: Likewise.
46284
46285 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46286 variable declaration.
46287 (grub_os_area_size): Likewise.
46288
46289 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46290 (grub_lower_mem, grub_upper_mem): New variables.
46291 (grub_stop_floppy): New function (just to make
46292 grub_multiboot2_real_boot() happy).
46293
46294 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46295 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46296 (grub_stop): New function.
46297 Include `"../realmode.S"' and `"../loader.S"'.
46298
46299 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46300 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46301
46302 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46303 rely on grub_multiboot2_real_boot() for final boot.
46304
46305 2008-01-22 Robert Millan <rmh@aybabtu.com>
46306
46307 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46308 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46309 device that doesn't look like an SD card.
46310 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46311 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46312 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46313 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46314 found.
46315
46316 2008-01-22 Robert Millan <rmh@aybabtu.com>
46317
46318 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46319 avoid claiming over our own code.
46320
46321 2008-01-22 Bean <bean123ch@gmail.com>
46322
46323 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46324 (jpeg_mod_SOURCES): New variable.
46325 (jpeg_mod_CFLAGS): Likewise.
46326 (jpeg_mod_LDFLAGS): Likewise.
46327
46328 * video/readers/jpeg.c : New file.
46329
46330 2008-01-22 Bean <bean123ch@gmail.com>
46331
46332 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46333 there are no more items.
46334
46335 2008-01-21 Robert Millan <rmh@aybabtu.com>
46336
46337 * kern/mm.c (grub_mm_init_region): Improve debug message.
46338
46339 2008-01-21 Robert Millan <rmh@aybabtu.com>
46340
46341 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46342 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46343 address.
46344 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46345 a C macro.
46346 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46347 Indicates start of upper memory.
46348 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46349 (generate_image): Abort when image size is big enough to corrupt
46350 upper memory.
46351
46352 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46353 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46354 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46355 instead of hardcoding 0xA0000.
46356 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46357 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46358 instead of hardcoding 0xA0000.
46359
46360 2008-01-21 Robert Millan <rmh@aybabtu.com>
46361
46362 * disk/memdisk.c (memdisk_size): New variable.
46363 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46364 `memdisk_size'.
46365 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46366 image to dynamic memory.
46367 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46368 `memdisk_size'. Free memdisk block.
46369
46370 2008-01-21 Robert Millan <rmh@aybabtu.com>
46371
46372 Fix detection of very small filesystems (like tar).
46373
46374 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46375 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46376 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46377 a problem with this disk).
46378
46379 2008-01-21 Robert Millan <rmh@aybabtu.com>
46380
46381 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46382 on grub_biosdisk_rw_standard() error.
46383
46384 2008-01-21 Robert Millan <rmh@aybabtu.com>
46385
46386 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46387 recent changes.
46388 * kern/elf.c: Likewise.
46389 * kern/ieee1275/ieee1275.c: Likewise.
46390 * kern/powerpc/ieee1275/openfw.c: Likewise.
46391 * term/ieee1275/ofconsole.c: Likewise.
46392
46393 2008-01-21 Robert Millan <rmh@aybabtu.com>
46394
46395 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46396
46397 * include/grub/kernel.h (grub_arch_memdisk_addr)
46398 (grub_arch_memdisk_size): Moved from here ...
46399
46400 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46401 (grub_arch_memdisk_size): ... to here.
46402
46403 2008-01-21 Robert Millan <rmh@aybabtu.com>
46404
46405 Mostly based on bugfix from Bean.
46406
46407 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46408 attribute with hook() parameter.
46409 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46410 declaration.
46411 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46412 attribute with hook() parameter.
46413 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46414 declaration.
46415
46416 2008-01-21 Robert Millan <rmh@aybabtu.com>
46417
46418 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46419 (pkglib_MODULES): Add `memdisk.mod'.
46420 (memdisk_mod_SOURCES): New variable.
46421 (memdisk_mod_CFLAGS): Likewise.
46422 (memdisk_mod_LDFLAGS): Likewise.
46423
46424 * disk/memdisk.c: New file.
46425
46426 * include/grub/disk.h (grub_disk_dev_id): Add
46427 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46428
46429 * include/grub/i386/pc/kernel.h
46430 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46431 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46432 (grub_kernel_image_size): New variable declaration.
46433 (grub_total_module_size): Likewise.
46434 (grub_memdisk_image_size): Likewise.
46435
46436 * include/grub/i386/pc/memory.h
46437 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46438
46439 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46440 (grub_arch_memdisk_addr): New variable declaration.
46441 (grub_arch_memdisk_size): Likewise.
46442
46443 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46444 (grub_arch_memdisk_size): Likewise.
46445
46446 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46447 (codestart): Replace hardcoded `0x100000' with
46448 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46449
46450 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46451 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46452 not NULL, append the contents of the file it refers to, at the end of
46453 the compressed kernel image. Initialize `grub_memdisk_image_size'
46454 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46455 (options): Add "memdisk"|'m' option.
46456 (main): Parse --memdisk|-m option, and pass user-provided path as
46457 parameter to generate_image().
46458
46459 2008-01-20 Robert Millan <rmh@aybabtu.com>
46460
46461 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46462 grub_dprintf() calls from here ...
46463 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46464
46465 2008-01-20 Robert Millan <rmh@aybabtu.com>
46466
46467 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46468
46469 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46470 declaration.
46471 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46472 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46473 `GRUB_IEEE1275_FLAG_REAL_MODE'.
46474 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
46475 property).
46476 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46477 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46478
46479 2008-01-19 Robert Millan <rmh@aybabtu.com>
46480
46481 Get rid of confusing function (superseded by
46482 `grub_ieee1275_get_integer_property')
46483 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46484 prototype.
46485 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46486 function.
46487 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46488 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
46489 in native endianness from grub_ieee1275_get_integer_property().
46490
46491 2008-01-19 Robert Millan <rmh@aybabtu.com>
46492
46493 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46494 command after "shut-down", since implementations differ on which
46495 the command for halt is.
46496
46497 2008-01-19 Robert Millan <rmh@aybabtu.com>
46498
46499 * include/grub/i386/linuxbios/console.h: Add header protection.
46500 (grub_keyboard_controller_init): New function prototype.
46501 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46502 (KEYBOARD_COMMAND_READ): Likewise.
46503 (KEYBOARD_COMMAND_WRITE): Likewise.
46504 (KEYBOARD_SCANCODE_SET1): Likewise.
46505 (grub_keyboard_controller_write): New function.
46506 (grub_keyboard_controller_read): Likewise.
46507 (grub_keyboard_controller_init): Likewise.
46508
46509 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46510 (grub_console_init): On coreboot/LinuxBIOS, call
46511 grub_keyboard_controller_init().
46512
46513 2008-01-19 Robert Millan <rmh@aybabtu.com>
46514
46515 PowerPC changes provided by Pavel Roskin.
46516
46517 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46518 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46519 don't rely on cmain() doing it.
46520 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46521 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46522
46523 2008-01-16 Robert Millan <rmh@aybabtu.com>
46524
46525 * include/grub/i386/linuxbios/memory.h
46526 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46527 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46528 receive `table_header' as argument. Instead, probe for it in the
46529 known memory ranges where it can be present.
46530 (grub_available_iterate): Do not pass a fixed `table_header' address
46531 to grub_linuxbios_table_iterate().
46532
46533 2008-01-15 Robert Millan <rmh@aybabtu.com>
46534
46535 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46536 * conf/i386-ieee1275.rmk: New file.
46537 * include/grub/i386/ieee1275/console.h: Likewise.
46538 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46539 * include/grub/i386/ieee1275/kernel.h: Likewise.
46540 * include/grub/i386/ieee1275/time.h: Likewise.
46541 * kern/i386/ieee1275/init.c: Likewise.
46542 * kern/i386/ieee1275/startup.S: Likewise.
46543
46544 2008-01-15 Robert Millan <rmh@aybabtu.com>
46545
46546 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46547 when pointers are 32-bit (but still do set it to one when they are
46548 64-bit).
46549
46550 2008-01-15 Robert Millan <rmh@aybabtu.com>
46551
46552 * include/grub/ieee1275/ieee1275.h
46553 (grub_ieee1275_get_integer_property): New function prototype.
46554
46555 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46556 (grub_ieee1275_get_integer_property): New function. Wraps around
46557 grub_ieee1275_get_property() to handle endianness.
46558
46559 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46560 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
46561 where appropriate.
46562 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46563 (grub_map): Likewise.
46564 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46565
46566 2008-01-15 Bean <bean123ch@gmail.com>
46567
46568 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46569 (grub_script_execute_cmdline): Reset grub_errno.
46570
46571 * normal/main.c (read_config_file): Reset grub_errno.
46572
46573 * normal/parse.y (script_init): New.
46574 (script): Move function and menuentry here.
46575 (delimiter): New.
46576 (command): Add delimiter at the end of command.
46577 (commands): Adjust to match the new command.
46578 (commandblock): Remove grub_script_lexer_record_start.
46579 (menuentry): Add grub_script_lexer_record_start, use the new commands.
46580 (if): Use the new commands.
46581
46582 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46583
46584 2008-01-15 Robert Millan <rmh@aybabtu.com>
46585
46586 * normal/menu.c (run_menu): Move timeout message from here ...
46587 (print_timeout): ... to here.
46588 (run_menu): Use print_timeout() once during initial draw to print
46589 the whole message, and again in every clock tick to update only
46590 the number of seconds.
46591
46592 2008-01-15 Robert Millan <rmh@aybabtu.com>
46593
46594 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46595 actual size of `available' from grub_ieee1275_get_property(), and
46596 restrict parsing to that bound.
46597
46598 2008-01-15 Christian Franke <franke@computer.org>
46599
46600 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46601 (argp_program_version): Remove variable.
46602 (argp_program_bug_address): Likewise.
46603 (options): Convert from struct argp_option to struct option.
46604 (struct arguments): Remove.
46605 (parse_opt): Remove.
46606 (usage): New function.
46607 (main): Replace struct args members by simple variables.
46608 Replace argp_parse() by getopt_long().
46609 Add switch to evaluate options.
46610 Add missing "(...)" around root_dev in prefix string.
46611
46612 2008-01-14 Robert Millan <rmh@aybabtu.com>
46613
46614 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46615 for grub_ieee1275_exit(), in order to improve portability.
46616
46617 2008-01-14 Robert Millan <rmh@aybabtu.com>
46618
46619 * util/grub.d/10_linux.in (prefix): Define.
46620 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46621
46622 2008-01-13 Pavel Roskin <proski@gnu.org>
46623
46624 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46625 grub_errno if no errors have been detected.
46626
46627 2008-01-12 Robert Millan <rmh@aybabtu.com>
46628
46629 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46630 (grub_util_get_dev_abstraction): New function prototype.
46631
46632 * util/getroot.c: Include `<grub/util/getroot.h>'
46633 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46634 (grub_util_get_dev_abstraction): ... here (new function).
46635
46636 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46637 `PRINT_ABSTRACTION'.
46638 (probe): Probe for abstraction type when requested.
46639 (main): Understand `--target=abstraction'.
46640
46641 * util/i386/efi/grub-install.in: Add abstraction module to core
46642 image when it is found to be necessary.
46643 * util/i386/pc/grub-install.in: Likewise.
46644 * util/powerpc/ieee1275/grub-install.in: Likewise.
46645
46646 * util/update-grub_lib.in (font_path): Return system path without
46647 converting to GRUB path.
46648 * util/update-grub.in: Convert system path returned by font_path()
46649 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46650 abstraction module is needed for loading fonts (if any). Export
46651 that as `GRUB_PRELOAD_MODULES'.
46652 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46653 insmod commands).
46654
46655 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46656
46657 Remove some unused code from reiserfs.
46658
46659 * fs/reiserfs.c (struct grub_reiserfs_key)
46660 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46661 (struct grub_reiserfs_node_body): Removed.
46662 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46663 Likewise.
46664 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46665 Likewise.
46666 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46667 Likewise.
46668 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46669 Likewise.
46670 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46671 Likewise.
46672 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46673 Likewise.
46674 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46675 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46676 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46677
46678 2008-01-10 Robert Millan <rmh@aybabtu.com>
46679
46680 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46681 Determines if a file is garbage left by packaging systems, etc.
46682 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46683 for processing /etc/grub.d scripts.
46684 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46685 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46686 as a condition for processing Linux images.
46687
46688 2008-01-10 Pavel Roskin <proski@gnu.org>
46689
46690 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46691 to compile reiserfs.c on PowerPC.
46692
46693 2008-01-10 Robert Millan <rmh@aybabtu.com>
46694
46695 * kern/device.c (grub_device_iterate): Do not abort device iteration
46696 when one of the devices cannot be opened.
46697 * kern/disk.c (grub_disk_open): Do not account previous failures of
46698 unrelated functions when grub_errno is checked for.
46699
46700 2008-01-08 Robert Millan <rmh@aybabtu.com>
46701
46702 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46703 `! grub_linux_is_bzimage', change order of address comparison to make
46704 it more intuitive, and improve "too big zImage" error message.
46705
46706 2008-01-08 Robert Millan <rmh@aybabtu.com>
46707
46708 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46709 `$(update-grub_DATA)'.
46710 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46711 targets.
46712
46713 2008-01-07 Robert Millan <rmh@aybabtu.com>
46714
46715 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46716 which instruction is modified by grub-setup during installation
46717 (since it wasn't obvious by only looking at this file).
46718
46719 2008-01-07 Robert Millan <rmh@aybabtu.com>
46720
46721 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46722 listing actual TODO items.
46723
46724 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46725
46726 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46727 correctly.
46728 (grub_reiserfs_get_key_offset): Likewise.
46729 (grub_reiserfs_set_key_offset): Likewise.
46730 (grub_reiserfs_set_key_type): Likewise.
46731 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
46732
46733 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46734 better to remove the bitfield version completely.
46735
46736 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46737
46738 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46739 allocated from the heap, due to the fshelp implementation.
46740 (grub_reiserfs_dir): Free NODE, due to the same reason.
46741
46742 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46743
46744 Mostly from Vincent Pelletier:
46745
46746 * fs/reiserfs.c: New file.
46747
46748 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46749 (reiserfs_mod_SOURCES): New variable.
46750 (reiserfs_mod_CFLAGS): Likewise.
46751 (reiserfs_mod_LDFLAGS): Likewise.
46752
46753 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46754 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46755 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46756 normal/color.c.
46757
46758 2008-01-06 Robert Millan <rmh@aybabtu.com>
46759
46760 * normal/color.c: Remove `<grub/env.h>'.
46761
46762 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46763
46764 * include/grub/normal.h: Include <grub/env.h>.
46765
46766 2008-01-05 Robert Millan <rmh@aybabtu.com>
46767
46768 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46769 usage example with `(hd0,1)'.
46770 Reported by Samuel Thibault.
46771
46772 2008-01-05 Robert Millan <rmh@aybabtu.com>
46773
46774 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46775 (grub_linux_boot_zimage): Rename to ...
46776 (grub_linux_boot): ... this.
46777 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46778 (grub_linux_boot_zimage): Conditionalize zImage copy.
46779
46780 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46781 (grub_linux_boot_bzimage): Remove prototype.
46782 (grub_linux_boot_zimage): Rename to ...
46783 (grub_linux_boot): ... this.
46784
46785 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46786 (grub_linux_boot): Remove function.
46787
46788 2008-01-05 Robert Millan <rmh@aybabtu.com>
46789
46790 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46791 (grub_env_write_color_highlight): Likewise.
46792 (grub_wait_after_message): Likewise.
46793
46794 * normal/color.c: New file.
46795
46796 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46797 (normal_mod_DEPENDENCIES): Likewise.
46798
46799 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46800 (normal_mod_DEPENDENCIES): Likewise.
46801
46802 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46803 (normal_mod_DEPENDENCIES): Likewise.
46804
46805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46806 (normal_mod_DEPENDENCIES): Likewise.
46807
46808 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46809 for waiting after a message is printed.
46810 * normal/main.c (read_config_file): Likewise.
46811 (grub_normal_init): Register grub_env_write_color_normal() and
46812 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46813 `color_highlight' variables as global.
46814
46815 * normal/menu.c (grub_wait_after_message): New function.
46816 (grub_color_menu_normal): New variable. Replaces ...
46817 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46818 (grub_color_menu_highlight): New variable. Replaces ...
46819 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46820 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46821 `GRUB_TERM_COLOR_STANDARD'.
46822 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46823 `normal_code' and `highlight_code' to `old_color_normal' and
46824 `old_color_highlight', respectively.
46825 (grub_menu_init_page): Update colors when drawing the menu, based on
46826 `menu_color_normal' and `menu_color_highlight' variables.
46827 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46828 a message is printed.
46829
46830 2008-01-05 Robert Millan <rmh@aybabtu.com>
46831
46832 * kern/env.c (grub_env_context_open): Propagate hooks for global
46833 variables to new context.
46834
46835 * kern/main.c (grub_set_root_dev): Export `root' variable.
46836
46837 2008-01-05 Robert Millan <rmh@aybabtu.com>
46838
46839 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
46840 discs unconditionally, since udev and others have options to provide
46841 them.
46842
46843 2008-01-05 Robert Millan <rmh@aybabtu.com>
46844
46845 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46846
46847 2008-01-04 Christian Franke <franke@computer.org>
46848
46849 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46850 of eisa_mmap.
46851
46852 2008-01-03 Pavel Roskin <proski@gnu.org>
46853
46854 * kern/i386/linuxbios/init.c: Put "void" to all function
46855 declarations with no arguments.
46856 * kern/powerpc/ieee1275/init.c: Likewise.
46857 * term/i386/pc/at_keyboard.c: Likewise.
46858 * term/i386/pc/vga_text.c: Likewise.
46859 * util/grub-mkdevicemap.c: Likewise.
46860
46861 2008-01-02 Robert Millan <rmh@aybabtu.com>
46862
46863 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46864 message when loaded image is out of bounds.
46865 (grub_multiboot_load_elf64): Likewise.
46866
46867 2008-01-02 Pavel Roskin <proski@gnu.org>
46868
46869 * util/grub.d/10_linux.in: Try version without ".old" when
46870 looking for initrd. It's better to use initrd from the newer
46871 kernel of the same version than no initrd at all.
46872
46873 2008-01-01 Robert Millan <rmh@aybabtu.com>
46874
46875 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46876
46877 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46878
46879 * include/grub/video.h: Added grub_video_unmap_color and
46880 grub_video_get_active_render_target.
46881 (grub_video_adapter): Added unmap_color and get_active_render_target.
46882
46883 * video/video.c: Added grub_video_unmap_color and
46884 grub_video_get_active_render_target.
46885 (grub_video_get_info): Changed method to accept NULL pointer as an
46886 argument to allow detection of active video adapter.
46887
46888 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46889 grub_video_vbe_unmap_color_int.
46890 Added grub_video_vbe_unmap_color and
46891 grub_video_vbe_get_active_render_target.
46892 (grub_video_vbe_adapter): Added unmap_color and
46893 get_active_render_target.
46894
46895 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
46896 with grub_video_vbe_unmap_color_int.
46897
46898 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46899 (DEFAULT_NORMAL_COLOR): Likewise.
46900 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46901 (DEFAULT_FG_COLOR): Removed.
46902 (DEFAULT_BG_COLOR): Likewise.
46903 (DEFAULT_CURSOR_COLOR): Changed value.
46904 (grub_virtual_screen): Added standard_color_setting,
46905 normal_color_setting, highlight_color_setting and term_color.
46906 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46907 (bitmap_width): Added.
46908 (bitmap_height): Likewise.
46909 (bitmap): Likewise.
46910 (set_term_color): Likewise.
46911 (grub_virtual_screen_setup): Changed to use new terminal coloring
46912 settings.
46913 (grub_gfxterm_init): Added init for bitmap.
46914 (grub_gfxterm_fini): Added destroy for bitmap.
46915 (redraw_screen_rect): Updated to use background bitmap and new
46916 terminal coloring.
46917 (scroll_up): Added optimization for case when there is no bitmap.
46918 (grub_gfxterm_cls): Fixed to use correct background color.
46919 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46920 coloring.
46921 (grub_virtual_screen_setcolor): Likewise.
46922 (grub_virtual_screen_getcolor): Added.
46923 (grub_gfxterm_background_image_cmd): Likewise.
46924 (grub_video_term): Added setcolor and getcolor.
46925 (MOD_INIT): Added registration of background_image command.
46926 (MOD_TERM): Added unregistration for background_image command.
46927
46928 2007-12-30 Pavel Roskin <proski@gnu.org>
46929
46930 * loader/multiboot_loader.c: Fix multiboot command
46931 unregistration. Fix all typos in the word "multiboot".
46932
46933 2007-12-29 Pavel Roskin <proski@gnu.org>
46934
46935 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46936 support for initrd names used in Fedora.
46937
46938 2007-12-26 Bean <bean123ch@gmail.com>
46939
46940 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46941 (cpio_mod_SOURCES): New variable.
46942 (cpio_mod_CFLAGS): Likewise.
46943 (cpio_mod_LDFLAGS): Likewise.
46944
46945 * fs/cpio.c: New file.
46946
46947 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46948
46949 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46950
46951 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46952
46953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46954
46955 2007-12-25 Robert Millan <rmh@aybabtu.com>
46956
46957 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46958 (grub_getcolor): New function.
46959
46960 * kern/term.c (grub_getcolor): New function.
46961 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46962 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46963 (print_entry): Set normal and highlight colors to
46964 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46965 respectively, before printing and restore them to old
46966 values afterwards.
46967 (grub_menu_init_page): Likewise. Fill an additional colored space
46968 that would otherwise be left blank.
46969
46970 * term/efi/console.c (grub_console_getcolor): New function.
46971 (struct grub_console_term.getcolor): New variable.
46972 * term/i386/pc/console.c (grub_console_getcolor): New function.
46973 (struct grub_console_term.getcolor): New variable.
46974 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46975 (struct grub_console_term.getcolor): New variable.
46976
46977 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46978 (struct grub_console_term.setcolor): Remove variable.
46979 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46980 (struct grub_console_term.setcolor): Remove variable.
46981 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46982 (struct grub_console_term.setcolor): Remove variable.
46983 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46984 (struct grub_console_term.setcolor): Remove variable.
46985
46986 2007-12-25 Robert Millan <rmh@aybabtu.com>
46987
46988 * configure.ac: Search for possible unifont.hex locations, and
46989 define UNIFONT_HEX if found.
46990
46991 * Makefile.in (UNIFONT_HEX): Define variable.
46992 (DATA): Rename to ...
46993 (PKGLIB): ... this. Update all users.
46994 (PKGDATA): New variable.
46995 (pkgdata_IMAGES): Rename to ...
46996 (pkglib_IMAGES): ... this. Update all users.
46997 (pkgdata_MODULES): Rename to ...
46998 (pkglib_MODULES): ... this. Update all users.
46999 (pkgdata_PROGRAMS): Rename to ...
47000 (pkglib_PROGRAMS): ... this. Update all users.
47001 (pkgdata_DATA): Rename to ...
47002 (pkglib_DATA): ... this. Update all users.
47003 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
47004 (unicode.pff, ascii.pff): New rules.
47005 (all-local): Add `$(PKGDATA)' dependency.
47006 (install-local): Process `$(PKGDATA)'.
47007
47008 * util/update-grub_lib.in (font_path): Search for *.pff files in
47009 a few more locations, including `${pkgdata}'.
47010
47011 2007-12-23 Robert Millan <rmh@aybabtu.com>
47012
47013 Patch from Bean <bean123ch@gmail.com>:
47014 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
47015 `size'.
47016
47017 2007-12-21 Bean <bean123ch@gmail.com>
47018
47019 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
47020 (ntfscomp_mod_SOURCES): New variable.
47021 (ntfscomp_mod_CFLAGS): Likewise.
47022 (ntfscomp_mod_LDFLAGS): Likewise.
47023
47024 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
47025 (grub_probe_SOURCES): Likewise.
47026 (grub_emu_SOURCES): Likewise.
47027
47028 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47029 (grub_emu_SOURCES): Likewise.
47030
47031 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47032 (grub_emu_SOURCES): Likewise.
47033
47034 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47035 (grub_emu_SOURCES): Likewise.
47036
47037 * fs/ntfs.c (grub_ntfscomp_func): New variable.
47038 (read_run_list): Renamed to grub_ntfs_read_run_list.
47039 (decomp_nextvcn): Moved to ntfscomp.c.
47040 (decomp_getch): Likewise.
47041 (decomp_get16): Likewise.
47042 (decomp_block): Likewise.
47043 (read_block): Likewise.
47044 (read_data): Partially moved to ntfscomp.c.
47045 (fixup): Change unsigned to grub_uint16_t.
47046 (read_mft): Change unsigned long to grub_uint32_t.
47047 (read_attr): Likewise.
47048 (read_data): Likewise.
47049 (read_run_data): Likewise.
47050 (read_run_list): Likewise.
47051 (read_mft): Likewise.
47052
47053 * fs/ntfscomp.c: New file.
47054
47055 * include/grub/ntfs.h: New file.
47056
47057 2007-12-16 Robert Millan <rmh@aybabtu.com>
47058
47059 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
47060 IDE disk check, since Linux is known to support 20 IDE disks.
47061 Reported by Colin Watson.
47062
47063 2007-12-15 Bean <bean123ch@gmail.com>
47064
47065 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
47066 (lnxboot_img_SOURCES): New variable.
47067 (lnxboot_img_ASFLAGS): Likewise.
47068 (lnxboot_img_LDFLAGS): Likewise.
47069
47070 * boot/i386/pc/lnxboot.S: New file.
47071
47072 2007-11-24 Pavel Roskin <proski@gnu.org>
47073
47074 * configure.ac: Test if '--build-id=none' is supported by the
47075 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
47076 objcopy to generate incorrect binary files (binutils
47077 2.17.50.0.18-1 as shipped by Fedora 8).
47078 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
47079 linking, so that build ID doesn't break the test.
47080
47081 2007-11-24 Pavel Roskin <proski@gnu.org>
47082
47083 * include/grub/i386/time.h: use "void" in the argument list
47084 of grub_cpu_idle().
47085 * include/grub/powerpc/time.h: Likewise.
47086 * include/grub/sparc64/time.h: Likewise.
47087
47088 2007-11-18 Christian Franke <franke@computer.org>
47089
47090 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
47091 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
47092 This fixes the problem that function keys did not work in grub-emu.
47093
47094 2007-11-18 Christian Franke <franke@computer.org>
47095
47096 * disk/host.c (grub_host_open): Remove attribute unused from
47097 name parameter. Add check for "host". This fixes the problem
47098 that grub-emu does not find partitions.
47099
47100 2007-11-18 Christian Franke <franke@computer.org>
47101
47102 * util/hostfs.c (is_dir): New function.
47103 (grub_hostfs_dir): Handle missing dirent.d_type case.
47104 (grub_hostfs_read): Add missing fseek().
47105 (grub_hostfs_label): Clear label pointer. This fixes a crash
47106 of grub-emu on "ls (host)".
47107
47108 2007-11-18 Christian Franke <franke@computer.org>
47109
47110 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
47111 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
47112 to 64 bit boundary by default.
47113
47114 2007-11-18 Bean <bean123ch@gmail.com>
47115
47116 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
47117 (hexdump_mod_SOURCES): New variable.
47118 (hexdump_mod_CFLAGS): Likewise.
47119 (hexdump_mod_LDFLAGS): Likewise.
47120
47121 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47122
47123 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47124
47125 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47126
47127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47128
47129 * include/grub/hexdump.h: New file.
47130
47131 * commands/hexdump.c: New file.
47132
47133 2007-11-10 Robert Millan <rmh@aybabtu.com>
47134
47135 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47136 in grub_outb() calls.
47137 (beep_on): Likewise.
47138
47139 2007-11-10 Christian Franke <franke@computer.org>
47140
47141 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47142 (grub_menu_run): Likewise.
47143
47144 2007-11-10 Robert Millan <rmh@aybabtu.com>
47145
47146 * include/grub/i386/efi/machine.h: New file.
47147 * include/grub/i386/linuxbios/machine.h: Likewise.
47148 * include/grub/i386/pc/machine.h: Likewise.
47149 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47150 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47151
47152 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47153 (serial_hw_io_addr): New variable.
47154 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47155 instead of `(unsigned short *) 0x400'.
47156
47157 2007-11-10 Bean <bean123ch@gmail.com>
47158
47159 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47160
47161 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47162
47163 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47164 (vga_mod_SOURCES): Added.
47165 (vga_mod_CFLAGS): Likewise.
47166 (vga_mod_LDFLAGS): Likewise.
47167
47168 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47169 grub_outb() calls.
47170 (set_map_mask): Likewise.
47171 (set_read_map): Likewise.
47172 (set_read_address): Likewise.
47173 (vga_font): Removed variable.
47174 (get_vga_glyph): Removed function.
47175 (invalidate_char): Likewise.
47176 (write_char): Changed to use grub_font_get_glyph() for font
47177 information.
47178 (grub_vga_putchar): Likewise.
47179 (grub_vga_getcharwidth): Likewise.
47180
47181 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47182
47183 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47184 flags.
47185 (pxeboot_img_LDFLAGS): Likewise.
47186 (diskboot_img_LDFLAGS): Likewise.
47187 (kernel_img_LDFLAGS): Likewise.
47188
47189 2007-11-06 Robert Millan <rmh@aybabtu.com>
47190
47191 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47192 in grub_outb() calls.
47193 (serial_hw_init): Likewise.
47194
47195 2007-11-05 Robert Millan <rmh@aybabtu.com>
47196
47197 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47198 spaces. Skip non-regular files.
47199
47200 2007-11-05 Robert Millan <rmh@aybabtu.com>
47201
47202 * kern/disk.c (grub_disk_firmware_fini)
47203 (grub_disk_firmware_is_tainted): New variables.
47204
47205 * include/grub/disk.h (grub_disk_firmware_fini)
47206 (grub_disk_firmware_is_tainted): Likewise.
47207
47208 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47209 (grub_disk_biosdisk_fini): ... to here.
47210 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47211 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47212 is set. Register grub_disk_biosdisk_fini() in
47213 `grub_disk_firmware_fini'.
47214
47215 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47216 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47217 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47218 to finish existing firmware disk interface.
47219
47220 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47221 (ata_mod_SOURCES): New variable.
47222 (ata_mod_CFLAGS): Likewise.
47223 (ata_mod_LDFLAGS): Likewise.
47224
47225 2007-11-05 Robert Millan <rmh@aybabtu.com>
47226
47227 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47228 (grub_ata_wait): Reimplement using grub_millisleep().
47229
47230 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47231 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47232
47233 2007-11-03 Marco Gerards <marco@gnu.org>
47234
47235 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47236 (CRTC_ADDR_PORT): New macro.
47237 (CRTC_DATA_PORT): Likewise.
47238 (CRTC_CURSOR): Likewise.
47239 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47240 (CRTC_CURSOR_ADDR_LOW): Likewise.
47241 (update_cursor): New function.
47242 (grub_console_real_putchar): Call `update_cursor'.
47243 (grub_console_gotoxy): Likewise.
47244 (grub_console_cls): Set the default color when clearing the
47245 screen.
47246 (grub_console_setcursor): Implemented.
47247
47248 2007-11-03 Marco Gerards <marco@gnu.org>
47249
47250 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47251 become activate.
47252 (grub_ata_pio_write): Likewise.
47253
47254 (grub_atapi_identify): Wait after issuing an ATA command.
47255 (grub_atapi_packet): Likewise.
47256 (grub_ata_identify): Likewise.
47257 (grub_ata_readwrite): Likewise.
47258
47259 2007-11-03 Marco Gerards <marco@gnu.org>
47260
47261 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47262 (grub_ata_pio_write): Likewise.
47263 (grub_ata_readwrite): Use `grub_error', instead of
47264 returning `grub_errno'.
47265
47266 2007-11-03 Marco Gerards <marco@gnu.org>
47267
47268 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47269 grub_ata_pio_write once for every single sector, instead of for
47270 multiple sectors.
47271
47272 2007-10-31 Robert Millan <rmh@aybabtu.com>
47273
47274 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47275
47276 * conf/i386-linuxbios.rmk: New file.
47277
47278 * kern/i386/pc/hardware.c: Likewise.
47279 * term/i386/pc/at_keyboard.c: Likewise.
47280 * term/i386/pc/vga_text.c: Likewise.
47281
47282 * include/grub/i386/linuxbios/boot.h: Likewise.
47283 * include/grub/i386/linuxbios/console.h: Likewise.
47284 * include/grub/i386/linuxbios/init.h: Likewise.
47285 * include/grub/i386/linuxbios/kernel.h: Likewise.
47286 * include/grub/i386/linuxbios/loader.h: Likewise.
47287 * include/grub/i386/linuxbios/memory.h: Likewise.
47288 * include/grub/i386/linuxbios/serial.h: Likewise.
47289 * include/grub/i386/linuxbios/time.h: Likewise.
47290
47291 * kern/i386/linuxbios/init.c: Likewise.
47292 * kern/i386/linuxbios/startup.S: Likewise.
47293 * kern/i386/linuxbios/table.c: Likewise.
47294
47295 2007-10-31 Marco Gerards <marco@gnu.org>
47296
47297 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47298 (ata_mod_SOURCES): New variable.
47299 (ata_mod_CFLAGS): Likewise.
47300 (ata_mod_LDFLAGS): Likewise.
47301
47302 * disk/ata.c: New file.
47303
47304 * include/grub/disk.h (grub_disk_dev_id): Add
47305 `GRUB_DISK_DEV_ATA_ID'.
47306
47307 2007-10-31 Robert Millan <rmh@aybabtu.com>
47308
47309 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47310 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47311
47312 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47313 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47314
47315 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47316 `<grub/types.h>'.
47317
47318 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47319
47320 2007-10-27 Robert Millan <rmh@aybabtu.com>
47321
47322 * include/grub/types.h (ULONG_MAX): Define macro.
47323
47324 2007-10-22 Robert Millan <rmh@aybabtu.com>
47325
47326 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47327 `"../realmode.S"'.
47328 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47329
47330 2007-10-22 Robert Millan <rmh@aybabtu.com>
47331
47332 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47333 (pkgdata_MODULES): Add `biosdisk.mod'.
47334 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47335 variables.
47336
47337 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47338 (grub_biosdisk_init): Replace with ...
47339 (GRUB_MOD_INIT(biosdisk)): ... this.
47340 (grub_biosdisk_fini): Replace with ...
47341 (GRUB_MOD_FINI(biosdisk)): ... this.
47342
47343 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47344 (grub_machine_init): Remove call to grub_biosdisk_init().
47345 (grub_machine_fini): Remove call to grub_machine_fini().
47346
47347 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47348
47349 2007-10-22 Robert Millan <rmh@aybabtu.com>
47350
47351 * include/grub/time.h: New file.
47352 * include/grub/i386/time.h: Likewise.
47353 * include/grub/powerpc/time.h: Likewise.
47354 * include/grub/sparc64/time.h: Likewise.
47355
47356 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47357 instances to ...
47358 (KERNEL_MACHINE_TIME_HEADER): ... this.
47359 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47360 instances to ...
47361 (KERNEL_MACHINE_TIME_HEADER): ... this.
47362 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47363 instances to ...
47364 (KERNEL_MACHINE_TIME_HEADER): ... this.
47365
47366 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47367 (grub_millisleep): New function.
47368 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47369 (grub_millisleep): New function.
47370 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47371 Remove `grub/machine/time.h' include.
47372 (grub_millisleep): New function.
47373 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47374 Remove `grub/machine/time.h' include.
47375 (grub_millisleep): New function.
47376
47377 * include/grub/misc.h (grub_div_roundup): New function.
47378
47379 * kern/misc.c: Include `<grub/time.h>'.
47380 (grub_millisleep_generic): New function.
47381
47382 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47383 Add `time.h'.
47384 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47385 Add `time.h'.
47386 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47387 `machine/time.h'. Add `time.h'.
47388 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47389
47390 2007-10-21 Robert Millan <rmh@aybabtu.com>
47391
47392 * include/grub/misc.h (grub_max): New function.
47393
47394 2007-10-21 Robert Millan <rmh@aybabtu.com>
47395
47396 * util/misc.c (grub_util_info): Call fflush() before returning.
47397
47398 2007-10-20 Robert Millan <rmh@aybabtu.com>
47399
47400 * genmk.rb (Image): Copy `extra_flags' from here ...
47401 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47402
47403 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47404 to `argc' and `args' arguments.
47405
47406 2007-10-17 Robert Millan <rmh@aybabtu.com>
47407
47408 * kern/i386/loader.S: New file.
47409
47410 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47411 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47412 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47413 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47414 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47415 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47416 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47417 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47418 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47419 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47420 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47421 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47422 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47423 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47424
47425 * kern/i386/realmode.S: New file.
47426
47427 * kern/i386/pc/startup.S (protstack): Moved from here ...
47428 * kern/i386/realmode.S (protstack)... to here.
47429 * kern/i386/pc/startup.S (gdt): Moved from here ...
47430 * kern/i386/realmode.S (gdt)... to here.
47431 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47432 * kern/i386/realmode.S (prot_to_real)... to here.
47433
47434 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47435 `kern/i386/realmode.S'.
47436
47437 2007-10-17 Robert Millan <rmh@aybabtu.com>
47438
47439 * include/grub/i386/loader.h: New file.
47440
47441 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47442 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47443 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47444 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47445 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47446 * include/grub/i386/loader.h (grub_linux_prot_size)
47447 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47448 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47449 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47450 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47451
47452 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47453
47454 2007-10-15 Robert Millan <rmh@aybabtu.com>
47455
47456 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47457 filesystem when dev->disk is unset.
47458 Do probe for filesystem even when dev->disk->has_partitions is set.
47459 In case a filesystem is found, always report it.
47460 In case it isn't, if dev->disk->has_partitions is set, report that
47461 a partition table was found instead of reporting that no filesystem
47462 could be identified.
47463
47464 2007-10-12 Robert Millan <rmh@aybabtu.com>
47465
47466 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47467 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47468
47469 * include/grub/types.h (grub_host_to_target16): New macro.
47470 (grub_host_to_target32): Likewise.
47471 (grub_host_to_target64): Likewise.
47472 (grub_target_to_host16): Likewise.
47473 (grub_target_to_host32): Likewise.
47474 (grub_target_to_host64): Likewise.
47475
47476 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47477 Renamed from to ...
47478 (GRUB_MOD_ALIGN): ...this. Update all users.
47479
47480 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47481 grub_host_to_target32.
47482 Replace grub_be_to_cpu32 with grub_target_to_host32.
47483 (load_modules): Likewise.
47484 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47485 Replace grub_be_to_cpu32 with grub_target_to_host32.
47486 Replace grub_cpu_to_be16 with grub_host_to_target16.
47487 Replace grub_cpu_to_be32 grub_host_to_target32.
47488
47489 2007-10-12 Robert Millan <rmh@aybabtu.com>
47490
47491 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47492 * util/elf/grub-mkimage.c: ... here.
47493
47494 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47495 `util/powerpc/ieee1275/grub-mkimage.c'.
47496
47497 2007-10-07 Robert Millan <rmh@aybabtu.com>
47498
47499 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47500 and make it easier to figure out.
47501 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47502 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47503 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47504 leave us with less than HEAP_MIN_SIZE total heap.
47505 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
47506
47507 2007-10-03 Robert Millan <rmh@aybabtu.com>
47508
47509 * include/grub/i386/io.h: New file.
47510 * commands/i386/pc/play.c (inb): Removed.
47511 (outb): Removed.
47512 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47513 with grub_outb().
47514 * term/i386/pc/serial.c (inb): Removed.
47515 (outb): Removed.
47516 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47517 with grub_outb().
47518 * term/i386/pc/vga.c (inb): Removed.
47519 (outb): Removed.
47520 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47521 with grub_outb().
47522
47523 2007-10-02 Robert Millan <rmh@aybabtu.com>
47524
47525 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47527 Reported by Marcin Kurek.
47528
47529 2007-09-07 Robert Millan <rmh@aybabtu.com>
47530
47531 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47532 SmartFirmware version updates (as released by Sven Luther), and avoid
47533 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47534 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47535 known broken.
47536
47537 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47538
47539 From Hitoshi Ozeki:
47540 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47541 when merging two regions.
47542
47543 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47544
47545 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47546 * normal/completion.c (grub_normal_do_completion): Likewise.
47547 Reported by Hitoshi Ozeki.
47548
47549 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47550
47551 Do not use devices at boot in chainloading.
47552
47553 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47554 (boot_part_addr): Likewise.
47555 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47556 with BOOT_DRIVE and BOOT_PART_ADDR.
47557 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47558 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47559
47560 2007-08-29 Robert Millan <rmh@aybabtu.com>
47561
47562 Patch from Simon Peter <dn.tlp@gmx.net>:
47563 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47564 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47565 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47566 util/i386/pc/grub-setup.c_DEPENDENCIES.
47567 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47568 util/grub-probe.c_DEPENDENCIES.
47569 * conf/powerpc-ieee1275.rmk: Likewise.
47570
47571 2007-08-28 Robert Millan <rmh@aybabtu.com>
47572
47573 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47574 to tell grub-mkdevicemap how to name devices.
47575 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47576 feature).
47577
47578 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47579 util/i386/get_disk_name.c.
47580 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47581 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47582 util/ieee1275/get_disk_name.c.
47583
47584 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47585
47586 * DISTLIST: Add util/i386/get_disk_name.c and
47587 util/ieee1275/get_disk_name.c.
47588
47589 * util/grub-mkdevicemap.c: Replace device naming logic with
47590 grub_util_get_disk_name() calls.
47591
47592 2007-08-20 Robert Millan <rmh@aybabtu.com>
47593
47594 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47595 (so that it works for both plural and singular quantities).
47596
47597 2007-08-05 Robert Millan <rmh@aybabtu.com>
47598
47599 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47600 so that [xz] isn't taken into account when determining order.
47601
47602 2007-08-02 Marco Gerards <marco@gnu.org>
47603
47604 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47605 `include/multiboot2.h', `include/grub/elfload.h',
47606 `include/multiboot.h', `include/grub/multiboot.h',
47607 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47608 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47609 `kern/elf.c', `loader/multiboot_loader.c',
47610 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47611 `loader/i386/pc/multiboot2.c',
47612 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47613 `util/i386/pc/grub-mkrescue.in'. Remove
47614 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47615 `include/grub/i386/pc/util/biosdisk.h' and
47616 `include/grub/powerpc/ieee1275/multiboot.h'.
47617
47618 2007-08-02 Bean <bean123ch@gmail.com>
47619
47620 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47621 (ntfs_mod_SOURCES): New variable.
47622 (ntfs_mod_CFLAGS): Likewise.
47623 (ntfs_mod_LDFLAGS): Likewise.
47624
47625 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47626 (grub_probe_SOURCES): Likewise.
47627 (grub_emu_SOURCES): Likewise.
47628
47629 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47630 (grub_emu_SOURCES): Likewise.
47631
47632 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47633 (grub_emu_SOURCES): Likewise.
47634
47635 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47636
47637 * fs/ntfs.c: New file.
47638
47639 2007-08-02 Bean <bean123ch@gmail.com>
47640
47641 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47642
47643 * file.h (grub_file): Likewise.
47644
47645 * fshelp.h (grub_fshelp_read_file): Likewise.
47646
47647 * util/i386/pc/grub-setup.c (setup): Likewise.
47648 (save_first_sector): Likewise.
47649 (save_blocklists): Likewise.
47650
47651 * fs/affs.c (grub_affs_read_file): Likewise.
47652
47653 * fs/ext2.c (grub_ext2_read_file): Likewise.
47654
47655 * fs/fat.c (grub_fat_read_data): Likewise.
47656
47657 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47658
47659 * fs/hfs.c (grub_hfs_read_file): Likewise.
47660
47661 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47662
47663 * fs/jfs.c (grub_jfs_read_file): Likewise.
47664
47665 * fs/minix.c (grub_minix_read_file): Likewise.
47666
47667 * fs/sfs.c (grub_sfs_read_file): Likewise.
47668
47669 * fs/ufs.c (grub_ufs_read_file): Likewise.
47670
47671 * fs/xfs.c (grub_xfs_read_file): Likewise.
47672
47673 * command/blocklist.c (read_blocklist): Likewise.
47674 (print_blocklist): Likewise.
47675
47676 2007-08-02 Marco Gerards <marco@gnu.org>
47677
47678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47679 `util/hostfs.c'.
47680
47681 * disk/host.c: New file.
47682
47683 * util/hostfs.c: Likewise.
47684
47685 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47686 return `GRUB_ERR_BAD_FS'.
47687 * fs/sfs.c (grub_sfs_mount): Likewise.
47688 * fs/xfs.c (grub_xfs_mount): Likewise.
47689
47690 * include/grub/disk.h (enum grub_disk_dev_id): Add
47691 `GRUB_DISK_DEVICE_HOST_ID'.
47692
47693 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47694
47695 2007-07-24 Jerone Young <jerone@gmail.com>
47696
47697 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
47698 modules for compilation.
47699 * conf/powerpc-ieee1275.rmk: Likewise.
47700
47701 * include/multiboot.h: Move multiboot definitions to one file. Rename
47702 many definitions to not get grub specific.
47703 * include/multiboot2.h: Create header with multiboot 2 definitions.
47704 * include/grub/multiboot.h: Header for grub specific function
47705 prototypes and definitions.
47706 * include/grub/multiboot2.h: Likewise.
47707 * include/grub/multiboot_loader.h: Likewise.
47708 * include/grub/i386/pc/multiboot.h: Removed.
47709 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47710
47711 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47712 and 2 to allow for one multiboot and module commands.
47713 * loader/multiboot2.c: Add multiboot2 functionality.
47714 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47715 and definition names.
47716 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47717 2 functions.
47718 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47719 ieee1275 specific multiboot2 code.
47720
47721 * kern/i386/pc/startup.S: Change headers and definition names for
47722 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47723
47724 2007-07-22 Robert Millan <rmh@aybabtu.com>
47725
47726 * geninitheader.sh: Process file specified in first parameter rather
47727 than hardcoding grub_modules_init.lst.
47728 * geninit.sh: Likewise. Also, construct header name dynamically rather
47729 than hardcoding grub_modules_init.h.
47730
47731 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47732 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47733 grub_probe_init.[ch] and grub_setup_init.[ch].
47734
47735 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47736 grub_modules_init.h with grub_emu_init.h.
47737 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47738 grub_probe_init.[ch] files.
47739 * conf/i386-efi.rmk: Likewise.
47740 * conf/i386-pc.rmk: Likewise.
47741 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47742 grub_setup_init.[ch] files.
47743
47744 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47745 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47746 to initialize modules rather than a list of hardcoded functions.
47747 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47748 grub_init_all() to initialize modules rather than a list of hardcoded
47749 functions.
47750
47751 2007-07-22 Robert Millan <rmh@aybabtu.com>
47752
47753 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47754 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47755
47756 2007-07-22 Robert Millan <rmh@aybabtu.com>
47757
47758 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47759 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47760 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47761 flag when running on SmartFirmware.
47762 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47763 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47764 was set.
47765
47766 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47767 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47768 rather than decreasing it.
47769
47770 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47771 there's not enough space to do it, fail in the same way as when it
47772 can't be done because there are no partitions.
47773
47774 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47775 when nvsetenv failed.
47776
47777 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47778
47779 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47780 because this rule is automatically generated.
47781 (grub-mkrescue): Removed for the same reason as above.
47782
47783 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47784
47785 Migrate to GNU General Public License Version 3.
47786
47787 * COPYING: Replaced with the plain text version of GPLv3.
47788
47789 * config.guess: Updated from gnulib.
47790 * config.sub: Likewise.
47791
47792 * geninit.sh: Output a GPLv3 copyright notice.
47793 * geninitheader.sh: Likewise.
47794 * genmodsrc.sh: Likewise.
47795 * gensymlist.sh.in: Likewise.
47796
47797 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47798 * boot/i386/pc/diskboot.S: Likewise.
47799 * boot/i386/pc/pxeboot.S: Likewise.
47800 * commands/blocklist.c: Likewise.
47801 * commands/boot.c: Likewise.
47802 * commands/cat.c: Likewise.
47803 * commands/cmp.c: Likewise.
47804 * commands/configfile.c: Likewise.
47805 * commands/echo.c: Likewise.
47806 * commands/help.c: Likewise.
47807 * commands/ls.c: Likewise.
47808 * commands/search.c: Likewise.
47809 * commands/terminal.c: Likewise.
47810 * commands/test.c: Likewise.
47811 * commands/videotest.c: Likewise.
47812 * commands/i386/cpuid.c: Likewise.
47813 * commands/i386/pc/halt.c: Likewise.
47814 * commands/i386/pc/play.c: Likewise.
47815 * commands/i386/pc/reboot.c: Likewise.
47816 * commands/i386/pc/vbeinfo.c: Likewise.
47817 * commands/i386/pc/vbetest.c: Likewise.
47818 * commands/ieee1275/halt.c: Likewise.
47819 * commands/ieee1275/reboot.c: Likewise.
47820 * commands/ieee1275/suspend.c: Likewise.
47821 * disk/loopback.c: Likewise.
47822 * disk/lvm.c: Likewise.
47823 * disk/raid.c: Likewise.
47824 * disk/efi/efidisk.c: Likewise.
47825 * disk/i386/pc/biosdisk.c: Likewise.
47826 * disk/ieee1275/ofdisk.c: Likewise.
47827 * font/manager.c: Likewise.
47828 * fs/affs.c: Likewise.
47829 * fs/ext2.c: Likewise.
47830 * fs/fat.c: Likewise.
47831 * fs/fshelp.c: Likewise.
47832 * fs/hfs.c: Likewise.
47833 * fs/hfsplus.c: Likewise.
47834 * fs/iso9660.c: Likewise.
47835 * fs/jfs.c: Likewise.
47836 * fs/minix.c: Likewise.
47837 * fs/sfs.c: Likewise.
47838 * fs/ufs.c: Likewise.
47839 * fs/xfs.c: Likewise.
47840 * hello/hello.c: Likewise.
47841 * include/grub/acorn_filecore.h: Likewise.
47842 * include/grub/arg.h: Likewise.
47843 * include/grub/bitmap.h: Likewise.
47844 * include/grub/boot.h: Likewise.
47845 * include/grub/cache.h: Likewise.
47846 * include/grub/device.h: Likewise.
47847 * include/grub/disk.h: Likewise.
47848 * include/grub/dl.h: Likewise.
47849 * include/grub/elfload.h: Likewise.
47850 * include/grub/env.h: Likewise.
47851 * include/grub/err.h: Likewise.
47852 * include/grub/file.h: Likewise.
47853 * include/grub/font.h: Likewise.
47854 * include/grub/fs.h: Likewise.
47855 * include/grub/fshelp.h: Likewise.
47856 * include/grub/gzio.h: Likewise.
47857 * include/grub/hfs.h: Likewise.
47858 * include/grub/kernel.h: Likewise.
47859 * include/grub/loader.h: Likewise.
47860 * include/grub/lvm.h: Likewise.
47861 * include/grub/misc.h: Likewise.
47862 * include/grub/mm.h: Likewise.
47863 * include/grub/net.h: Likewise.
47864 * include/grub/normal.h: Likewise.
47865 * include/grub/parser.h: Likewise.
47866 * include/grub/partition.h: Likewise.
47867 * include/grub/pc_partition.h: Likewise.
47868 * include/grub/raid.h: Likewise.
47869 * include/grub/rescue.h: Likewise.
47870 * include/grub/script.h: Likewise.
47871 * include/grub/setjmp.h: Likewise.
47872 * include/grub/symbol.h: Likewise.
47873 * include/grub/term.h: Likewise.
47874 * include/grub/terminfo.h: Likewise.
47875 * include/grub/tparm.h: Likewise.
47876 * include/grub/types.h: Likewise.
47877 * include/grub/video.h: Likewise.
47878 * include/grub/efi/api.h: Likewise.
47879 * include/grub/efi/chainloader.h: Likewise.
47880 * include/grub/efi/console.h: Likewise.
47881 * include/grub/efi/console_control.h: Likewise.
47882 * include/grub/efi/disk.h: Likewise.
47883 * include/grub/efi/efi.h: Likewise.
47884 * include/grub/efi/pe32.h: Likewise.
47885 * include/grub/efi/time.h: Likewise.
47886 * include/grub/i386/linux.h: Likewise.
47887 * include/grub/i386/setjmp.h: Likewise.
47888 * include/grub/i386/types.h: Likewise.
47889 * include/grub/i386/efi/kernel.h: Likewise.
47890 * include/grub/i386/efi/loader.h: Likewise.
47891 * include/grub/i386/efi/time.h: Likewise.
47892 * include/grub/i386/pc/biosdisk.h: Likewise.
47893 * include/grub/i386/pc/boot.h: Likewise.
47894 * include/grub/i386/pc/chainloader.h: Likewise.
47895 * include/grub/i386/pc/console.h: Likewise.
47896 * include/grub/i386/pc/init.h: Likewise.
47897 * include/grub/i386/pc/kernel.h: Likewise.
47898 * include/grub/i386/pc/loader.h: Likewise.
47899 * include/grub/i386/pc/memory.h: Likewise.
47900 * include/grub/i386/pc/multiboot.h: Likewise.
47901 * include/grub/i386/pc/serial.h: Likewise.
47902 * include/grub/i386/pc/time.h: Likewise.
47903 * include/grub/i386/pc/vbe.h: Likewise.
47904 * include/grub/i386/pc/vbeblit.h: Likewise.
47905 * include/grub/i386/pc/vbefill.h: Likewise.
47906 * include/grub/i386/pc/vbeutil.h: Likewise.
47907 * include/grub/i386/pc/vga.h: Likewise.
47908 * include/grub/ieee1275/ieee1275.h: Likewise.
47909 * include/grub/ieee1275/ofdisk.h: Likewise.
47910 * include/grub/powerpc/libgcc.h: Likewise.
47911 * include/grub/powerpc/setjmp.h: Likewise.
47912 * include/grub/powerpc/types.h: Likewise.
47913 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47914 * include/grub/powerpc/ieee1275/console.h: Likewise.
47915 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47916 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47917 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47918 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47919 * include/grub/powerpc/ieee1275/time.h: Likewise.
47920 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47921 * include/grub/sparc64/libgcc.h: Likewise.
47922 * include/grub/sparc64/setjmp.h: Likewise.
47923 * include/grub/sparc64/types.h: Likewise.
47924 * include/grub/sparc64/ieee1275/console.h: Likewise.
47925 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47926 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47927 * include/grub/sparc64/ieee1275/time.h: Likewise.
47928 * include/grub/util/biosdisk.h: Likewise.
47929 * include/grub/util/getroot.h: Likewise.
47930 * include/grub/util/lvm.h: Likewise.
47931 * include/grub/util/misc.h: Likewise.
47932 * include/grub/util/raid.h: Likewise.
47933 * include/grub/util/resolve.h: Likewise.
47934 * io/gzio.c: Likewise.
47935 * kern/device.c: Likewise.
47936 * kern/disk.c: Likewise.
47937 * kern/dl.c: Likewise.
47938 * kern/elf.c: Likewise.
47939 * kern/env.c: Likewise.
47940 * kern/err.c: Likewise.
47941 * kern/file.c: Likewise.
47942 * kern/fs.c: Likewise.
47943 * kern/loader.c: Likewise.
47944 * kern/main.c: Likewise.
47945 * kern/misc.c: Likewise.
47946 * kern/mm.c: Likewise.
47947 * kern/parser.c: Likewise.
47948 * kern/partition.c: Likewise.
47949 * kern/rescue.c: Likewise.
47950 * kern/term.c: Likewise.
47951 * kern/efi/efi.c: Likewise.
47952 * kern/efi/init.c: Likewise.
47953 * kern/efi/mm.c: Likewise.
47954 * kern/i386/dl.c: Likewise.
47955 * kern/i386/efi/init.c: Likewise.
47956 * kern/i386/efi/startup.S: Likewise.
47957 * kern/i386/pc/init.c: Likewise.
47958 * kern/i386/pc/lzo1x.S: Likewise.
47959 * kern/i386/pc/startup.S: Likewise.
47960 * kern/ieee1275/ieee1275.c: Likewise.
47961 * kern/powerpc/cache.S: Likewise.
47962 * kern/powerpc/dl.c: Likewise.
47963 * kern/powerpc/ieee1275/cmain.c: Likewise.
47964 * kern/powerpc/ieee1275/crt0.S: Likewise.
47965 * kern/powerpc/ieee1275/init.c: Likewise.
47966 * kern/powerpc/ieee1275/openfw.c: Likewise.
47967 * kern/sparc64/cache.S: Likewise.
47968 * kern/sparc64/dl.c: Likewise.
47969 * kern/sparc64/ieee1275/init.c: Likewise.
47970 * kern/sparc64/ieee1275/openfw.c: Likewise.
47971 * loader/efi/chainloader.c: Likewise.
47972 * loader/efi/chainloader_normal.c: Likewise.
47973 * loader/i386/efi/linux.c: Likewise.
47974 * loader/i386/efi/linux_normal.c: Likewise.
47975 * loader/i386/pc/chainloader.c: Likewise.
47976 * loader/i386/pc/chainloader_normal.c: Likewise.
47977 * loader/i386/pc/linux.c: Likewise.
47978 * loader/i386/pc/linux_normal.c: Likewise.
47979 * loader/i386/pc/multiboot.c: Likewise.
47980 * loader/i386/pc/multiboot_normal.c: Likewise.
47981 * loader/powerpc/ieee1275/linux.c: Likewise.
47982 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47983 * normal/arg.c: Likewise.
47984 * normal/cmdline.c: Likewise.
47985 * normal/command.c: Likewise.
47986 * normal/completion.c: Likewise.
47987 * normal/execute.c: Likewise.
47988 * normal/function.c: Likewise.
47989 * normal/lexer.c: Likewise.
47990 * normal/main.c: Likewise.
47991 * normal/menu.c: Likewise.
47992 * normal/menu_entry.c: Likewise.
47993 * normal/misc.c: Likewise.
47994 * normal/parser.y: Likewise.
47995 * normal/script.c: Likewise.
47996 * normal/i386/setjmp.S: Likewise.
47997 * normal/powerpc/setjmp.S: Likewise.
47998 * normal/sparc64/setjmp.S: Likewise.
47999 * partmap/acorn.c: Likewise.
48000 * partmap/amiga.c: Likewise.
48001 * partmap/apple.c: Likewise.
48002 * partmap/gpt.c: Likewise.
48003 * partmap/pc.c: Likewise.
48004 * partmap/sun.c: Likewise.
48005 * term/gfxterm.c: Likewise.
48006 * term/terminfo.c: Likewise.
48007 * term/efi/console.c: Likewise.
48008 * term/i386/pc/console.c: Likewise.
48009 * term/i386/pc/serial.c: Likewise.
48010 * term/i386/pc/vesafb.c: Likewise.
48011 * term/i386/pc/vga.c: Likewise.
48012 * term/ieee1275/ofconsole.c: Likewise.
48013 * util/biosdisk.c: Likewise.
48014 * util/console.c: Likewise.
48015 * util/genmoddep.c: Likewise.
48016 * util/getroot.c: Likewise.
48017 * util/grub-emu.c: Likewise.
48018 * util/grub-mkdevicemap.c: Likewise.
48019 * util/grub-probe.c: Likewise.
48020 * util/lvm.c: Likewise.
48021 * util/misc.c: Likewise.
48022 * util/raid.c: Likewise.
48023 * util/resolve.c: Likewise.
48024 * util/update-grub.in: Likewise.
48025 * util/update-grub_lib.in: Likewise.
48026 * util/grub.d/00_header.in: Likewise.
48027 * util/grub.d/10_hurd.in: Likewise.
48028 * util/grub.d/10_linux.in: Likewise.
48029 * util/i386/efi/grub-install.in: Likewise.
48030 * util/i386/efi/grub-mkimage.c: Likewise.
48031 * util/i386/pc/grub-install.in: Likewise.
48032 * util/i386/pc/grub-mkimage.c: Likewise.
48033 * util/i386/pc/grub-mkrescue.in: Likewise.
48034 * util/i386/pc/grub-setup.c: Likewise.
48035 * util/i386/pc/misc.c: Likewise.
48036 * util/powerpc/ieee1275/grub-install.in: Likewise.
48037 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
48038 * util/powerpc/ieee1275/misc.c: Likewise.
48039 * video/bitmap.c: Likewise.
48040 * video/video.c: Likewise.
48041 * video/i386/pc/vbe.c: Likewise.
48042 * video/i386/pc/vbeblit.c: Likewise.
48043 * video/i386/pc/vbefill.c: Likewise.
48044 * video/i386/pc/vbeutil.c: Likewise.
48045 * video/readers/tga.c: Likewise.
48046
48047 2007-07-02 Robert Millan <rmh@aybabtu.com>
48048
48049 * conf/i386-efi.rmk: Replace obsolete reference to
48050 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
48051 with util/getroot.c.
48052 * conf/powerpc-ieee1275.rmk: Likewise.
48053 * conf/sparc64-ieee1275.rmk: Likewise.
48054
48055 * util/grub-emu.c (main): Fix unchecked pointer handling.
48056
48057 2007-07-02 Robert Millan <rmh@aybabtu.com>
48058
48059 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
48060 invocation to fail, in order to support partition-less media.
48061
48062 * util/i386/pc/grub-install.in: Likewise.
48063
48064 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
48065 which fs or partmap modules are needed (akin to its sister scripts).
48066
48067 Also use grub-probe to get rid of unportable /proc/mounts check.
48068
48069 Print the same informational message that the other scripts do, before
48070 exiting.
48071
48072 2007-06-23 Robert Millan <rmh@aybabtu.com>
48073
48074 * util/update-grub_lib.in (font_path): New function. Determine whether
48075 a font file can be found and, if so, echo the GRUB path to it.
48076
48077 * util/update-grub.in: Handle multiple terminals depending on user
48078 input, platform availability and font file presence. Propagate
48079 variables of our findings to /etc/grub.d/ children.
48080
48081 * util/grub.d/00_header.in: Handle multiple terminals, based on
48082 environment setup by update-grub.
48083
48084 2007-06-23 Robert Millan <rmh@aybabtu.com>
48085
48086 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
48087
48088 2007-06-21 Robert Millan <rmh@aybabtu.com>
48089
48090 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
48091 indicate end of data section in kernel image.
48092 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
48093 GRUB_KERNEL_MACHINE_DATA_END.
48094
48095 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
48096 space for it.
48097 * kern/i386/efi/startup.S: Likewise.
48098
48099 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
48100 during image generation. Implement --prefix option to override this
48101 patch.
48102 * util/i386/efi/grub-mkimage.c: Likewise.
48103
48104 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
48105 code to make path relative to its root into a separate function.
48106
48107 * util/i386/pc/grub-install.in: Use newly provided
48108 make_system_path_relative_to_its_root() to convert ${grubdir}, then
48109 pass the result to grub-install --prefix.
48110
48111 2007-06-13 Robert Millan <rmh@aybabtu.com>
48112
48113 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
48114 DEFAULT_DEVICE_MAP.
48115 * util/grub-emu.c: Use above definitions from misc.h instead of
48116 defining them.
48117 * util/grub-mkdevicemap.c: Likewise.
48118 * util/i386/pc/grub-setup.c: Likewise.
48119 * util/grub-probe.c: Likewise.
48120 (probe): Abort with grub_util_error() when either
48121 grub_guess_root_device or grub_util_get_grub_dev fails.
48122
48123 2007-06-12 Robert Millan <rmh@aybabtu.com>
48124
48125 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
48126 "pager" assignment.
48127 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
48128 "pcdata".
48129 * util/grub-probe.c (probe): Likewise for "drive_name".
48130
48131 2007-06-11 Robert Millan <rmh@aybabtu.com>
48132
48133 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
48134 not just the cdrom one.
48135
48136 2007-06-11 Robert Millan <rmh@aybabtu.com>
48137
48138 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48139 Add --pkglibdir=DIR option to override pkglibdir.
48140 Mention --image-type=TYPE in help output.
48141 Fix --grub-mkimage (it was a no-op).
48142 Abort gracefully when no parameter is given.
48143
48144 2007-06-11 Robert Millan <rmh@aybabtu.com>
48145
48146 * util/i386/pc/grub-mkrescue.in: New file.
48147 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48148 * Makefile.in: Handle bin_SCRIPTS.
48149
48150 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48151
48152 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48153 list of video modes.
48154
48155 2007-06-06 Robert Millan <rmh@aybabtu.com>
48156
48157 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48158 file doesn't exist, or if it is in a filesystem grub can't read.
48159
48160 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48161 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48162 header comment to fit in 80 columns when the variables are resolved.
48163
48164 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48165 could be identified by update-grub. Remove redundant check for
48166 unifont.pff existence (since convert_system_path_to_grub_path now
48167 handles that).
48168
48169 2007-06-04 Robert Millan <rmh@aybabtu.com>
48170
48171 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48172
48173 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48174
48175 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48176
48177 2007-06-04 Robert Millan <rmh@aybabtu.com>
48178
48179 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48180
48181 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48182 grub_apple_partition_map_fini.
48183
48184 * util/biosdisk.c
48185 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48186 to access >2 TiB disks).
48187
48188 Print disk->total_sectors with %llu instead of %lu, since this
48189 variable is always 64-bit (prevents wrong disk size from being displayed
48190 on either >2 TiB disk or big-endian CPU).
48191
48192 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48193 into a generic case that supports all (sane) partition maps.
48194
48195 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48196 breaks big-endian.
48197
48198 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48199 and grub_apple_partition_map_fini() after that.
48200
48201 2007-06-01 Robert Millan <rmh@aybabtu.com>
48202
48203 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48204
48205 * util/grub.d/00_header.in: Only enable gfxterm when
48206 convert_system_path_to_grub_path() succeeds.
48207
48208 2007-05-20 Robert Millan <rmh@aybabtu.com>
48209
48210 * util/update-grub_lib.in: New file.
48211 * DISTLIST: Add update-grub_lib.in.
48212 * conf/common.rmk: Generate update-grub_lib and install it in
48213 $(lib_DATA).
48214 * Makefile.in: Add install routine for $(lib_DATA).
48215
48216 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48217 function provided by update-grub_lib to support arbitrary paths of
48218 unifont.pff.
48219 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48220 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48221
48222 2007-05-19 Robert Millan <rmh@aybabtu.com>
48223
48224 * commands/i386/cpuid.c: New module.
48225 * DISTLIST: Add it.
48226 * conf/i386-efi.rmk: Enable cpuid.mod.
48227 * conf/i386-pc.rmk: Likewise.
48228
48229 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48230
48231 * kern/disk.c (grub_disk_read): Check return value of
48232 grub_realloc().
48233
48234 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48235
48236 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48237 arrays.
48238 * disk/raid.c (grub_raid_open): Likewise.
48239
48240 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48241
48242 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48243 stack instead of on the heap.
48244
48245 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48246 before doing a read on it.
48247
48248 * configure.ac: Only use -fno-stack-protector for the target
48249 environment.
48250
48251 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48252
48253 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48254 __attribute_ ((unused)) to mode_type argument.
48255
48256 * util/getroot.c (grub_guess_root_device): Fix #endif.
48257
48258 * kern/misc.c (memcmp): Fix prototype.
48259
48260 * include/grub/partition.h [GRUB_UTIL]
48261 (grub_gpt_partition_map_init): Add prototype.
48262 (grub_gpt_partition_map_fini): Likewise.
48263
48264 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48265 at the right place.
48266
48267 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48268 (grub_fat_read_data): Likewise.
48269 (grub_fat_find_dir): Likewise.
48270
48271 * font/manager.c (find_glyph): Make table a const.
48272 (grub_font_get_glyph): Remove bitmap from if statement.
48273
48274 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48275
48276 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48277 code, first search for device in /dev/mapper, then in /dev.
48278 (grub_util_get_grub_dev): New function.
48279 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48280 prototype.
48281 * util/grub-probe.c (probe): Remove check for RAID, call
48282 grub_util_get_grub_dev() instead of
48283 grub_util_biosdisk_get_grub_dev().
48284 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48285 grub_util_biosdisk_get_grub_dev().
48286 * util/i386/pc/grub-setup.c (main): Likewise.
48287
48288 2007-05-16 Robert Millan <rmh@aybabtu.com>
48289
48290 * DISTLIST: Update for the latest changes.
48291 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48292 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48293 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48294 grub/util/biosdisk.h.
48295 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48296 grub/util/biosdisk.h.
48297
48298 2007-05-16 Robert Millan <rmh@aybabtu.com>
48299
48300 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48301
48302 2007-05-16 Robert Millan <rmh@aybabtu.com>
48303
48304 * util/i386/efi/grub-install.in: New.
48305 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48306 newly added grub-install.
48307 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48308 include.
48309 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48310 grub/util/biosdisk.h.
48311 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48312 grub/util/biosdisk.h.
48313
48314 2007-05-16 Robert Millan <rmh@aybabtu.com>
48315
48316 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48317 * include/grub/util/biosdisk.h: ... here.
48318 * util/i386/pc/biosdisk.c: Moved to ...
48319 * util/biosdisk.c: ... here.
48320 * util/i386/pc/getroot.c: Moved to ...
48321 * util/getroot.c: ... here.
48322 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48323 * util/grub-mkdevicemap.c: ... here.
48324 * util/i386/pc/grub-probe.c: Moved to ...
48325 * util/grub-probe.c: ... here.
48326
48327 2007-05-15 Robert Millan <rmh@aybabtu.com>
48328
48329 * util/update-grub.in: Remove duplicated line in grub.cfg header
48330 message.
48331
48332 2007-05-13 Robert Millan <rmh@aybabtu.com>
48333
48334 * util/update-grub.in: Fix a few assumptions about the devices holding
48335 /, /boot and /boot/grub being the same.
48336 * util/grub.d/00_header.in: Likewise.
48337 * util/grub.d/10_hurd.in: Likewise.
48338 * util/grub.d/10_linux.in: Likewise.
48339
48340 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48341 patterns. Use that to define the `.old' suffix as older than `'.
48342
48343 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48344
48345 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48346 the grub.cfg header message.
48347
48348 2007-05-11 Robert Millan <rmh@aybabtu.com>
48349
48350 * util/update-grub.in: Create device.map if it doesn't already exist,
48351 before attempting to run grub-probe.
48352 Check for grub-probe and grub-mkdevicemap with the same code
48353 grub-install is using.
48354 Remove test mode.
48355
48356 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48357
48358 * Makefile.in: Add the datarootdir autoconf variable.
48359
48360 2007-05-09 Robert Millan <rmh@aybabtu.com>
48361
48362 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
48363 fail gracefully if dev->disk->partition == NULL.
48364
48365 2007-05-07 Robert Millan <rmh@aybabtu.com>
48366
48367 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48368 determine partition map module.
48369 * util/i386/pc/grub-install.in: Use this feature to decide which
48370 partition module to load, instead of hardcoding pc and gpt.
48371
48372 2007-05-07 Robert Millan <rmh@aybabtu.com>
48373
48374 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48375 source directory differs from build directory.
48376
48377 2007-05-05 Robert Millan <rmh@aybabtu.com>
48378
48379 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48380 initialisation.
48381
48382 2007-05-05 Robert Millan <rmh@aybabtu.com>
48383
48384 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48385
48386 2007-05-05 Robert Millan <rmh@aybabtu.com>
48387
48388 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48389 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48390
48391 2007-05-05 Robert Millan <rmh@aybabtu.com>
48392
48393 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48394 (grub_probe_SOURCES): Likewise.
48395 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48396 GPT and initialize dos_part and bsd_part accordingly.
48397 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48398 install_bsd_part.
48399 (main): Activate gpt module for use during partition identification,
48400 and deactivate it afterwards.
48401 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48402 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48403 partition identification, and deactivate it afterwards.
48404
48405 2007-05-05 Robert Millan <rmh@aybabtu.com>
48406
48407 * term/i386/pc/console.c (grub_console_fini): Call
48408 grub_term_set_current() before grub_term_unregister().
48409
48410 2007-05-04 Robert Millan <rmh@aybabtu.com>
48411
48412 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48413 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48414 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48415 and update-grub_DATA.
48416 * conf/common.rmk: Build and install update-grub components.
48417 * conf/common.mk: Regenerate.
48418 * util/update-grub.in: New. Core of update-grub.
48419 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48420 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48421 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48422 * util/grub.d/README: New. Document grub.d directory layout.
48423
48424 2007-05-01 Robert Millan <rmh@aybabtu.com>
48425
48426 * util/grub-emu.c: Move initialization functions
48427 grub_util_biosdisk_init() and grub_init_all() before
48428 grub_util_biosdisk_get_grub_dev(), which relies on them.
48429
48430 2007-04-19 Robert Millan <rmh@aybabtu.com>
48431
48432 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48433 it is used later.
48434
48435 2007-04-18 Jerone Young <jerone@gmail.com>
48436
48437 * kernel/elf.c: Add missing parenthesis for conditional statement
48438 stanza.
48439
48440 2007-04-10 Jerone Young <jerone@gmail.com>
48441
48442 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48443 continue on and look for device node with real device name.
48444
48445 2007-04-10 Jerone Young <jerone@gmail.com>
48446
48447 * configure.ac: Add argument for autoconf to use transformation
48448 ability.
48449 * Makefile.in: Add autoconf package transformation code.
48450 * util/i386/pc/grub-install.in: Likewise.
48451 * util/powerpc/ieee1275/grub-install.in: Likewise.
48452
48453 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48454
48455 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48456 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48457 (EXT2_REVISION): Likewise.
48458 (EXT2_INODE_SIZE): Likewise.
48459 (struct grub_ext2_block_group): Added a missing member
48460 "used_dirs".
48461 (grub_ext2_read_inode): Divide by the inode size in a superblock
48462 instead of 128 to obtain INODES_PER_BLOCK.
48463 Use the macro EXT2_INODE_SIZE instead of directly using
48464 SBLOCK->INODE_SIZE.
48465
48466 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48467
48468 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48469 superblock instead of the structure size to compute an
48470 offset. This fixes the problem that GRUB could not read a
48471 filesystem when inode size is different from 128-byte.
48472
48473 2007-03-05 Marco Gerards <marco@gnu.org>
48474
48475 * normal/main.c (read_config_file): When "menu" is not set, create
48476 an initial context.
48477
48478 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48479
48480 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48481 (HEAP_LIMIT): New macro.
48482 (grub_claim_heap): Claim memory up to `heaplimit'.
48483
48484 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48485
48486 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48487 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48488 (_start): Likewise.
48489 (grub_arch_modules_addr): Return address after `_end'.
48490 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48491 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48492 (add_segments): Calculate `_end' from phdr size and location.
48493 (ALIGN_UP): Moved to ...
48494 * include/grub/misc.h: here.
48495 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48496 New macro.
48497 (GRUB_IEEE1275_MODULE_BASE): Removed.
48498
48499 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48500
48501 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48502 loop boundary.
48503
48504 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48505
48506 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48507 All users updated.
48508 (grub_elf64_load_hook_t): Likewise.
48509 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48510 debug output.
48511
48512 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48513
48514 * kern/mm.c: Update copyright.
48515 (grub_mm_debug): Correct syntax error.
48516 (grub_mm_dump_free): New function.
48517 (grub_debug_free): Call `grub_free'.
48518 * include/grub/mm.h: Update copyright.
48519 (grub_mm_dump_free): Add declaration.
48520
48521 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48522
48523 * include/grub/ieee1275/ieee1275.h: Update copyright.
48524 * kern/powerpc/ieee1275/init.c: Likewise.
48525 * kern/powerpc/ieee1275/openfw.c: Likewise.
48526
48527 * loader/powerpc/ieee1275/linux.c: Likewise.
48528 * include/grub/elfload.h: Likewise.
48529 * kern/elf.c: Likewise.
48530 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48531 callers.
48532 (grub_elf64_load): Likewise.
48533 (grub_elf32_load_segment): Move to a nested function.
48534 (grub_elf64_load_segment): Likewise.
48535
48536 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48537
48538 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48539 prototype.
48540 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48541 (grub_heap_len): Likewise.
48542 (HEAP_SIZE): New macro.
48543 (grub_claim_heap): New function.
48544 (grub_machine_init): Don't claim heap directly. Call
48545 `grub_claim_heap'.
48546 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48547 (grub_available_iterate): New function.
48548
48549 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48550
48551 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48552 * configure.ac: Use it for testing the HOST and TARGET compilers.
48553
48554 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48555
48556 * Makefile.in (enable_grub_emu): New variable.
48557 * configure.ac (--enable-grub-emu): New option.
48558 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48559 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48560 * conf/i386-pc.rmk: Likewise.
48561 * conf/powerpc-ieee1275.rmk: Likewise.
48562 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48563
48564 2006-12-12 Marco Gerards <marco@gnu.org>
48565
48566 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48567
48568 * kern/env.c (grub_env_unset): Don't free the member `value' when
48569 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48570 pointer.
48571
48572 * normal/main.c (current_menu): Removed.
48573 (free_menu): Unset the `menu' environment variable.
48574 (grub_normal_menu_addentry): Make use of the environment variable
48575 `menu', instead of using the global `current_menu'. Allocate
48576 memory for the sourcecode of this entry.
48577 (read_config_file): New argument `nested', changed all callers.
48578 Only in the case of a new context, initialize a new menu. Set the
48579 `menu' environment variable.
48580 (grub_normal_execute): Don't set and unset the environment
48581 variable `menu' here anymore. Only free the menu when leaving the
48582 context.
48583
48584 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48585 leak.
48586
48587 2006-12-11 Marco Gerards <marco@gnu.org>
48588
48589 * normal/menu_entry.c (run): Fix off by one bug so the last line
48590 is executed. Move the loader check to outside the loop.
48591
48592 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48593
48594 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48595
48596 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48597
48598 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48599 the number of sectors. Reported by Andrey Shuvikov
48600 <mr_hyro@yahoo.com>.
48601
48602 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48603
48604 * kern/disk.c (grub_disk_read): When there is a read error, always
48605 try to read only the necessary data.
48606
48607 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48608 disk/raid.c.
48609 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48610 prototype.
48611 [GRUB_UTIL] (grub_raid_fini): Likewise.
48612 [GRUB_UTIL] (grub_lvm_init): Likewise.
48613 [GRUB_UTIL] (grub_lvm_fini): Likewise.
48614 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48615 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48616 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48617 and grub_raid_fini().
48618
48619 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48620
48621 * include/grub/types.h (__unused): Rename to UNUSED.
48622 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48623 (grub_elf64_size): Likewise.
48624
48625 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48626
48627 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48628 grub_error_push and grub_error_pop in the error-handling path.
48629 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48630 length.
48631
48632 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48633
48634 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48635 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48637 (kernel_elf_SOURCES): Likewise.
48638 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48639 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48640 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48641 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48642 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48643 (elf_mod_SOURCES): New variable.
48644 (elf_mod_CFLAGS): Likewise.
48645 (elf_mod_LDFLAGS): Likewise.
48646 * include/grub/types.h (__unused): New macro.
48647 * include/grub/elfload.h: New file.
48648 * kern/elf.c: Likewise.
48649 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48650 (ELF32_LOADMASK): New macro.
48651 (ELF64_LOADMASK): Likewise.
48652 (vmlinux): Removed.
48653 (grub_linux_load32): New function.
48654 (grub_linux_load64): Likewise.
48655 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48656 Use grub_elf_t instead of grub_file_t.
48657
48658 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48659
48660 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48661 `catch_result' to struct set_color_args.
48662
48663 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48664
48665 * normal/menu.c: Include grub/script.h.
48666 * normal/menu_entry.c: Likewise.
48667 * include/grub/normal.h: Do not include grub/script.h.
48668
48669 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48670
48671 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48672
48673 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48674
48675 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48676 disk.
48677 (grub_disk_close): Print debug messages when closing a disk.
48678 (grub_disk_read): Print debug messages when disk read fails.
48679 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48680 filesystem type.
48681 * kern/partition.c: Include misc.h.
48682 (grub_partition_iterate): Print debug messages when detecting
48683 partition type.
48684
48685 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48686
48687 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48688 is negative.
48689 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48690
48691 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48692
48693 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48694 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48695
48696 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48697
48698 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48699 instead of sizeof(lv). Patch by Michael Guntsche.
48700
48701 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48702
48703 * disk/lvm.c: Rename VGS to VG_LIST.
48704 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48705 (grub_lvm_open): Likewise.
48706 Thanks to Michael Guntsche for finding this bug.
48707
48708 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48709
48710 * configure.ac (AC_INIT): Bumped to 1.95.
48711
48712 2006-10-14 Robert Millan <rmh@aybabtu.com>
48713
48714 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48715 with "/dev/.static/dev/md".
48716
48717 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48718
48719 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48720 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48721 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48722 DRIVE_NAME are always freed.
48723
48724 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48725 DOS_PART, as a DOS partition is counted from one instead of zero
48726 now. Reported by Robert Millan.
48727
48728 2006-10-14 Robert Millan <rmh@aybabtu.com>
48729
48730 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48731 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48732 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48733 string returned by grub_guess_root_device.
48734 * util/i386/pc/grub-setup.c: Likewise.
48735 * util/i386/pc/grub-probefs.c: Likewise.
48736
48737 * util/i386/pc/grub-probefs.c: Rename to ...
48738 * util/i386/pc/grub-probe.c: ... this.
48739 * DISTLIST: Remove grub-probefs, add grub-probe.
48740 * conf/i386-efi.rmk: Likewise.
48741 * conf/i386-pc.rmk: Likewise.
48742 * util/i386/pc/grub-install.in: Likewise.
48743
48744 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48745 choose which information we want to print.
48746
48747 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48748
48749 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48750 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48751 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48752 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48753 video/readers/tga.c and video/i386/pc/vbeutil.c.
48754
48755 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48756
48757 Added support for RAID and LVM.
48758
48759 * disk/lvm.c: New file.
48760 * disk/raid.c: Likewise.
48761 * include/grub/lvm.h: Likewise.
48762 * include/grub/raid.h: Likewise.
48763 * include/grub/util/lvm.h: Likewise.
48764 * include/grub/util/raid.h: Likewise.
48765 * util/lvm.c: Likewise.
48766 * util/raid.c: Likewise.
48767
48768 * include/grub/disk.h (grub_disk_dev_id): Add
48769 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48770 (grub_disk_get_size): New prototype.
48771 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48772 returns a partition.
48773 (grub_disk_get_size): New function.
48774
48775 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48776 verbatim if grub_install_dos_part is -2.
48777
48778 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48779 and LVM devices.
48780
48781 * util/i386/pc/grub-setup.c (setup): New argument
48782 MUST_EMBED. Force embedding of GRUB when the argument is
48783 true. Close FILE before returning.
48784 (main): Add support for RAID and LVM.
48785
48786 * conf/common.rmk: Add RAID and LVM modules.
48787 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48788 util/lvm.c.
48789 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48790
48791 * kern/misc.c (grub_strstr): New function.
48792 * include/grub/misc.h (grub_strstr): New prototype.
48793
48794 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48795
48796 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48797
48798 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48799
48800 * kern/misc.c (grub_strtoull): Guess the base only if not
48801 specified.
48802
48803 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48804
48805 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48806 PowerMac support.
48807
48808 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48809
48810 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48811
48812 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48813 Remove `flags' argument. All callers changed.
48814 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48815 (IEEE1275_IHANDLE_INVALID): New variable.
48816 (IEEE1275_CELL_INVALID): New variable.
48817 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48818 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48819 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48820 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48821 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48822 codes from Open Firmware. All callers updated.
48823 (grub_ieee1275_next_property): Directly return Open Firmware return
48824 code.
48825 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48826 Standardize error checking from `grub_ieee1275_get_property'.
48827 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48828 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48829
48830 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48831
48832 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48833 `instance_to_package_args' to `instance_to_path_args'.
48834
48835 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48836 `grub_ieee1275_chosen'.
48837
48838 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48839 `grub_ieee1275_interpret'.
48840
48841 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48842
48843 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48844
48845 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48846
48847 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48848 (__cmpdi): Likewise.
48849
48850 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48851 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48852 `grub_ssize_t'.
48853
48854 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
48855
48856 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48857 to type `grub_ssize_t'.
48858 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48859
48860 2006-09-22 Marco Gerards <marco@gnu.org>
48861
48862 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48863 newlines.
48864
48865 2006-09-22 Marco Gerards <marco@gnu.org>
48866
48867 * commands/echo.c: New file.
48868
48869 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48870
48871 * conf/common.rmk (echo_mod_SOURCES): New variable.
48872 (echo_mod_CFLAGS): Likewise.
48873 (echo_mod_LDFLAGS): Likewise.
48874
48875 2006-09-22 Marco Gerards <marco@gnu.org>
48876
48877 * normal/main.c (get_line): Malloc memory instead of using
48878 preallocated memory. Removed the arguments `cmdline' and
48879 `max_len'. Updated all callers.
48880
48881 2006-09-22 Marco Gerards <marco@gnu.org>
48882
48883 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48884 (normal_mod_DEPENDENCIES): Likewise.
48885
48886 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48887 (normal_mod_DEPENDENCIES): Likewise.
48888
48889 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48890
48891 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
48892
48893 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48894 programs.
48895 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48896 (normal_mod_DEPENDENCIES): Likewise.
48897 * conf/i386-pc.mk: Regenerate.
48898 * conf/i386-efi.mk: Likewise
48899 * conf/common.mk: Likewise.
48900 * conf/powerpc-ieee1275.mk: Likewise.
48901 * conf/sparc64-ieee1275.mk: Likewise.
48902
48903 2006-09-22 Robert Millan <rmh@aybabtu.com>
48904
48905 Sync with i386 version.
48906 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48907 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48908
48909 2006-09-21 Robert Millan <rmh@aybabtu.com>
48910
48911 Import from GRUB Legacy (lib/device.c):
48912 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48913 (init_device_map) [__linux__]: Add support for I2O devices.
48914
48915 2006-09-14 Marco Gerards <marco@gnu.org>
48916
48917 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48918 `-melf_i386'.
48919
48920 2006-09-14 Robert Millan <rmh@aybabtu.com>
48921
48922 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48923 /boot/grub/*.lst.
48924
48925 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
48926
48927 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48928 before adding it to device.map.
48929
48930 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
48931
48932 * genmk.rb: Let GCC generate dependencies the first time it
48933 compiles a file; using the -MD option.
48934 * conf/common.mk: Regenerate.
48935 * conf/i386-pc.mk: Likewise.
48936 * conf/i386-efi.mk: Likewise.
48937 * conf/powerpc-ieee1275.mk: Likewise.
48938 * conf/sparc64-ieee1275.mk: Likewise.
48939
48940 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48941
48942 Move the prototypes of grub_setjmp and grub_longjmp to
48943 cpu/setjmp.h, so that each architecture may specify different
48944 attributes.
48945
48946 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48947 (grub_longjmp): Likewise.
48948 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48949 (grub_longjmp): Likewise.
48950 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48951 (grub_longjmp): Likewise.
48952
48953 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48954 [!GRUB_UTIL] (grub_longjmp): Removed.
48955
48956 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48957
48958 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48959 "color!" method does not return any value.
48960
48961 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48962
48963 * include/grub/bitmap.h: New file.
48964
48965 * include/grub/i386/pc/vbeutil.h: Likewise.
48966
48967 * video/bitmap.c: Likewise.
48968
48969 * video/readers/tga.c: Likewise.
48970
48971 * video/i386/pc/vbeutil.c: Likewise.
48972
48973 * commands/videotest.c: Code cleanup and updated to reflect to new
48974 video API.
48975
48976 * term/gfxterm.c: Likewise.
48977
48978 * video/video.c: Likewise.
48979
48980 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48981 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48982 (bitmap_mod_SOURCES): New entry.
48983 (bitmap_mod_CFLAGS): Likewise.
48984 (bitmap_mod_LDFLAGS): Likewise.
48985 (tga_mod_SOURCES): Likewise.
48986 (tga_mod_CFLAGS): Likewise.
48987 (tga_mod_LDFLAGS): Likewise.
48988
48989 * include/grub/video.h (grub_video_blit_operators): New enum type.
48990 (grub_video_render_target): Changed as forward declaration and moved
48991 actual definition to be video driver specific.
48992 (grub_video_adapter.blit_bitmap): Added blitting operator.
48993 (grub_video_adapter.blit_render_target): Likewise.
48994 (grub_video_blit_bitmap): Likewise.
48995 (grub_video_blit_render_target): Likewise.
48996
48997 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48998 driver specific render target definition.
48999 (grub_video_vbe_map_rgba): Added driver internal helper.
49000 (grub_video_vbe_unmap_color): Updated to use
49001 grub_video_i386_vbeblit_info.
49002 (grub_video_vbe_get_video_ptr): Likewise.
49003
49004 * include/grub/i386/pc/vbeblit.h
49005 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
49006 grub_video_i386_vbeblit_info.
49007 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
49008 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
49009 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
49010 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
49011 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
49012 (grub_video_i386_vbeblit_index_index): Likewise.
49013 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
49014 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
49015 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
49016 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
49017 operator.
49018 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
49019 operator.
49020
49021 * video/i386/pc/vbeblit.c: Updated to reflect changes on
49022 include/grub/i386/pc/vbeblit.h.
49023
49024 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
49025 Updated to use grub_video_i386_vbeblit_info.
49026 (grub_video_i386_vbefill_R8G8B8): Likewise.
49027 (grub_video_i386_vbefill_index): Likewise.
49028 (grub_video_i386_vbefill): Added generic filler.
49029
49030 * video/i386/pc/vbefill.c: Updated to reflect changes on
49031 include/grub/i386/pc/vbefill.h.
49032
49033 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
49034 grub_video_i386_vbeblit_info.
49035 (grub_video_vbe_unmap_color): Likewise.
49036 (grub_video_vbe_blit_glyph): Likewise.
49037 (grub_video_vbe_scroll): Likewise.
49038 (grub_video_vbe_draw_pixel): Removed function.
49039 (grub_video_vbe_get_pixel): Likewise.
49040 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
49041 updated code to use it.
49042 (common_blitter): Added common blitter for render target and bitmap.
49043 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
49044 (grub_video_vbe_blit_render_target): Likewise.
49045
49046 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
49047
49048 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
49049 is in text mode if there is no console control protocol instance
49050 available.
49051
49052 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49053
49054 * include/grub/video.h: Code cleanup.
49055
49056 * include/grub/i386/pc/vbe.h: Likewise.
49057
49058 * video/i386/pc/vbe.c: Likewise.
49059
49060 * video/i386/pc/vbeblit.c: Likewise.
49061
49062 * video/i386/pc/vbefill.c: Likewise.
49063
49064 * video/video.c: Likewise. Also added more comments.
49065
49066 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49067
49068 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
49069 (struct grub_biosdisk_dap): Likewise.
49070
49071 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
49072 linkage settings for all functions.
49073
49074 2006-07-12 Marco Gerards <marco@gnu.org>
49075
49076 * configure.ac (--enable-mm-debug): Fix typo.
49077
49078 * genkernsyms.sh.in: Use proper quoting for `CC'.
49079
49080 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
49081
49082 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
49083 (normal_mod_ASFLAGS): Remove "-m32".
49084
49085 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
49086
49087 * util/misc.c: Include config.h.
49088 [!HAVE_MEMALIGN]: Do not include malloc.h.
49089 (grub_memalign): Use posix_memalign, if present. Then, use
49090 memalign, if present. Otherwise, emit an error.
49091
49092 * util/grub-emu.c: Do not include malloc.h.
49093
49094 * include/grub/util/misc.h: Include unistd.h. This is required for
49095 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
49096 D. Eades III <hde@foobar-qux.org>.
49097
49098 * configure.ac (AC_GNU_SOURCE): Added.
49099 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
49100 type.
49101
49102 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
49103
49104 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
49105 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
49106
49107 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
49108
49109 * include/grub/types.h (grub_host_addr_t): Rename to
49110 grub_target_addr_t.
49111 (grub_host_off_t): Rename to grub_target_off_t.
49112 (grub_host_size_t): Rename to grub_target_size_t.
49113 (grub_host_ssize_t): Rename to grub_target_ssize_t.
49114 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
49115
49116 * include/grub/kernel.h (struct grub_module_header): Change type
49117 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
49118 (grub_module_info): Likewise.
49119
49120 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49121
49122 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
49123 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
49124 Velazquez <jesus.velazquez@gmail.com>.
49125
49126 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49127
49128 Count partitions from 1 instead of 0 in the string representation
49129 of partitions. Still use 0-based internally.
49130
49131 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
49132 (sun_partition_map_iterate): Use grub_partition_t instead of
49133 struct grub_partition *. Cast DESC->START_CYLINDER to
49134 grub_uint64_t after converting the endian.
49135 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49136 (sun_partition_map_get_name): Add 1 to P->INDEX.
49137
49138 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49139 PCDATA->DOS_PART.
49140 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49141
49142 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49143 zero instead of one.
49144 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49145 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49146
49147 * partmap/apple.c (apple_partition_map_iterate): Change the type
49148 of POS to unsigned.
49149 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49150 (apple_partition_map_get_name): Add 1 into P->INDEX.
49151
49152 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49153 of POS to unsigned.
49154 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49155 calculate the offset of a partition.
49156 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49157 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49158
49159 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49160 SECTOR to grub_disk_addr_t.
49161 (acorn_partition_map_iterate): Likewise.
49162 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49163 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49164 top.
49165 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49166
49167 * kern/i386/pc/init.c (make_install_device): Add 1 into
49168 GRUB_INSTALL_DOS_PART.
49169
49170 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49171 conditional.
49172
49173 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49174
49175 Clean up the code to support 64-bit addressing in disks and
49176 files. This change is not enough for filesystems yet.
49177
49178 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49179 type of "start" to grub_uint64_t.
49180 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49181 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49182 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49183 convert addresses.
49184
49185 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49186 to grub_disk_addr_t.
49187
49188 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49189 string.
49190
49191 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49192
49193 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49194 to char *.
49195
49196 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49197
49198 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49199
49200 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49201
49202 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49203 to grub_off_t, to detect an error from grub_file_seek.
49204 (grub_multiboot_load_elf32): Likewise.
49205
49206 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49207 maximum unsigned long value when an overflow is detected.
49208 (grub_strtoull): New function.
49209 (grub_divmod64): Likewise.
49210 (grub_lltoa): use grub_divmod64.
49211
49212 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49213 grub_disk_addr_t.
49214 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49215 the pointer to next character. Use grub_strtoull instead of
49216 grub_strtoul.
49217 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49218 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49219 respectively.
49220
49221 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
49222 return value is signed.
49223 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49224 test if OFFSET is less than zero, as OFFSET is unsigned now.
49225
49226 * kern/disk.c (struct grub_disk_cache): Change the type of
49227 "sector" to grub_disk_addr_t.
49228 (grub_disk_cache_get_index): Change the type of SECTOR to
49229 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49230 unsigned after shifting.
49231 (grub_disk_cache_invalidate): Change the type of SECTOR to
49232 grub_disk_addr_t.
49233 (grub_disk_cache_unlock): Likewise.
49234 (grub_disk_cache_store): Likewise.
49235 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49236 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49237 grub_disk_addr_t and grub_uint64_t, respectively.
49238 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49239 body, as the value of OFFSET is tweaked by
49240 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49241 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49242 respectively.
49243 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49244 body, as the value of OFFSET is tweaked by
49245 grub_disk_check_range. Change the types of LEN and N to
49246 grub_size_t.
49247
49248 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49249 and "saved_offset" to grub_off_t.
49250 (test_header): Cast BUF to char *.
49251 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49252 to char *.
49253 (grub_gzio_read): Change the types of OFFSET and SIZE to
49254 grub_off_t and grub_size_t, respectively.
49255
49256 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49257 Removed.
49258 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49259 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49260 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49261 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49262 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49263
49264 * include/grub/types.h (grub_off_t): Unconditionally set to
49265 grub_uint64_t.
49266 (grub_disk_addr_t): Changed to grub_uint64_t.
49267
49268 * include/grub/partition.h (struct grub_partition): Change the
49269 types of "start", "len" and "offset" to grub_disk_addr_t,
49270 grub_uint64_t and grub_disk_addr_t, respectively.
49271 (grub_partition_get_start): Return grub_disk_addr_t.
49272 (grub_partition_get_len): Return grub_uint64_t.
49273
49274 * include/grub/misc.h (grub_strtoull): New prototype.
49275 (grub_divmod64): Likewise.
49276
49277 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49278 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49279 grub_off_t, respectively.
49280 All callers and references changed.
49281
49282 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49283 grub_size_t in "read".
49284 All callers and references changed.
49285
49286 * include/grub/file.h (struct grub_file): Change the types of
49287 "offset" and "size" to grub_off_t and grub_off_t,
49288 respectively. Change the type of SECTOR to grub_disk_addr_t in
49289 "read_hook".
49290 (grub_file_read): Change the type of LEN to grub_size_t.
49291 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49292 grub_off_t.
49293 (grub_file_size): Return grub_off_t.
49294 (grub_file_tell): Likewise.
49295 All callers and references changed.
49296
49297 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49298 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49299 "write".
49300 (struct grub_disk): Change the type of "total_sectors" to
49301 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
49302 "read_hook".
49303 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49304 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49305 (grub_disk_write): Likewise.
49306 All callers and references changed.
49307
49308 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49309 char * for grub_strncmp to silence gcc.
49310 (grub_iso9660_mount): Likewise.
49311 (grub_iso9660_mount): Likewise.
49312 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49313 return statement.
49314 (grub_iso9660_iterate_dir): Likewise.
49315 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49316
49317 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49318 LEN to grub_disk_addr_t and grub_size_t, respectively.
49319
49320 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49321
49322 * fs/jfs.c (grub_jfs_read_file): Likewise.
49323
49324 * fs/minix.c (grub_jfs_read_file): Likewise.
49325
49326 * fs/sfs.c (grub_jfs_read_file): Likewise.
49327
49328 * fs/ufs.c (grub_jfs_read_file): Likewise.
49329
49330 * fs/xfs.c (grub_jfs_read_file): Likewise.
49331
49332 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49333 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49334 respectively.
49335
49336 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49337 BLKNR to -1 instead of returning GRUB_ERRNO.
49338 (grub_ext2_read_file): Change the types of SECTOR and
49339 LEN to grub_disk_addr_t and grub_size_t, respectively.
49340
49341 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49342 LEN to grub_disk_addr_t and grub_size_t, respectively.
49343
49344 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49345 grub_file_read.
49346
49347 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49348 string. Do not cast SECTOR explicitly.
49349
49350 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49351 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49352 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49353 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49354 over 2TB and LBA mode is not supported, raise an error.
49355 (get_safe_sectors): New function.
49356 (grub_biosdisk_read): Use get_safe_sectors.
49357 (grub_biosdisk_write): Likewise.
49358
49359 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49360 (grub_efidisk_write): Likewise.
49361
49362 * disk/loopback.c (delete_loopback): Cosmetic changes.
49363 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49364 correctly.
49365 (grub_loopback_open): Likewise.
49366 (grub_loopback_read): Likewise. Also, change the type of POS to
49367 grub_off_t, and fix the usage of grub_memset.
49368
49369 * commands/i386/pc/play.c: Include grub/machine/time.h.
49370
49371 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49372 print FILE->SIZE.
49373
49374 * commands/configfile.c: Include grub/env.h.
49375
49376 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49377 GRUB_ERRNO directly instead. Change the type of POS to
49378 grub_off_t. Follow the coding standard.
49379
49380 * commands/blocklist.c: Include grub/partition.h.
49381 (grub_cmd_blocklist): Return an error if the underlying device is
49382 not a disk. Take the starting sector of a partition into account,
49383 if a partition is used.
49384
49385 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49386 a length field.
49387 (lba_mode): Support 64-bit addresses.
49388 (chs_mode): Likewise.
49389 (copy_buffer): Adapted to the new offsets of a length field and a
49390 segment field.
49391 (blocklist_default_start): Allocate 64-bit space.
49392
49393 * boot/i386/pc/boot.S (force_lba): Removed.
49394 (boot_drive): Moved to under KERNEL_SECTOR.
49395 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
49396 space.
49397 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49398 is useless.
49399 (lba_mode): Refactored to support a 64-bit address. More size
49400 optimization.
49401 (setup_sectors): Likewise.
49402
49403 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49404
49405 * DISTLIST: Added include/grub/i386/linux.h. Removed
49406 include/grub/i386/pc/linux.h
49407
49408 * configure.ac (AC_INIT): Bumped to 1.94.
49409
49410 * config.guess: Updated from gnulib.
49411 * config.sub: Likewise.
49412 * install-sh: Likewise.
49413 * mkinstalldirs: Likewise.
49414
49415 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49416
49417 * conf/common.rmk (grub_modules_init.lst): Depended on
49418 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49419 MODSRCFILES.
49420
49421 * genmk.rb (PModule::rule): Reverted the previous change.
49422
49423 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49424
49425 * conf/common.rmk (grub_modules_init.lst): Depends on
49426 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49427 that the target does not exist before producing.
49428 (grub_modules_init.h): Remove the target before generating.
49429 (grub_emu_init.c): Likewise.
49430
49431 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49432
49433 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49434
49435 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49436 for the target-specific tests. Make sure that we also have the
49437 up-to-date target variables for those tests.
49438
49439 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49440
49441 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49442 (PModule::rule): Likewise.
49443
49444 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49445
49446 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49447 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49448 target-specific flags should be prefixed.
49449 (PModule::rule): Likewise.
49450
49451 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49452
49453 * configure.ac (CMP): Check if cmp is available explicitly.
49454
49455 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49456
49457 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49458 (target_cpu): New variable.
49459 (pkglibdir): Use target_cpu instead of host_cpu.
49460
49461 * util/i386/pc/grub-install.in (host_cpu): Removed.
49462 (target_cpu): New variable.
49463 (pkglibdir): Use target_cpu instead of host_cpu.
49464
49465 * util/genmoddep.c: Removed.
49466
49467 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49468 instead of GRUB_HOST_SIZEOF_VOID_P.
49469 * kern/dl.c: Likewise.
49470
49471 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49472 ...
49473 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49474 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49475 (GRUB_TARGET_SIZEOF_LONG): ... this.
49476 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49477 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49478 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49479 to ...
49480 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49481 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49482 (GRUB_TARGET_SIZEOF_LONG): ... this.
49483 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49484 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49485 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49486 to ...
49487 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49488 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49489 (GRUB_TARGET_SIZEOF_LONG): ... this.
49490 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49491 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49492
49493 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49494 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49495 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49496 instead of GRUB_HOST_SIZEOF_LONG.
49497 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49498 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49499 GRUB_CPU_WORDS_BIGENDIAN.
49500 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49501 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49502 grub_host_ssize_t.
49503
49504 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49505 (genmoddep_SOURCES): Likewise.
49506 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49507 (genmoddep_SOURCES): Likewise.
49508 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49509 (genmoddep_SOURCES): Likewise.
49510 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49511 Likewise.
49512 (genmoddep_SOURCES): Likewise.
49513
49514 * genmoddep.awk: New file.
49515
49516 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49517 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49518 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49519 (PModule::rule): Likewise.
49520 (Program::rule): Likewise.
49521 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49522 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49523 respectively.
49524
49525 * configure.ac: Rewritten intensively to use host and target
49526 instead of build and host, respectively.
49527
49528 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49529 (host_cpu): Removed.
49530 (target_cpu): New variable.
49531 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49532 (BUILD_CC): Removed.
49533 (BUILD_CFLAGS): Likewise.
49534 (BUILD_CPPFLAGS): Likewise.
49535 (TARGET_CC): New variable.
49536 (TARGET_CFLAGS): Likewise.
49537 (TARGET_CPPFLAGS): Likewise.
49538 (TARGET_LDFLAGS): Likewise.
49539 (AWK): Likewise.
49540 (include): Use target_cpu instead of host_cpu.
49541 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
49542
49543 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49544
49545 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49546
49547 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49548 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49549 field 'false' to 'exec_on_false'.
49550 (grub_script_create_cmdif): Renamed argument names to reflect above
49551 changes.
49552
49553 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49554
49555 * normal/script.c (grub_script_create_cmdif): Likewise.
49556
49557 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49558
49559 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49560 top.
49561 (grub_hfsplus_btree_recptr): Likewise.
49562 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49563 FILEBLOCK both to pass a block number and store next block
49564 number.
49565 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49566 overflow file correctly. Specify errors appropriately, because
49567 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49568 grub_hfsplus_btree_recptr to get the pointer to a found key.
49569 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49570 is found.
49571
49572 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49573 linux.mod.
49574 (_linux_mod_SOURCES): New variable.
49575 (_linux_mod_CFLAGS): Likewise.
49576 (_linux_mod_LDFLAGS): Likewise.
49577 (linux_mod_SOURCES): Likewise.
49578 (linux_mod_CFLAGS): Likewise.
49579 (linux_mod_LDFLAGS): Likewise.
49580
49581 * DISTLIST: Added loader/i386/efi/linux.c,
49582 loader/i386/efi/linux_normal.c and
49583 include/grub/i386/efi/loader.h.
49584
49585 * loader/i386/efi/linux.c: New file.
49586 * loader/i386/efi/linux_normal.c: Likewise.
49587 * include/grub/i386/efi/loader.h: Likewise.
49588
49589 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49590
49591 * commands/blocklist.c: New file.
49592
49593 * DISTLIST: Added commands/blocklist.c.
49594
49595 * term/efi/console.c (grub_console_highlight_color): Use a lighter
49596 color for the background, and a darker color for the foreground.
49597 (grub_console_checkkey): Return READ_KEY.
49598 (grub_console_cls): Set the background to
49599 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49600
49601 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49602
49603 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49604 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49605
49606 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49607 prototype.
49608
49609 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49610 BG. The spec is wrong again.
49611
49612 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49613 prototype.
49614 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49615
49616 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49617 commands/blocklist.c.
49618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49619
49620 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49621 (blocklist_mod_SOURCES): New variable.
49622 (blocklist_mod_CFLAGS): Likewise.
49623 (blocklist_mod_LDFLAGS): Likewise.
49624
49625 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49626
49627 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49628 duplication.
49629 (lba_mode): Use %eax more intensively to reduce the code size.
49630
49631 2006-05-20 Marco Gerards <marco@gnu.org>
49632
49633 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49634
49635 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49636 for `menuentry'.
49637 (script): Accept leading newlines.
49638 (newlines): New rule to describe 0 or more newlines.
49639 (commands): Accept `command' with trailing newline. Fixed the
49640 order in which arguments were passed to `grub_script_add_cmd'.
49641 Accept commands separated by newlines.
49642 (function): Changed to accept newlines.
49643 (menuentry) Rewritten.
49644
49645 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49646 front of the list, instead of to the end.
49647
49648 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49649
49650 * util/i386/pc/grub-install.in (bindir): New variable.
49651 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49652 Shaver <lbgwjl@gmail.com>.
49653
49654 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49655
49656 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49657 grub/machine/linux.h
49658 * loader/i386/pc/linux.c: Likewise.
49659
49660 * include/grub/i386/pc/linux.h: Moved to ...
49661 * include/grub/i386/linux.h: ... here.
49662
49663 * include/grub/i386/linux.h (struct linux_kernel_params): New
49664 struct.
49665
49666 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49667
49668 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49669 checking.
49670 (grub_video_vbe_blit_glyph): Likewise.
49671 (grub_video_vbe_blit_bitmap): Likewise.
49672 (grub_video_vbe_blit_render_target): Likewise.
49673
49674 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49675
49676 * configure.ac (--with-platform): Properly quote the square
49677 brackets.
49678
49679 2006-05-08 Marco Gerards <marco@gnu.org>
49680
49681 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49682 this...
49683 (kernel_elf_HEADERS): ...to this. Updated all users.
49684 (grubof_symlist.c): Renamed from this...
49685 (kernel_elf_symlist.c): ...to this. Updated all users.
49686 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49687 (grubof_SOURCES): Renamed from this...
49688 (kernel_elf_SOURCES): ...to this.
49689 (grubof_HEADERS): Renamed from this...
49690 (kernel_elf_HEADERS): ...to this.
49691 (grubof_CFLAGS): Renamed from this...
49692 (kernel_elf_CFLAGS): ...to this.
49693 (grubof_ASFLAGS): Renamed from this...
49694 (kernel_elf_ASFLAGS): ...to this.
49695 (grubof_LDFLAGS): Renamed from this...
49696 (kernel_elf_LDFLAGS): ...to this.
49697
49698 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49699 this...
49700 (kernel_elf_HEADERS): ...to this. Updated all users.
49701 (grubof_symlist.c): Renamed from this...
49702 (kernel_elf_symlist.c): ...to this. Updated all users.
49703 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49704 (grubof_SOURCES): Renamed from this...
49705 (kernel_elf_SOURCES): ...to this.
49706 (grubof_HEADERS): Renamed from this...
49707 (kernel_elf_HEADERS): ...to this.
49708 (grubof_CFLAGS): Renamed from this...
49709 (kernel_elf_CFLAGS): ...to this.
49710 (grubof_ASFLAGS): Renamed from this...
49711 (kernel_elf_ASFLAGS): ...to this.
49712 (grubof_LDFLAGS): Renamed from this...
49713 (kernel_elf_LDFLAGS): ...to this.
49714
49715 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49716 `kernel.elf' instead of `grubof'.
49717
49718 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49719
49720 Add --with-platform to configure. Use pkglibdir instead of
49721 pkgdatadir. This is reported by Roger Leigh.
49722
49723 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49724 (host_vendor): Likewise.
49725 (host_os): Likewise.
49726 (pkgdatadir): Likewise.
49727 (platform): New variable.
49728 (pkglibdir): Likewise.
49729 Use PKGLIBDIR instead of PKGDATADIR.
49730
49731 * util/i386/pc/grub-install.in (datadir): Removed.
49732 (host_vendor): Likewise.
49733 (host_os): Likewise.
49734 (pkgdatadir): Likewise.
49735 (platform): New variable.
49736 (pkglibdir): Likewise.
49737 Use PKGLIBDIR instead of PKGDATADIR.
49738
49739 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49740 instead of GRUB_DATADIR.
49741 (main): Likewise.
49742 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49743 (main): Likewise.
49744 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49745 (main): Likewise.
49746
49747 * configure.ac (--with-platform): New option.
49748 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49749
49750 * Makefile.in: Include a makefile based on PLATFORM instead of
49751 HOST_VENDOR.
49752 (pkgdatadir): Not appended by the machine type.
49753 (pkglibdir): Appended by the machine type.
49754 (host_vendor): Removed.
49755 (platform): New variable.
49756 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49757 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49758 (uninstall): Likewise.
49759
49760 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49761
49762 Use the environment context in the menu. Remove the commands
49763 "default" and "timeout", and use variables instead.
49764
49765 * normal/menu.c: Include grub/env.h.
49766 (print_entry): Cast TITLE to silence gcc.
49767 (get_timeout): New function.
49768 (set_timeout): Likewise.
49769 (get_entry_number): Likewise.
49770 (run_menu): Use a default entry, a fallback entry and a timeout
49771 in the environment variables "default", "fallback" and
49772 "timeout". Also, tweak the default entry if it is not within the
49773 current menu entries.
49774 (grub_menu_run): Use a fallback entry in the environment variable
49775 "fallback".
49776
49777 * normal/main.c (read_config_file): Do not initialize
49778 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49779 NEWMENU->TIMEOUT.
49780 (grub_normal_execute): Use a data slot to store the menu.
49781
49782 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49783 fallback_entry and timeout.
49784 (struct grub_menu_list): Removed.
49785 (grub_menu_list_t): Likewise.
49786 (struct grub_context): Likewise.
49787 (grub_context_t): Likewise.
49788 (grub_context_get): Likewise.
49789 (grub_context_get_current_menu): Likewise.
49790 (grub_context_push_menu): Likewise.
49791 (grub_context_pop_menu): Likewise.
49792 (grub_default_init): Likewise.
49793 (grub_default_fini): Likewise.
49794 (grub_timeout_init): Likewise.
49795 (grub_timeout_fini): Likewise.
49796
49797 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49798 and timeout.mod.
49799 (normal_mod_SOURCES): Removed normal/context.c.
49800
49801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49802 commands/default.c, commands/timeout.c and normal/context.c.
49803 (normal_mod_SOURCES): Removed normal/context.c.
49804
49805 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49806 commands/timeout.c and normal/context.c.
49807 (normal_mod_SOURCES): Removed normal/context.c.
49808
49809 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49810 commands/default.c, commands/timeout.c and normal/context.c.
49811 (normal_mod_SOURCES): Removed normal/context.c.
49812
49813 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49814 timeout.mod.
49815 (default_mod_SOURCES): Removed.
49816 (default_mod_CFLAGS): Likewise.
49817 (default_mod_LDFLAGS): Likewise.
49818 (timeout_mod_SOURCES): Removed.
49819 (timeout_mod_CFLAGS): Likewise.
49820 (timeout_mod_LDFLAGS): Likewise.
49821
49822 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49823 normal/context.c.
49824
49825 * commands/default.c: Removed.
49826 * commands/timeout.c: Likewise.
49827 * normal/context.c: Likewise.
49828
49829 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49830
49831 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49832
49833 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49834
49835 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49836 "next" to "prev" for readability.
49837 (struct grub_env_sorted_var): New struct.
49838 (grub_env_context): Renamed to ...
49839 (initial_context): ... this.
49840 (grub_env_var_context): Renamed to ...
49841 (current_context): ... this.
49842 (grub_env_find): Look only at CURRENT_CONTEXT.
49843 (grub_env_context_open): Rewritten to copy exported variables from
49844 previous context.
49845 (grub_env_context_close): Rewritten according to the new
49846 scheme. Also, add an assertion to prevent the initial context from
49847 removed.
49848 (grub_env_insert): Removed the code for the sorted list.
49849 (grub_env_remove): Likewise.
49850 (grub_env_export): Simply mark the variable with
49851 GRUB_ENV_VAR_GLOBAL.
49852 (grub_env_set): A cosmetic change for naming consistency.
49853 (grub_env_get): Likewise.
49854 (grub_env_unset): Likewise.
49855 (grub_env_iterate): Rewritten to sort variables within this
49856 function.
49857 (grub_register_variable_hook): Fixed for naming consistency. Call
49858 grub_env_find again, only if NAME is not found at the first time.
49859 (mangle_data_slot_name): New function.
49860 (grub_env_set_data_slot): Likewise.
49861 (grub_env_get_data_slot): Likewise.
49862 (grub_env_unset_data_slot): Likewise.
49863
49864 * include/grub/env.h (grub_env_var_type): New enum.
49865 (GRUB_ENV_VAR_LOCAL): New constant.
49866 (GRUB_ENV_VAR_GLOBAL): Likewise.
49867 (GRUB_ENV_VAR_DATA): Likewise.
49868 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49869 "type".
49870 (grub_env_set): Replace VAR with NAME for consistency.
49871 (grub_register_variable_hook): Likewise.
49872 (grub_env_export): Specify the name of the argument.
49873 (grub_env_set_data_slot): New prototype.
49874 (grub_env_get_data_slot): Likewise.
49875 (grub_env_unset_data_slot): Likewise.
49876
49877 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49878
49879 Extend the loader so that GRUB can accept a loader which comes
49880 back to GRUB when a loaded image exits. Also, this change adds
49881 support for a chainloader on EFI.
49882
49883 * term/efi/console.c: Include grub/misc.h.
49884 (grub_console_checkkey): Display a scan code on the top for
49885 debugging. This will be removed once the EFI port gets stable.
49886 Correct the scan code mapping.
49887
49888 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49889 allocate memory from larger regions, in order to reduce the number
49890 of allocated regions. Otherwise, the MacOSX loader panics.
49891 (filter_memory_map): Avoid less than 1MB for compatibility with
49892 other loaders.
49893 (add_memory_regions): Allocate from the tail of a region, if
49894 possible, to avoid allocating a region near to 1MB, for the MacOSX
49895 loader.
49896
49897 * kern/efi/init.c (grub_efi_set_prefix): Specify
49898 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49899
49900 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49901 argument IMAGE_HANDLE and specify it to get a loaded image.
49902 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49903 grub_efi_get_loaded_image.
49904 (grub_efi_get_filename): Divide the length by the size of
49905 grub_efi_char16_t.
49906 (grub_efi_get_device_path): New function.
49907 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49908 the length by the size of grub_efi_char16_t for a file path device
49909 path node.
49910
49911 * kern/loader.c (grub_loader_noreturn): New variable.
49912 (grub_loader_set): Accept a new argument NORETURN. Set
49913 GRUB_LOADER_NORETURN to NORETURN.
49914 All callers changed.
49915 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49916 grub_machine_fini.
49917
49918 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49919 prototype.
49920 (grub_efi_get_loaded_image): Take an argument to specify an image
49921 handle.
49922
49923 * include/grub/loader.h (grub_loader_set): Added one more argument
49924 NORETURN.
49925
49926 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49927 instead of grub_efi_open_protocol.
49928 (grub_efidisk_get_device_name): Likewise.
49929 (grub_efidisk_close): Print a newline.
49930 (grub_efidisk_get_device_handle): Fixed to use
49931 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49932 GRUB_EFI_DEVICE_PATH_TYPE.
49933
49934 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49935 * kern/efi/efi.c (device_path_guid): ... here.
49936
49937 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49938 chain.mod.
49939 (kernel_mod_HEADERS): Added efi/disk.h.
49940 (_chain_mod_SOURCES): New variable.
49941 (_chain_mod_CFLAGS): Likewise.
49942 (_chain_mod_LDFLAGS): Likewise.
49943 (chain_mod_SOURCES): Likewise.
49944 (chain_mod_CFLAGS): Likewise.
49945 (chain_mod_LDFLAGS): Likewise.
49946
49947 * DISTLIST: Added include/grub/efi/chainloader.h,
49948 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49949
49950 * include/grub/efi/chainloader.h: New file.
49951 * loader/efi/chainloader.c: Likewise.
49952 * loader/efi/chainloader_normal.c: Likewise.
49953
49954 2006-04-30 Marco Gerards <marco@gnu.org>
49955
49956 * commands/configfile.c (grub_cmd_source): New function.
49957 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49958 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49959
49960 2006-04-30 Marco Gerards <marco@gnu.org>
49961
49962 * normal/execute.c (grub_script_execute_cmd): Change the return
49963 type to `grub_err_t'. Correctly return the error.
49964 (grub_script_execute_cmdline): In case a command line is not a
49965 command or a function, try to interpret it as an assignment.
49966
49967 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49968
49969 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49970 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49971 skip a node whose name is obviously invalid as UTF-16,
49972 i.e. contains a NUL character. Stop the iteration when the last
49973 directory entry is found. Instead of using the return value of
49974 grub_hfsplus_btree_iterate_node, store the value in RET and use
49975 it, because the iterator can be stopped by the last directory
49976 entry.
49977
49978 2006-04-30 Marco Gerards <marco@gnu.org>
49979
49980 * include/grub/env.h (grub_env_export): New prototype. Reported
49981 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49982
49983 2006-04-30 Marco Gerards <marco@gnu.org>
49984
49985 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49986 size of the extents in a catalog file record.
49987
49988 2006-04-29 Marco Gerards <marco@gnu.org>
49989
49990 * commands/configfile.c (grub_cmd_configfile): Execute the
49991 configfile within its own context.
49992
49993 * include/grub/env.h (grub_env_context_open): New prototype.
49994 (grub_env_context_close): Likewise.
49995
49996 * kern/env.c (grub_env): Removed.
49997 (grub_env_sorted): Likewise.
49998 (grub_env_context): New variable.
49999 (grub_env_var_context): Likewise.
50000 (grub_env_find): Search both the active context and the global
50001 context.
50002 (grub_env_context_open): New function.
50003 (grub_env_context_close): Likewise.
50004 (grub_env_insert): Likewise.
50005 (grub_env_remove): Likewise.
50006 (grub_env_export): Likewise.
50007 (grub_env_set): Changed to use helper functions to avoid code
50008 duplication.
50009 (grub_env_iterate): Rewritten so both the current context and the
50010 global context are being used.
50011
50012 * normal/command.c (export_command): New function.
50013 (grub_command_init): Register the `export' function.
50014
50015 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
50016
50017 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
50018 explicitly to suppress gcc's warnings.
50019 * fs/fat.c (grub_fat_find_dir): Likewise.
50020 (grub_fat_label): Likewise.
50021 * fs/xfs.c (grub_xfs_read_inode): Likewise.
50022 (grub_xfs_mount): Likewise.
50023 (grub_xfs_label): Likewise.
50024 * fs/affs.c (grub_affs_mount): Likewise.
50025 (grub_affs_label): Likewise.
50026 (grub_affs_iterate_dir): Likewise.
50027 * fs/sfs.c (grub_sfs_mount): Likewise.
50028 (grub_sfs_iterate_dir): Likewise.
50029 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
50030 * fs/hfs.c (grub_hfs_mount): Likewise.
50031 (grub_hfs_cmp_catkeys): Likewise.
50032 (grub_hfs_find_dir): Likewise.
50033 (grub_hfs_dir): Likewise.
50034 (grub_hfs_label): Likewise.
50035 * fs/jfs.c (grub_jfs_mount): Likewise.
50036 (grub_jfs_opendir): Likewise.
50037 (grub_jfs_getent): Likewise.
50038 (grub_jfs_lookup_symlink): Likewise.
50039 (grub_jfs_label): Likewise.
50040 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
50041 (grub_hfsplus_iterate_dir): Likewise.
50042 (grub_hfsplus_btree_iterate_node): Made static.
50043
50044 * util/grub-emu.c (prefix): New variable.
50045 (grub_machine_set_prefix): New function.
50046 (main): Do not set the environment variable "prefix" here. Only
50047 set PREFIX, which is used later by grub_machine_set_prefix.
50048
50049 * include/grub/video.h: Do not include grub/symbol.h.
50050 (grub_video_register): Not exported. This symbol is not defined in
50051 the kernel.
50052 (grub_video_unregister): Likewise.
50053 (grub_video_iterate): Likewise.
50054 (grub_video_setup): Likewise.
50055 (grub_video_restore): Likewise.
50056 (grub_video_get_info): Likewise.
50057 (grub_video_get_blit_format): Likewise.
50058 (grub_video_set_palette): Likewise.
50059 (grub_video_get_palette): Likewise.
50060 (grub_video_set_viewport): Likewise.
50061 (grub_video_get_viewport): Likewise.
50062 (grub_video_map_color): Likewise.
50063 (grub_video_map_rgb): Likewise.
50064 (grub_video_map_rgba): Likewise.
50065 (grub_video_fill_rect): Likewise.
50066 (grub_video_blit_glyph): Likewise.
50067 (grub_video_blit_bitmap): Likewise.
50068 (grub_video_blit_render_target): Likewise.
50069 (grub_video_scroll): Likewise.
50070 (grub_video_swap_buffers): Likewise.
50071 (grub_video_create_render_target): Likewise.
50072 (grub_video_delete_render_target): Likewise.
50073 (grub_video_set_active_render_target): Likewise.
50074
50075 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
50076 Undefined.
50077 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
50078
50079 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
50080 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50081 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50082 instead of $(srcdir)/genkernsyms.sh.
50083
50084 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
50085 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50086 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50087 instead of $(srcdir)/genkernsyms.sh.
50088
50089 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
50090 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50091 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50092 instead of $(srcdir)/genkernsyms.sh.
50093
50094 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
50095 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50096 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50097 instead of $(srcdir)/genkernsyms.sh.
50098
50099 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
50100 genkernsyms.sh.
50101
50102 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
50103 genkernsyms.sh.
50104 (gensymlist.sh): New target.
50105 (genkernsyms.sh): Likewise.
50106
50107 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
50108 genkernsyms.sh.in and gensymlist.sh.in.
50109
50110 * genkernsyms.sh: Removed.
50111 * gensymlist.sh: Likewise.
50112
50113 * genkernsyms.sh.in: New file.
50114 * gensymlist.sh.in: Likewise.
50115
50116 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50117
50118 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
50119 clobber "prefix", since we may have already set it manually.
50120
50121 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50122
50123 * kern/misc.c (abort): New alias for grub_abort.
50124
50125 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
50126
50127 A new machine-specific function "grub_machine_set_prefix" is
50128 defined. This is called after loading modules, so that a prefix
50129 initialization can use modules. Also, this change adds an
50130 intensive debugging feature for the memory manager via the
50131 configure option "--enable-mm-debug".
50132
50133 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
50134 PART.LEN.
50135
50136 * kern/sparc64/ieee1275/init.c (abort): Removed.
50137 (grub_stop): Likewise.
50138 (grub_exit): New function.
50139 (grub_set_prefix): Renamed to ...
50140 (grub_machine_set_prefix): ... this.
50141 (grub_machine_init): Do not call grub_set_prefix.
50142
50143 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50144 (grub_machine_set_prefix): ... this.
50145 (grub_machine_init): Do not call grub_set_prefix.
50146
50147 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50148 (grub_machine_init): Do not set the prefix here.
50149
50150 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50151
50152 * kern/efi/init.c: Include grub/mm.h.
50153 (grub_efi_set_prefix): New function.
50154
50155 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50156 (grub_efi_get_filename): New function.
50157 (grub_print_device_path): Renamed to ...
50158 (grub_efi_print_device_path): ... this.
50159
50160 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50161 [MM_DEBUG] (grub_realloc): Likewise.
50162 [MM_DEBUG] (grub_free): Likewise.
50163 [MM_DEBUG] (grub_memalign): Likewise.
50164 [MM_DEBUG] (grub_mm_debug): New variable.
50165 [MM_DEBUG] (grub_debug_malloc): New function.
50166 [MM_DEBUG] (grub_debug_free): New function.
50167 [MM_DEBUG] (grub_debug_realloc): New function.
50168 [MM_DEBUG] (grub_debug_memalign): New function.
50169
50170 * kern/misc.c (grub_abort): Print a newline to distinguish
50171 the message.
50172
50173 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50174 grub_set_root_dev after loading modules. This is necessary when
50175 setting a prefix depends on modules.
50176
50177 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50178 (grub_efi_print_device_path): ... this.
50179 (grub_efi_get_filename): New prototype.
50180 (grub_efi_set_prefix): Likewise.
50181
50182 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50183 and grub/disk.h.
50184 (grub_efidisk_get_device_handle): New prototype.
50185 (grub_efidisk_get_device_name): Likewise.
50186
50187 * include/grub/mm.h: Include config.h.
50188 (MM_DEBUG): Removed.
50189 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50190 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50191 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50192 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50193 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50194 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50195 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50196 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50197 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50198
50199 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50200
50201 * disk/efi/efidisk.c: Include grub/partition.h.
50202 (iterate_child_devices): New function.
50203 (add_device): First, compare only last device path nodes, so that
50204 devices are sorted by the types.
50205 (grub_efidisk_get_device_handle): New function.
50206 (grub_efidisk_get_device_name): Likewise.
50207
50208 * configure.ac (--enable-mm-debug): New option to enable the
50209 memory manager debugging feature. This makes the binary much
50210 bigger, so is disabled by default.
50211
50212 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50213
50214 Use grub_abort instead of grub_stop, and grub_exit must be
50215 define in each architecture now. Also, this change adds support
50216 for EFI disks.
50217
50218 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50219 (grub_getkey): New function.
50220 (grub_term_get_current): Likewise.
50221
50222 * util/i386/pc/grub-setup.c: Include grub/term.h.
50223 (grub_getkey): New function.
50224 (grub_term_get_current): Likewise.
50225
50226 * util/misc.c (grub_stop): Renamed to ...
50227 (grub_exit): ... this.
50228
50229 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50230 (grub_exit): ... this.
50231 (grub_machine_init): Use grub_abort instead of abort.
50232 (grub_stop): Removed.
50233
50234 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50235 abort.
50236
50237 * kern/i386/pc/startup.S (grub_exit): New function.
50238 (cold_reboot): New label.
50239
50240 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50241 (grub_efi_init): Call grub_efidisk_init.
50242 (grub_efi_fini): Call grub_efidisk_fini.
50243
50244 * kern/efi/efi.c: Include grub/mm.h.
50245 (grub_efi_console_control_guid): Renamed to ...
50246 (console_control_guid): ... this.
50247 (grub_efi_loaded_image_guid): Renamed to ...
50248 (loaded_image_guid): ... this.
50249 (grub_efi_locate_handle): New function.
50250 (grub_efi_open_protocol): Likewise.
50251 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50252 GRUB_EFI_CONSOLE_CONTROL_GUID.
50253 (grub_efi_exit): Removed.
50254 (grub_stop): Likewise.
50255 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50256 (grub_exit): New function.
50257 (grub_print_device_path): Likewise.
50258
50259 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50260 (grub_enter_rescue_mode): Register "exit".
50261
50262 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50263 (grub_abort): New function.
50264
50265 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50266
50267 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50268
50269 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50270
50271 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50272 (grub_print_device_path): New prototype.
50273 (grub_efi_locate_handle): Likewise.
50274 (grub_efi_open_protocol): Likewise.
50275
50276 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50277 * disk/efi/efidisk.c: Likewise.
50278
50279 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50280
50281 * include/grub/efi/console_control.h
50282 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50283
50284 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50285 last 8 bytes as an array.
50286 (GRUB_EFI_DISK_IO_GUID): New macro.
50287 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50288 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50289 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50290 grub_uint8_t.
50291 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50292 (struct grub_efi_device_path): Rename the member "sub_type" to
50293 "subtype".
50294 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50295 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50296 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50297 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50298 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50299 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50300 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50301 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50302 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50303 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50304 (struct grub_efi_pci_device_path): New structure.
50305 (grub_efi_pci_device_path_t): New type.
50306 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50307 (struct grub_efi_pccard_device_path): New structure.
50308 (grub_efi_pccard_device_path_t): New type.
50309 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50310 (struct grub_efi_memory_mapped_device_path): New structure.
50311 (grub_efi_memory_mapped_device_path_t): New type.
50312 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50313 (struct grub_efi_vendor_device_path): New structure.
50314 (grub_efi_vendor_device_path_t): New type.
50315 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50316 (struct grub_efi_controller_device_path): New structure.
50317 (grub_efi_controller_device_path_t): New type.
50318 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50319 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50320 (struct grub_efi_acpi_device_path): New structure.
50321 (grub_efi_acpi_device_path_t): New type.
50322 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50323 (struct grub_efi_expanded_acpi_device_path): New structure.
50324 (grub_efi_expanded_acpi_device_path_t): New type.
50325 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50326 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50327 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50328 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50329 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50330 (struct grub_efi_atapi_device_path): New structure.
50331 (grub_efi_atapi_device_path_t): New type.
50332 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50333 (struct grub_efi_fibre_channel_device_path): New structure.
50334 (grub_efi_fibre_channel_device_path_t): New type.
50335 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50336 (struct grub_efi_1394_device_path): New structure.
50337 (grub_efi_1394_device_path_t): New type.
50338 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50339 (struct grub_efi_usb_device_path): New structure.
50340 (grub_efi_usb_device_path_t): New type.
50341 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50342 (struct grub_efi_usb_class_device_path): New structure.
50343 (grub_efi_usb_class_device_path_t): New type.
50344 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50345 (struct grub_efi_i2o_device_path): New structure.
50346 (grub_efi_i2o_device_path_t): New type.
50347 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50348 (struct grub_efi_mac_address_device_path): New structure.
50349 (grub_efi_mac_address_device_path_t): New type.
50350 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50351 (struct grub_efi_ipv4_device_path): New structure.
50352 (grub_efi_ipv4_device_path_t): New type.
50353 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50354 (struct grub_efi_ipv6_device_path): New structure.
50355 (grub_efi_ipv6_device_path_t): New type.
50356 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50357 (struct grub_efi_infiniband_device_path): New structure.
50358 (grub_efi_infiniband_device_path_t): New type.
50359 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50360 (struct grub_efi_uart_device_path): New structure.
50361 (grub_efi_uart_device_path_t): New type.
50362 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50363 (struct grub_efi_vendor_messaging_device_path): New structure.
50364 (grub_efi_vendor_messaging_device_path_t): New type.
50365 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50366 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50367 (struct grub_efi_hard_drive_device_path): New structure.
50368 (grub_efi_hard_drive_device_path_t): New type.
50369 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50370 (struct grub_efi_cdrom_device_path): New structure.
50371 (grub_efi_cdrom_device_path_t): New type.
50372 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50373 (struct grub_efi_vendor_media_device_path): New structure.
50374 (grub_efi_vendor_media_device_path_t): New type.
50375 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50376 (struct grub_efi_file_path_device_path): New structure.
50377 (grub_efi_file_path_device_path_t): New type.
50378 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50379 (struct grub_efi_protocol_device_path): New structure.
50380 (grub_efi_protocol_device_path_t): New type.
50381 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50382 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50383 (struct grub_efi_bios_device_path): New structure.
50384 (grub_efi_bios_device_path_t): New type.
50385 (struct grub_efi_disk_io): New structure.
50386 (grub_efi_disk_io_t): New type.
50387 (struct grub_efi_block_io_media): New structure.
50388 (grub_efi_block_io_media_t): New type.
50389 (struct grub_efi_block_io): New structure.
50390 (grub_efi_block_io_t): New type.
50391
50392 * include/grub/misc.h (grub_stop): Removed.
50393 (grub_exit): New prototype.
50394 (grub_abort): Likewise.
50395
50396 * include/grub/disk.h (enum grub_disk_dev_id): Added
50397 GRUB_DISK_DEVICE_EFIDISK_ID.
50398
50399 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50400 disk/efi/efidisk.c.
50401 (kernel_syms.lst): Remove the target if an error occurs.
50402
50403 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50404
50405 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50406 as it was simply too buggy.
50407
50408 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50409
50410 * kern/misc.c (grub_lltoa): New function.
50411 (grub_vsprintf): Added support for the long long suffix,
50412 i.e. "ll".
50413
50414 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50415
50416 * Makefile.in (LDFLAGS): Add variable.
50417 (LD): Remove variable.
50418 * configure.ac: Add -m32 to LDFLAGS.
50419 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50420 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50421 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50422 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50423 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50424 variables.
50425 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50426 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50427 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50428
50429 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50430
50431 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50432 length for unknown glyph.
50433
50434 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50435
50436 Add support for pre-loaded modules into the EFI port.
50437
50438 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50439 completely. Accept one more argument DIR. The caller has changed.
50440
50441 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50442
50443 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50444 (grub_efi_loaded_image_guid): New variable.
50445 (grub_efi_get_loaded_image): New function.
50446 (grub_arch_modules_addr): Likewise.
50447
50448 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50449 prototype.
50450
50451 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50452 (struct grub_efi_loaded_image): New structure.
50453 (grub_efi_loaded_image_t): New type.
50454
50455 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50456
50457 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50458 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50459 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50460
50461 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50462
50463 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50464
50465 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50466
50467 * DISTLIST: Added include/grub/efi/console.h,
50468 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50469 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50470
50471 * include/grub/efi/console.h: New file.
50472 * include/grub/efi/time.h: Likewise.
50473 * include/grub/i386/efi/kernel.h: Likewise.
50474 * kern/efi/init.c: Likewise.
50475 * kern/efi/mm.c: Likewise.
50476 * term/efi/console.c: Likewise.
50477
50478 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50479 (grub_stop): Removed.
50480 (grub_get_rtc): Likewise.
50481 (grub_machine_init): Simply call grub_efi_init.
50482 (grub_machine_fini): Call grub_efi_fini.
50483
50484 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50485 (grub_efi_output_string): Removed.
50486 (grub_efi_stall): New function.
50487 (grub_stop): Likewise.
50488 (grub_get_rtc): Likewise.
50489
50490 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50491 (grub_efi_stall): New prototype.
50492 (grub_efi_allocate_pages): Likewise.
50493 (grub_efi_free_pages): Likewise.
50494 (grub_efi_get_memory_map): Likewise.
50495 (grub_efi_mm_init): Likewise.
50496 (grub_efi_mm_fini): Likewise.
50497 (grub_efi_init): Likewise.
50498 (grub_efi_fini): Likewise.
50499
50500 * include/grub/i386/efi/time.h: Do not include
50501 grub/symbol.h. Include grub/efi/time.h.
50502 (GRUB_TICKS_PER_SECOND): Removed.
50503 (grub_get_rtc): Likewise.
50504
50505 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50506 Added padding. The EFI spec is buggy.
50507 (GRUB_EFI_BLACK): New macro.
50508 (GRUB_EFI_BLUE): Likewise.
50509 (GRUB_EFI_GREEN): Likewise.
50510 (GRUB_EFI_CYAN): Likewise.
50511 (GRUB_EFI_RED): Likewise.
50512 (GRUB_EFI_MAGENTA): Likewise.
50513 (GRUB_EFI_BROWN): Likewise.
50514 (GRUB_EFI_LIGHTGRAY): Likewise.
50515 (GRUB_EFI_BRIGHT): Likewise.
50516 (GRUB_EFI_DARKGRAY): Likewise.
50517 (GRUB_EFI_LIGHTBLUE): Likewise.
50518 (GRUB_EFI_LIGHTGREEN): Likewise.
50519 (GRUB_EFI_LIGHTCYAN): Likewise.
50520 (GRUB_EFI_LIGHTRED): Likewise.
50521 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50522 (GRUB_EFI_YELLOW): Likewise.
50523 (GRUB_EFI_WHITE): Likewise.
50524 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50525 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50526 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50527 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50528 (GRUB_EFI_BACKGROUND_RED): Likewise.
50529 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50530 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50531 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50532 (GRUB_EFI_TEXT_ATTR): Likewise.
50533
50534 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50535 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50536 (kernel_mod_HEADERS): Added efi/time.h.
50537
50538 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50539
50540 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50541 include/grub/efi/api.h, include/grub/efi/console_control.h,
50542 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50543 include/grub/i386/efi/time.h, kern/efi/efi.c,
50544 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50545 and util/i386/efi/grub-mkimage.c.
50546
50547 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50548
50549 * genmk.rb (PModule#rule): Do not export symbols if
50550 #{prefix}_EXPORTS is set to "no".
50551
50552 * conf/i386-efi.mk: New file.
50553 * conf/i386-efi.rmk: Likewise.
50554 * include/grub/efi/api.h: Likewise.
50555 * include/grub/efi/console_control.h: Likewise.
50556 * include/grub/efi/efi.h: Likewise.
50557 * include/grub/efi/pe32.h: Likewise.
50558 * include/grub/i386/efi/time.h: Likewise.
50559 * kern/efi/efi.c: Likewise.
50560 * kern/i386/efi/init.c: Likewise.
50561 * kern/i386/efi/startup.S: Likewise.
50562 * util/i386/efi/grub-mkimage.c: Likewise.
50563
50564 2006-04-17 Marco Gerards <marco@gnu.org>
50565
50566 * include/grub/script.h: Include <grub/parser.h> and
50567 "grub_script.tab.h".
50568 (struct grub_lexer_param): New struct.
50569 (struct grub_parser_param): Likewise.
50570 (grub_script_create_arglist): Pass the state in an argument.
50571 (grub_script_add_arglist): Likewise.
50572 (grub_script_create_cmdline): Likewise.
50573 (grub_script_create_cmdblock): Likewise.
50574 (grub_script_create_cmdif): Likewise.
50575 (grub_script_create_cmdmenu): Likewise.
50576 (grub_script_add_cmd): Likewise.
50577 (grub_script_arg_add): Likewise.
50578 (grub_script_lexer_ref): Likewise.
50579 (grub_script_lexer_deref): Likewise.
50580 (grub_script_lexer_record_start): Likewise.
50581 (grub_script_lexer_record_stop): Likewise.
50582 (grub_script_mem_record): Likewise.
50583 (grub_script_mem_record_stop): Likewise.
50584 (grub_script_malloc): Likewise.
50585 (grub_script_yylex): Likewise.
50586 (grub_script_yyparse): Likewise.
50587 (grub_script_yyerror): Likewise.
50588 (grub_script_yylex): Likewise.
50589 (grub_script_lexer_init): Return the state.
50590
50591 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50592 (grub_script_lexer_done): Likewise.
50593 (grub_script_lexer_getline): Likewise.
50594 (grub_script_lexer_refs): Likewise.
50595 (script): Likewise.
50596 (newscript): Likewise.
50597 (record): Likewise.
50598 (recording): Likewise.
50599 (recordpos): Likewise.
50600 (recordlen): Likewise.
50601 (grub_script_lexer_init): Return the state instead of setting
50602 global variables.
50603 (grub_script_lexer_ref): Use the newly added argument for state
50604 instead of globals.
50605 (grub_script_lexer_deref): Likewise.
50606 (grub_script_lexer_record_start): Likewise.
50607 (grub_script_lexer_record_stop): Likewise.
50608 (recordchar): Likewise.
50609 (nextchar): Likewise.
50610 (grub_script_yylex2): Likewise.
50611 (grub_script_yylex): Likewise.
50612 (grub_script_yyerror): Likewise.
50613
50614 * normal/parser.y (func_mem): Removed variable.
50615 (menu_entry): Likewise.
50616 (err): Likewise.
50617 (%lex-param): New parser option.
50618 (%parse-param): Likewise.
50619 (script): Always return the AST.
50620 (argument): Pass the state around.
50621 (arguments): Likewise.
50622 (grubcmd): Likewise.
50623 (commands): Likewise.
50624 (function): Likewise.
50625 (menuentry): Likewise.
50626 (if_statement): Likewise.
50627 (if): Likewise.
50628
50629 * normal/script.c (grub_script_memused): Removed variable.
50630 (grub_script_parsed): Likewise.
50631 (grub_script_malloc): Added a state argument. Use that instead of
50632 global variables.
50633 (grub_script_mem_record): Likewise.
50634 (grub_script_mem_record_stop): Likewise.
50635 (grub_script_arg_add): Likewise.
50636 (grub_script_add_arglist): Likewise.
50637 (grub_script_create_cmdline): Likewise.
50638 (grub_script_create_cmdif): Likewise.
50639 (grub_script_create_cmdmenu): Likewise.
50640 (grub_script_add_cmd): Likewise.
50641 (grub_script_parse): Setup the state before calling the parser.
50642
50643 2006-04-16 Marco Gerards <marco@gnu.org>
50644
50645 * normal/command.c (grub_command_init): Remove the title command.
50646
50647 * normal/lexer.c (grub_script_yylex): Renamed from this...
50648 (grub_script_yylex2): ... to this.
50649 (grub_script_yylex): New function. Temporary
50650 introduced to filter some tokens.
50651 (grub_script_yyerror): Print a newline.
50652
50653 * normal/main.c (read_config_file): Output information about the
50654 lines that contain errors. Wait for a key after all lines have
50655 been processed. Don't return an empty menu.
50656
50657 * normal/parser.y (func_mem): Don't initialize.
50658 (menu_entry): Likewise.
50659 (err): New variable.
50660 (script): Don't return anything when an error was encountered.
50661 (ws, returns): Removed rules.
50662 (argument): Disabled concatenated variable support.
50663 (arguments): Remove explicit separators.
50664 (grubcmd): Likewise.
50665 (function): Likewise.
50666 (menuentry): Likewise.
50667 (if): Likewise.
50668 (commands): Likewise. Add error handling.
50669
50670 * normal/script.c (grub_script_create_cmdline): If
50671 `grub_script_parsed' is 0, assume the parser encountered an error.
50672
50673 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50674
50675 * configure.ac: Add support for EFI. Fix the typo
50676 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50677
50678 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50679
50680 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50681 foreign multibyte characters should be shown correctly.
50682
50683 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50684
50685 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50686 calculation.
50687 (read_config_file): Made it to close file before returning.
50688
50689 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50690
50691 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50692 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50693 video/i386/pc/vbefill.c.
50694
50695 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50696 video/i386/pc/vbefill.c.
50697
50698 * include/grub/video.h (grub_video_blit_format): New enum.
50699 (grub_video_mode_info): Added new member blit_format.
50700 (grub_video_get_blit_format): New function prototype.
50701
50702 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50703 function prototype.
50704 (grub_video_vbe_map_rgb): Likewise.
50705 (grub_video_vbe_unmap_color): Likewise.
50706
50707 * include/grub/i386/pc/vbeblit.h: New file.
50708
50709 * include/grub/i386/pc/vbefill.h: New file.
50710
50711 * video/video.c (grub_video_get_blit_format): New function.
50712 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50713 (grub_video_vbe_map_rgb): Likewise.
50714 (grub_video_vbe_unmap_color): Likewise.
50715
50716 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50717 optimized fills.
50718 (grub_video_vbe_blit_render_target): Changed to use more optimized
50719 blits.
50720 (grub_video_vbe_setup): Added detection for optimized settings.
50721 (grub_video_vbe_create_render_target): Likewise.
50722
50723 * video/i386/pc/vbeblit.c: New file.
50724
50725 * video/i386/pc/vbefill.c: New file.
50726
50727 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50728
50729 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50730 here...
50731
50732 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50733 parsing to support both hex and dec ranges. If filename was missing
50734 show usage information.
50735
50736 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50737
50738 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50739 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50740
50741 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50742 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50743 (video_mod_SOURCES): Added.
50744 (video_mod_CFLAGS): Likewise.
50745 (video_mod_LDFLAGS): Likewise.
50746 (gfxterm_mod_SOURCES): Likewise.
50747 (gfxterm_mod_CFLAGS): Likewise.
50748 (gfxterm_mod_LDFLAGS): Likewise.
50749 (videotest_mod_SOURCES): Likewise.
50750 (videotest_mod_CFLAGS): Likewise.
50751 (videotest_mod_LDFLAGS): Likewise.
50752 (vesafb_mod_SOURCES): Removed.
50753 (vesafb_mod_CFLAGS): Likewise.
50754 (vesafb_mod_LDFLAGS): Likewise.
50755 (vga_mod_SOURCES): Likewise.
50756 (vga_mod_CFLAGS): Likewise.
50757 (vga_mod_LDFLAGS): Likewise.
50758
50759 * commands/videotest.c: New file.
50760
50761 * font/manager.c (fill_with_default_glyph): Modified to use
50762 grub_font_glyph.
50763 (grub_font_get_glyph): Likewise.
50764 (fontmanager): Renamed from this...
50765 (font_manager): ... to this.
50766
50767 * include/grub/font.h (grub_font_glyph): Added new structure.
50768 (grub_font_get_glyph): Modified to use grub_font_glyph.
50769
50770 * include/grub/misc.h (grub_abs): Added as inline function.
50771
50772 * include/grub/video.h: New file.
50773
50774 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50775 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50776 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50777 (grub_vbe_get_controller_info): Renamed from this...
50778 (grub_vbe_bios_get_controller_info): ... to this.
50779 (grub_vbe_get_mode_info): Renamed from this...
50780 (grub_vbe_bios_get_mode_info): ... to this.
50781 (grub_vbe_set_mode): Renamed from this...
50782 (grub_vbe_bios_set_mode): ... to this.
50783 (grub_vbe_get_mode): Renamed from this...
50784 (grub_vbe_bios_get_mode): ... to this.
50785 (grub_vbe_set_memory_window): Renamed from this...
50786 (grub_vbe_bios_set_memory_window): ... to this.
50787 (grub_vbe_get_memory_window): Renamed from this...
50788 (grub_vbe_bios_get_memory_window): ... to this.
50789 (grub_vbe_set_scanline_length): Renamed from this...
50790 (grub_vbe_set_scanline_length): ... to this.
50791 (grub_vbe_get_scanline_length): Renamed from this...
50792 (grub_vbe_bios_get_scanline_length): ... to this.
50793 (grub_vbe_set_display_start): Renamed from this...
50794 (grub_vbe_bios_set_display_start): ... to this.
50795 (grub_vbe_get_display_start): Renamed from this...
50796 (grub_vbe_bios_get_display_start): ... to this.
50797 (grub_vbe_set_palette_data): Renamed from this...
50798 (grub_vbe_bios_set_palette_data): ... to this.
50799 (grub_vbe_set_pixel_rgb): Removed.
50800 (grub_vbe_set_pixel_index): Likewise.
50801
50802 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50803 from this...
50804 (grub_vbe_bios_get_controller_info): ... to this.
50805 (grub_vbe_get_mode_info): Renamed from this...
50806 (grub_vbe_bios_get_mode_info): ... to this.
50807 (grub_vbe_set_mode): Renamed from this...
50808 (grub_vbe_bios_set_mode): ... to this.
50809 (grub_vbe_get_mode): Renamed from this...
50810 (grub_vbe_bios_get_mode): ... to this.
50811 (grub_vbe_set_memory_window): Renamed from this...
50812 (grub_vbe_bios_set_memory_window): ... to this.
50813 (grub_vbe_get_memory_window): Renamed from this...
50814 (grub_vbe_bios_get_memory_window): ... to this.
50815 (grub_vbe_set_scanline_length): Renamed from this...
50816 (grub_vbe_set_scanline_length): ... to this.
50817 (grub_vbe_get_scanline_length): Renamed from this...
50818 (grub_vbe_bios_get_scanline_length): ... to this.
50819 (grub_vbe_set_display_start): Renamed from this...
50820 (grub_vbe_bios_set_display_start): ... to this.
50821 (grub_vbe_get_display_start): Renamed from this...
50822 (grub_vbe_bios_get_display_start): ... to this.
50823 (grub_vbe_set_palette_data): Renamed from this...
50824 (grub_vbe_bios_set_palette_data): ... to this.
50825 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50826 getting corrupted after calling it. Added more pushes and pops.
50827 (grub_vbe_bios_set_mode): Likewise.
50828 (grub_vbe_bios_get_mode): Likewise.
50829 (grub_vbe_bios_get_memory_window): Likewise.
50830 (grub_vbe_bios_set_scanline_length): Likewise.
50831 (grub_vbe_bios_get_scanline_length): Likewise.
50832 (grub_vbe_bios_get_display_start): Likewise.
50833 (grub_vbe_bios_set_palette_data): Likewise.
50834
50835 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50836 (cl_insert): Likewise.
50837 (cl_delete): Likewise.
50838
50839 * term/gfxterm.c: New file.
50840
50841 * term/i386/pc/vesafb.c: Removed file.
50842
50843 * video/video.c: New file.
50844
50845 * video/i386/pc/vbe.c (real2pm): Added new function.
50846 (grub_video_vbe_draw_pixel): Likewise.
50847 (grub_video_vbe_get_video_ptr): Likewise.
50848 (grub_video_vbe_get_pixel): Likewise
50849 (grub_video_vbe_init): Likewise.
50850 (grub_video_vbe_fini): Likewise.
50851 (grub_video_vbe_setup): Likewise.
50852 (grub_video_vbe_get_info): Likewise.
50853 (grub_video_vbe_set_palette): Likewise.
50854 (grub_video_vbe_get_palette): Likewise.
50855 (grub_video_vbe_set_viewport): Likewise.
50856 (grub_video_vbe_get_viewport): Likewise.
50857 (grub_video_vbe_map_color): Likewise.
50858 (grub_video_vbe_map_rgb): Likewise.
50859 (grub_video_vbe_map_rgba): Likewise.
50860 (grub_video_vbe_unmap_color): Likewise.
50861 (grub_video_vbe_fill_rect): Likewise.
50862 (grub_video_vbe_blit_glyph): Likewise.
50863 (grub_video_vbe_blit_bitmap): Likewise.
50864 (grub_video_vbe_blit_render_target): Likewise.
50865 (grub_video_vbe_scroll): Likewise.
50866 (grub_video_vbe_swap_buffers): Likewise.
50867 (grub_video_vbe_create_render_target): Likewise.
50868 (grub_video_vbe_delete_render_target): Likewise.
50869 (grub_video_vbe_set_active_render_target): Likewise.
50870 (grub_vbe_set_pixel_rgb): Remove function.
50871 (grub_vbe_set_pixel_index): Likewise.
50872 (index_color_mode): Remove static variable.
50873 (active_mode): Likewise.
50874 (framebuffer): Likewise.
50875 (bytes_per_scan_line): Likewise.
50876 (grub_video_vbe_adapter): Added new static variable.
50877 (framebuffer): Likewise.
50878 (render_target): Likewise.
50879 (initial_mode): Likewise.
50880 (mode_in_use): Likewise.
50881 (mode_list): Likewise.
50882
50883 2006-03-10 Marco Gerards <marco@gnu.org>
50884
50885 * configure.ac (AC_INIT): Bumped to 1.93.
50886
50887 * DISTLIST: Added `include/grub/hfs.h'.
50888
50889 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50890
50891 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50892 18H, which might help the BIOS falling back to next boot media.
50893
50894 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50895
50896 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50897 Poe Chen <poe.poechen@gmail.com>.
50898
50899 2006-01-17 Marco Gerards <marco@gnu.org>
50900
50901 * include/grub/normal.h: Include <grub/script.h>.
50902 (grub_command_list): Removed struct.
50903 (grub_command_list_t): Removed type.
50904 (grub_menu_entry): Remove members `num' and `command_list'. Add
50905 members `commands' and `sourcecode'.
50906 * include/grub/script.h: Add inclusion guards.
50907 (grub_script_cmd_menuentry): New struct.
50908 (grub_script_execute_menuentry): New prototype.
50909 (grub_script_lexer_record_start): Likewise.
50910 (grub_script_lexer_record_stop): Likewise.
50911 * normal/execute.c (grub_script_execute_menuentry): New function.
50912 * normal/lexer.c (record, recording, recordpos, recordlen): New
50913 variables.
50914 (grub_script_lexer_record_start): New function.
50915 (grub_script_lexer_record_stop): Likewise.
50916 (recordchar): Likewise.
50917 (nextchar): Likewise.
50918 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50919 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50920 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50921 (current_menu): New variable.
50922 (free_menu): Mainly rewritten.
50923 (grub_normal_menu_addentry): New function.
50924 (read_config_file): Rewritten.
50925 * normal/menu.c (run_menu_entry): Mainly rewritten.
50926 * normal/menu_entry.c (make_screen): Rewritten the code to insert
50927 the menu entry.
50928 (run): Mainly rewritten.
50929 * normal/parser.y (menu_entry): New variable.
50930 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50931 (menuentry): New rule.
50932 (command): Add `menuentry'.
50933 (if_statement): Allow additional returns before `fi'.
50934 * normal/script.c (grub_script_create_cmdmenu): New function.
50935
50936 2006-01-03 Marco Gerards <marco@gnu.org>
50937
50938 * INSTALL: GNU Bison is required.
50939 * configure.ac: Rewritten the test to detect Bison.
50940 * Makefile.in (YACC): New variable. Reported by Xun Sun
50941 <xun.sun.cn@gmail.com>.
50942
50943 2006-01-03 Marco Gerards <marco@gnu.org>
50944
50945 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50946 the HFS+ filesystem to filesystem blocks.
50947 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50948 GCC warning is silenced.
50949
50950 2006-01-03 Marco Gerards <marco@gnu.org>
50951
50952 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50953 read from disk from big endian to host byte order.
50954
50955 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50956
50957 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50958 documentation.
50959 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50960 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50961 embedded HFS+ filesystem.
50962 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50963 (grub_hfs_sblock): Move from here...
50964 * include/grub/hfs.h: To here... New file.
50965 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50966 documentation.
50967 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50968 New macros.
50969 (grub_hfsplus_volheader): Change type of member `magic' to
50970 `grub_uint16_t'.
50971 (grub_hfsplus_data): Add new member `embedded_offset'.
50972 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50973 returned block.
50974 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50975 Calculate the offset.
50976
50977 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50978
50979 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50980 Removed.
50981 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50982
50983 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50984
50985 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50986 ENV->NAME is NULL after allocating ENV->VALUE.
50987
50988 2005-12-25 Marco Gerards <marco@gnu.org>
50989
50990 * kern/env.c (grub_env_set): Rewritten the error handling code.
50991
50992 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50993
50994 * geninit.sh: Made more robust, and more portable.
50995
50996 2005-12-25 Marco Gerards <marco@gnu.org>
50997
50998 Add support for Apple HFS+ filesystems.
50999
51000 * fs/hfsplus.c: New file.
51001
51002 * DISTLIST: Added `fs/hfsplus.c'.
51003
51004 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
51005 (hfsplus_mod_SOURCES): New variable.
51006 (hfsplus_mod_CFLAGS): Likewise.
51007 (hfsplus_mod_LDFLAGS): Likewise.
51008 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
51009 (grub_setup_SOURCES): Likewise.
51010 (grub_mkdevicemap_SOURCES): Likewise.
51011 (grub_emu_SOURCES): Likewise.
51012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51013
51014 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
51015
51016 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
51017
51018 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51019
51020 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
51021 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
51022 include/grub/parser.h, include/grub/script.h, kern/parser.c,
51023 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
51024 normal/lexer.c, normal/parser.y, normal/script.c, and
51025 partmap/gpt.c.
51026 Removed kern/sparc64/cache.c.
51027
51028 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
51029 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
51030 grub_emu_init.c.
51031
51032 * configure.ac (AC_INIT): Bumped to 1.92.
51033
51034 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
51035
51036 * kern/err.c (grub_error_push): Added new function to support error
51037 stacks.
51038 (grub_error_pop): Likewise.
51039 (grub_error_stack_items): New local variable to support error stacks.
51040 (grub_error_stack_pos): Likewise.
51041 (grub_error_stack_assert): Likewise.
51042 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
51043 stack depth.
51044 (grub_print_error): Added support to print errors from error stack.
51045
51046 * include/grub/err.h (grub_error_push): Added function prototype.
51047 (grub_error_pop): Likewise.
51048
51049 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
51050
51051 * configure.ac: Accept `powerpc64' as host_cpu.
51052 (amd64): Rename to `biarch32'.
51053
51054 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
51055 non-cacheline-aligned addresses.
51056
51057 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
51058 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
51059 if `size' is non-zero.
51060
51061 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
51062
51063 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
51064 and `cd' to make sure the filename is not prefixed with a
51065 directory name.
51066 (pkgdata_MODULES): Add `gpt.mod'.
51067 (gpt_mod_SOURCES): New variable.
51068 (gpt_mod_CFLAGS): Likewise.
51069 (gpt_mod_LDFLAGS): Likewise.
51070
51071 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
51072
51073 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
51074 New macro.
51075
51076 * partmap/gpt.c: New file.
51077
51078 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
51079 GPT partition map is detected.
51080
51081 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
51082
51083 * commands/i386/pc/play.c: New file.
51084 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
51085 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
51086 macros.
51087
51088 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
51089
51090 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
51091 ((unused))' to silence gcc warning.
51092
51093 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
51094
51095 * configure.ac: Correct `AC_PROG_YACC' test.
51096
51097 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51098
51099 * util/powerpc/ieee1275/grub-install.in: Run the mount point
51100 check before installing files.
51101
51102 2005-11-22 Mike Small <smallm@panix.com>
51103
51104 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
51105 number regex so multidigit numbers are recognized correctly.
51106
51107 2005-11-22 Mike Small <smallm@panix.com>
51108
51109 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
51110 debugging message before attempting to claim memory.
51111 (grub_rescue_cmd_initrd): Add a claim debugging message and try
51112 multiple addresses in case of failure.
51113
51114 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51115
51116 * term/tparm.c (get_space): Remove empty `if' statement.
51117
51118 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
51119
51120 * kern/parser.c (check_varstate): Rename `state' to 's'.
51121
51122 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51123
51124 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
51125 variable definitions to the beginning of each function. Sort stack
51126 variables by size.
51127 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
51128 `buf' argument to `char *'.
51129
51130 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51131
51132 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
51133 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51134 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51135 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51136 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51137 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51138 configfile.mod, search.mod, gzio.mod and test.mod.
51139 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51140 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51141 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51142 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51143 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51144 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51145 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51146 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51147 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51148 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51149 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51150 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51151 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51152 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51153 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51154 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51155 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51156 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51157 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51158 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51159 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51160 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51161 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51162
51163 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51164 `grep --include'.
51165 (pkgdata_MODULES): Add test.mod.
51166
51167 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51168
51169 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51170 appending to variables with "+=".
51171 (PModule): Use full pathname to generate *.lst filenames.
51172
51173 * Makefile.in: Fixed list rules moved from genmk.rb.
51174 (.DELETE_ON_ERROR): New special target.
51175 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51176
51177 * conf/i386-pc.rmk: Include conf/common.mk.
51178 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51179 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51180 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51181 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51182 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51183 configfile.mod, search.mod, gzio.mod and test.mod.
51184 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51185 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51186 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51187 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51188 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51189 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51190 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51191 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51192 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51193 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51194 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51195 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51196 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51197 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51198 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51199 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51200 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51201 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51202 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51203 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51204 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51205 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51206 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51207 here...
51208 * conf/common.rmk: ... to here. New file.
51209
51210 * conf/common.mk: New file.
51211
51212 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51213
51214 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51215 (grub_script.tab.c): ... here.
51216
51217 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51218 (grub_script.tab.c): ... here.
51219
51220 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51221 (grub_script.tab.c): ... here.
51222
51223 * normal/command.c (grub_command_find): Fixed a memory leak of
51224 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51225
51226 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51227
51228 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51229 "@" which marks the start of a comment on ARM.
51230 (VARIABLE): Likewise.
51231
51232 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51233
51234 Add support for Linux/ADFS partition tables.
51235
51236 * partmap/acorn.c: New file.
51237
51238 * include/grub/acorn_filecore.h: Likewise.
51239
51240 * DISTLIST: Added `partmap/acorn.c' and
51241 `include/grub/acorn_filecore.h'.
51242
51243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51244 `partmap/acorn.c'.
51245 (pkgdata_MODULES): Add `acorn.mod'.
51246 (acorn_mod_SOURCES): New variable.
51247 (acorn_mod_CFLAGS): Likewise.
51248
51249 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51250 `partmap/acorn.c'.
51251 (pkgdata_MODULES): Add `acorn.mod'.
51252 (acorn_mod_SOURCES): New variable.
51253 (acorn_mod_CFLAGS): Likewise.
51254
51255 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51256 (pkgdata_MODULES): Add `acorn.mod'.
51257 (acorn_mod_SOURCES): New variable.
51258 (acorn_mod_CFLAGS): Likewise.
51259 (acorn_mod_LDFLAGS): Likewise.
51260
51261 * include/types.h (grub_disk_addr_t): New typedef.
51262
51263 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
51264
51265 * geninit.sh: New file.
51266
51267 * geninitheader.sh: Likewise.
51268
51269 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51270 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51271 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51272 * commands/configfile.c (grub_configfile_init)
51273 (grub_configfile_fini): Likewise.
51274 * commands/default.c (grub_default_init, grub_default_fini):
51275 Likewise.
51276 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51277 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51278 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51279 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51280 Likewise.
51281 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51282 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51283 Likewise.
51284 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
51285 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
51286 Likewise.
51287 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51288 Likewise.
51289 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
51290 Likewise.
51291 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51292 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51293 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51294 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51295 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51296 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51297 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51298 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51299 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51300 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51301 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51302 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51303 * partmap/amiga.c (grub_amiga_partition_map_init)
51304 (grub_amiga_partition_map_fini): Likewise.
51305 * partmap/apple.c (grub_apple_partition_map_init)
51306 (grub_apple_partition_map_fini): Likewise.
51307 * partmap/pc.c (grub_pc_partition_map_init)
51308 (grub_pc_partition_map_fini): Likewise.
51309 * partmap/sun.c (grub_sun_partition_map_init,
51310 grub_sun_partition_map_fini): Likewise.
51311 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51312 Likewise.
51313
51314 * util/grub-emu.c: Include <grub_modules_init.h>.
51315 (main): Don't initialize and de-initialize any modules directly,
51316 use `grub_init_all' and `grub_fini_all' instead.
51317
51318 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51319 `grub_vesafb_mod_init'.
51320 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51321 all users.
51322 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51323 `grub_vga_mod_init'. Updated all users.
51324 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
51325
51326 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51327 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51328 rules.
51329
51330 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51331 Generate a function to initialize the module in utilities.
51332 Updated all callers.
51333 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51334 initialize the module in utilities. Updated all callers.
51335
51336 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51337
51338 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51339 escape sequence and a literal ^L to clear the screen.
51340
51341 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51342 when returning from Open Firmware.
51343
51344 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51345
51346 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51347 (grub_ofconsole_height): Likewise.
51348 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51349 manually insert a '\n'.
51350 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51351 `grub_ofconsole_height'. Return early if these are already set.
51352
51353 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51354
51355 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51356 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51357 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51358 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51359 and `normal/script.c'.
51360 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51361 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51362 (test_mod_SOURCES): New variable.
51363 (test_mod_CFLAGS): Likewise.
51364 (test_mod_LDFLAGS): Likewise.
51365 (pkgdata_MODULES): Add `test.mod'.
51366 (grub_script.tab.c): New rule.
51367 (grub_script.tab.h): Likewise.
51368
51369 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
51370
51371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51372 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51373 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51374 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51375 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51376 (test_mod_SOURCES): New variable.
51377 (test_mod_CFLAGS): Likewise.
51378 (pkgdata_MODULES): Add `test.mod'.
51379 (grub_script.tab.c): New rule.
51380 (grub_script.tab.h): Likewise.
51381
51382 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
51383
51384 Add initial scripting support.
51385
51386 * commands/test.c: New file.
51387 * include/grub/script.h: Likewise.
51388 * normal/execute.c: Likewise.
51389 * normal/function.c: Likewise.
51390 * normal/lexer.c: Likewise.
51391 * normal/parser.y: Likewise.
51392 * normal/script.c: Likewise.
51393
51394 * configure.ac: Add `AC_PROG_YACC' test.
51395
51396 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51397 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51398 `normal/function.c' and `normal/script.c'.
51399 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51400 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51401 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51402 variables.
51403 (pkgdata_MODULES): Add `test.mod'.
51404 (grub_script.tab.c): New rule.
51405 (grub_script.tab.h): Likewise.
51406
51407 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51408
51409 * include/grub/normal.h (grub_test_init): New prototype.
51410 (grub_test_fini): Likewise.
51411
51412 * normal/command.c: Include <grub/script.h>.
51413 (grub_command_execute): Rewritten.
51414
51415 * util/grub-emu.c (main): Call `grub_test_init' and
51416 `grub_test_fini'.
51417
51418 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51419
51420 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51421 to 0.
51422 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51423 there are no pending characters.
51424
51425 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51426
51427 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51428 `grub_strndup' to drop device arguments. Replace unnecessary
51429 `grub_strndup' with `grub_strdup'.
51430
51431 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51432
51433 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51434 `debug' environment variable has been set.
51435
51436 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
51437
51438 * Makefile.in (install-local): Use $(DATA).
51439 (uninstall): Likewise.
51440 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51441 (sbin_UTILITIES): ... to here.
51442 (sbin_SCRIPTS): New variable.
51443 (grub_install_SOURCES): New variable.
51444 * util/powerpc/ieee1275/grub-install.in: New file.
51445 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51446 variable.
51447 (add_segments): Call `grub_util_get_path'.
51448
51449 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51450
51451 From Timothy Baldwin:
51452 * commands/ls.c (grub_ls_list_files): Close FILE with
51453 grub_file_close.
51454 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51455
51456 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
51457
51458 * include/grub/parser.h: New file.
51459
51460 * kern/parser.c: Likewise.
51461
51462 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51463 (grub_setup_SOURCES): Likewise.
51464 (grub_probefs_SOURCES): Likewise.
51465 (grub_emu_SOURCES): Likewise.
51466 (kernel_img_HEADERS): Add `parser.h'.
51467
51468 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51469 (grub_emu_SOURCES): Add `kern/parser.c'.
51470 (grubof_SOURCES): Likewise.
51471
51472 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51473 (grubof_SOURCES): Add `kern/parser.c'.
51474
51475 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51476
51477 * kern/misc.c (grub_split_cmdline): Removed function.
51478
51479 * kern/rescue.c: Include <grub/parser.h>.
51480 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51481 of `grub_split_cmdline'.
51482
51483 * normal/command.c: Include <grub/parser.h>.
51484 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51485 of `grub_split_cmdline'.
51486
51487 * normal/completion.c: Include <grub/parser.h>.
51488 (cmdline_state): New variable.
51489 (iterate_dir): End the filename with a quote depending on the
51490 command line state.
51491 (get_state): new function.
51492 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51493 split the arguments and determine the current argument. When the
51494 argument string is not quoted, escape all spaces.
51495
51496 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51497
51498 * normal/sparc64/setjmp.S: New file.
51499
51500 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51501
51502 * include/grub/sparc64/libgcc.h: New file.
51503 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51504 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51505 normal/sparc64/setjmp.c.
51506
51507 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51508
51509 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51510 * kern/sparc64/cache.S: New file.
51511 * kern/sparc64/cache.c: Removed.
51512 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51513 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51514 -mtune=ultrasparc.
51515 (COMMON_LDFLAGS): Add -melf64_sparc.
51516 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51517 (grubof_SOURCES): Use cache.S instead of cache.c.
51518 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51519 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51520 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51521 commented though.
51522 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51523 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51524 (linux_mod_CFLAGS): Commented out.
51525 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51526 out because module isn't built.
51527 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51528 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51529 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51530 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51531 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51532 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51533 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51534 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51535 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51536 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51537 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51538 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51539 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51540 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51541
51542 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51543
51544 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51545 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51546 longer, because HFS should not be used on PC.
51547
51548 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51549
51550 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51551 consistently within the loop.
51552
51553 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
51554
51555 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51556 directory can not be read.
51557
51558 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51559
51560 * configure.ac (AC_INIT): Increase the version number to 1.91.
51561
51562 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51563 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51564 term/i386/pc/serial.c.
51565
51566 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51567
51568 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51569 file size must be permitted.
51570
51571 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51572 between %ah and %al.
51573
51574 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51575
51576 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51577 grub_uint64_t.
51578 Call the hook with a NUL-terminated filename.
51579 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51580 grub_cpu_to_be32.
51581
51582 * kern/term.c (cursor_state): New variable.
51583 (grub_term_set_current): Reset the cursor state on a new
51584 terminal.
51585 (grub_setcursor): Rewritten to use CURSOR_STATE.
51586 (grub_getcursor): New function.
51587
51588 * include/grub/term.h (grub_getcursor): New prototype.
51589
51590 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51591 integers on ARM. Reported by Timothy Baldwin
51592 <T.E.Baldwin99@members.leeds.ac.uk>.
51593
51594 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
51595
51596 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51597 allocated.
51598 (grub_sfs_dir): Likewise.
51599
51600 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
51601
51602 Add support for the SFS filesystem.
51603
51604 * fs/sfs.c: New file.
51605
51606 * DISTLIST: Added `fs/sfs.c'.
51607
51608 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51609 (grub_probefs_SOURCES): Likewise.
51610 (grub_emu_SOURCES): Likewise.
51611 (pkgdata_MODULES): Add `sfs.mod'.
51612 (sfs_mod_SOURCES): New variable.
51613 (sfs_mod_CFLAGS): Likewise.
51614 (sfs_mod_LDFLAGS): Likewise.
51615
51616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51617 (pkgdata_MODULES): Add `sfs.mod'.
51618 (sfs_mod_SOURCES): New variable.
51619 (sfs_mod_CFLAGS): Likewise.
51620
51621 * util/grub-emu.c (main): Call `grub_sfs_init' and
51622 `grub_sfs_fini'.
51623
51624 * include/grub/fs.h (grub_sfs_init): New prototype.
51625 (grub_sfs_fini): Likewise.
51626
51627 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
51628
51629 Add support for the AFFS filesystem.
51630
51631 * fs/affs.c: New file.
51632
51633 * DISTLIST: Added `fs/affs.c'.
51634
51635 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51636 (grub_probefs_SOURCES): Likewise.
51637 (grub_emu_SOURCES): Likewise.
51638 (pkgdata_MODULES): Add `affs.mod'.
51639 (affs_mod_SOURCES): New variable.
51640 (affs_mod_CFLAGS): Likewise.
51641 (affs_mod_LDFLAGS): Likewise.
51642
51643 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51644 (pkgdata_MODULES): Add `affs.mod'.
51645 (affs_mod_SOURCES): New variable.
51646 (affs_mod_CFLAGS): Likewise.
51647
51648 * util/grub-emu.c (main): Call `grub_affs_init' and
51649 `grub_affs_fini'.
51650
51651 * include/grub/fs.h (grub_affs_init): New prototype.
51652 (grub_affs_fini): Likewise.
51653
51654 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51655
51656 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51657
51658 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51659
51660 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51661 `-m32' to CFLAGS.
51662
51663 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51664 linking.
51665
51666 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51667 (COMMON_LDFLAGS): New variable.
51668 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51669 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51670 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51671 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51672 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51673 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51674 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51675 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51676 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51677 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51678 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51679 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51680 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51681 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51682 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51683 variables.
51684 (normal_mod_ASFLAGS): Add `-m32'.
51685
51686 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51687 (grub_host_size_t, grub_host_ssize_t): New types.
51688 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
51689 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
51690 `GRUB_HOST_SIZEOF_VOID_P'.
51691
51692 * include/grub/kernel.h (struct grub_module_header): Type of
51693 member offset changed to `grub_host_off_t'. Type of member size
51694 changed to `grub_host_size_t'.
51695 (struct grub_module_info): Type of member offset changed to
51696 `grub_host_off_t'. Type of member size changed to
51697 `grub_host_size_t'.
51698
51699 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51700
51701 Make GRUB's kernel compliant to Multiboot Specification.
51702
51703 * kern/i386/pc/startup.S (multiboot_header): New label.
51704 (multiboot_entry): Likewise.
51705 (multiboot_trampoline): Likewise.
51706
51707 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51708 Increased to 0x4A0.
51709
51710 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51711 put parentheses after a question mark.
51712 [!GRUB_UTIL] (my_mod): New variable.
51713
51714 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51715
51716 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
51717
51718 Adds support for the XFS filesystem. Btrees are not supported
51719 yet.
51720
51721 * fs/xfs.c: New file.
51722
51723 * DISTLIST: Added `fs/xfs.c'.
51724
51725 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51726 (grub_probefs_SOURCES): Likewise.
51727 (grub_emu_SOURCES): Likewise.
51728 (pkgdata_MODULES): Add `xfs.mod'.
51729 (xfs_mod_SOURCES): New variable.
51730 (xfs_mod_CFLAGS): Likewise.
51731
51732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51733 (pkgdata_MODULES): Add `xfs.mod'.
51734 (xfs_mod_SOURCES): New variable.
51735 (xfs_mod_CFLAGS): Likewise.
51736
51737 * util/grub-emu.c (main): Call `grub_xfs_init' and
51738 `grub_xfs_fini'.
51739
51740 * include/grub/fs.h (grub_xfs_init): New prototype.
51741 (grub_xfs_fini): Likewise.
51742
51743
51744 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51745
51746 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51747 color modes, allow greater than 16 colors to be configured as
51748 a default palette.
51749
51750 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51751
51752 * normal/completion.c (complete_arguments): Add the qualifier
51753 const into OPTIONS.
51754
51755 From Omniflux <omniflux+lists@omniflux.com>:
51756 * include/grub/terminfo.h: New file.
51757 * include/grub/tparm.h: Likewise.
51758 * include/grub/i386/pc/serial.h: Likewise.
51759 * term/terminfo.c: Likewise.
51760 * term/tparm.c: Likewise.
51761 * term/i386/pc/serial.c: Likewise.
51762 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51763 serial.mod.
51764 (terminfo_mod_SOURCES): New variable.
51765 (terminfo_mod_CFLAGS): Likewise.
51766 (serial_mod_SOURCES): Likewise.
51767 (serial_mod_CFLAGS): Likewise.
51768
51769 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51770
51771 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51772 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51773 and kern/powerpc/ieee1275/cmain.c, respectively.
51774
51775 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51776 * kern/powerpc/ieee1275/crt0.S: ... here.
51777
51778 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51779 * kern/powerpc/ieee1275/cmain.c: ... here.
51780
51781 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51782 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51783 instead of boot/powerpc/ieee1275/crt0.S and
51784 boot/powerpc/ieee1275/cmain.c, respectively.
51785
51786 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51787 sectors. It was not used anyway.
51788
51789 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51790
51791 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51792 `unused parameter' warning.
51793
51794 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51795
51796 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51797 function.
51798 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51799 getcharwidth.
51800
51801 2005-08-28 Marco Gerards <metgerards@student.han.nl>
51802
51803 * include/grub/normal.h (enum grub_completion_type): Added
51804 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51805
51806 * normal/cmdline.c (print_completion): Handle
51807 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51808 * normal/menu_entry.c (store_completion): Likewise.
51809
51810 * normal/completion.c (complete_arguments): New function.
51811 (grub_normal_do_completion): Call `complete_arguments' when the
51812 current words start with a dash.
51813
51814 2005-08-27 Marco Gerards <metgerards@student.han.nl>
51815
51816 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51817 `gzio.mod' instead of `io.mod').
51818
51819 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51820
51821 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51822 (DISTDIRS): Added io and video.
51823 Rewrite the search routine to make an output consistently.
51824
51825 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51826 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51827 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51828 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51829 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51830 util/powerpc/ieee1275/misc.c.
51831
51832 * include/grub/gzio.h: New file.
51833 * io/gzio.c: Likewise.
51834
51835 * kern/file.c (grub_file_close): Call grub_device_close only if
51836 FILE->DEVICE is not NULL.
51837
51838 * include/grub/mm.h [!NULL] (NULL): New macro.
51839
51840 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51841
51842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51843 (pkgdata_MODULES): Added gzio.mod.
51844 (gzio_mod_SOURCES): New variable.
51845 (gzio_mod_CFLAGS): Likewise.
51846
51847 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51848 (pkgdata_MODULES): Added gzio.mod.
51849 (gzio_mod_SOURCES): New variable.
51850 (gzio_mod_CFLAGS): Likewise.
51851
51852 * commands/cat.c: Include grub/gzio.h.
51853 (grub_cmd_cat): Use grub_gzfile_open instead of
51854 grub_file_open.
51855
51856 * commands/cmp.c: Include grub/gzio.h.
51857 (grub_cmd_cmp): Use grub_gzfile_open instead of
51858 grub_file_open.
51859
51860 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51861 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51862 grub_file_open.
51863 (grub_rescue_cmd_module): Likewise.
51864
51865 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51866
51867 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51868 kern/sparc64/ieee1275/init.c because it contains _start.
51869 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51870
51871 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51872
51873 * configure.ac: Add support for sparc64 host with ieee1275
51874 firmware.
51875 * configure: Generated from configure.ac.
51876 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51877 instead of int.
51878 (grub_ofdisk_read): Likewise.
51879 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51880 pointers as (void *) to remove a warning.
51881 (grub_ofdisk_close): Likewise.
51882 (grub_ofdisk_read): Likewise.
51883 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51884 returns, so make it return void to remove a warning.
51885 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51886 Corresponding prototype change.
51887 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51888 values, and cast the pointers as (void *) to remove a warning.
51889 (grub_mm_dump): Likewise.
51890 * conf/sparc64-ieee1275.mk: New file.
51891 * conf/sparc64-ieee1275.rmk: Likewise.
51892 * include/grub/sparc64/setjmp.h: Likewise.
51893 * include/grub/sparc64/types.h: Likewise.
51894 * include/grub/sparc64/ieee1275/console.h: Likewise.
51895 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51896 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51897 * include/grub/sparc64/ieee1275/time.h: Likewise.
51898 * kern/sparc64/cache.c: Likewise.
51899 * kern/sparc64/dl.c: Likewise.
51900 * kern/sparc64/ieee1275/init.c: Likewise.
51901 * kern/sparc64/ieee1275/openfw.c: Likewise.
51902
51903 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51904
51905 * util/console.c (grub_ncurses_putchar): If C is greater than
51906 0x7f, set C to a question mark.
51907 (grub_ncurses_getcharwidth): New function.
51908 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51909 getcharwidth.
51910
51911 * normal/menu.c (print_entry): Made aware of Unicode. First,
51912 convert TITLE to UCS-4, and predict the cursor position by
51913 grub_getcharwidth.
51914
51915 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51916 const to SRC.
51917 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51918
51919 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51920
51921 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51922 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51923 grub_strcat.
51924
51925 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51926 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51927 grub_strcpy and grub_strlen. Take it into account that a space
51928 character is inserted as a delimiter.
51929
51930 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51931
51932 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
51933 invalid magic in the error.
51934
51935 * commands/search.c: New file.
51936
51937 * util/grub-emu.c (main): Call grub_search_init and
51938 grub_search_fini.
51939
51940 * kern/rescue.c (grub_rescue_print_disks): Removed.
51941 (grub_rescue_print_devices): New function.
51942 (grub_rescue_cmd_ls): Use grub_device_iterate with
51943 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51944 grub_rescue_print_disks.
51945
51946 * kern/partition.c (grub_partition_iterate): Return the result of
51947 PARTMAP->ITERATE instead of GRUB_ERRNO.
51948
51949 * kern/device.c: Include grub/partition.h.
51950 (grub_device_iterate): New function.
51951
51952 * include/grub/partition.h (grub_partition_iterate): Return int
51953 instead of grub_err_t.
51954
51955 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51956 prototype.
51957 [GRUB_UTIL] (grub_search_fini): Likewise.
51958
51959 * include/grub/device.h (grub_device_iterate): New prototype.
51960
51961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51962 commands/search.c.
51963 (pkgdata_MODULES): Added search.mod.
51964 (search_mod_SOURCES): New variable.
51965 (search_mod_CFLAGS): Likewise.
51966
51967 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51968 (pkgdata_MODULES): Added search.mod.
51969 (search_mod_SOURCES): New variable.
51970 (search_mod_CFLAGS): Likewise.
51971
51972 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51973 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51974 All callers changed.
51975
51976 * DISTLIST: Added commands/search.c.
51977
51978 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51979
51980 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51981 conversion.
51982 (grub_getcharwidth): New function.
51983
51984 * kern/misc.c (grub_utf8_to_ucs4): New function.
51985
51986 * include/grub/term.h (struct grub_term): Added a new member
51987 "getcharwidth".
51988 (grub_getcharwidth): New prototype.
51989
51990 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51991
51992 * term/i386/pc/console.c (map_char): New function. Segregated from
51993 grub_console_putchar.
51994 (grub_console_putchar): Use map_char.
51995 (grub_console_getcharwidth): New function.
51996 (grub_console_term): Specified grub_console_getcharwidth as
51997 getcharwidth.
51998
51999 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
52000 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
52001
52002 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
52003 GRUB_ERRNO.
52004 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
52005 on grub_strtoul completely.
52006 (write_char): Declare local variables in the beginning of the
52007 function.
52008 (grub_vesafb_getcharwidth): New function.
52009 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
52010 getcharwidth.
52011
52012 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
52013
52014 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
52015 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
52016 commands/i386/pc/vbetest.c.
52017
52018 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
52019 call grub_vbe_get_controller_info again, because the returned
52020 information is volatile.
52021 (grub_vbe_set_video_mode): Mostly rewritten.
52022 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
52023 grub_vbe_status_t correctly.
52024 (grub_vbe_get_video_mode_info): Likewise.
52025 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
52026 several if statements.
52027
52028 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
52029 * commands/i386/pc/vbeinfo.c: ... this.
52030
52031 * commands/i386/pc/vbe_test.c: Renamed to ...
52032 * commands/i386/pc/vbetest.c: ... this.
52033
52034 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
52035 ...
52036 (grub_cmd_vbeinfo): ... this. Save video modes before
52037 iterating. Skip a video mode, if it is not available, not enough
52038 information is given or it is monochrome. Show the memory
52039 model. Leave the interpretation of MODEVAR to grub_strtoul
52040 completely.
52041 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
52042 (GRUB_MOD_FINI): Likewise.
52043
52044 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
52045 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
52046 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
52047 duplicated grub_env_get. Leave the interpretation of MODEVAR to
52048 grub_strtoul completely.
52049 (real2pm): Removed.
52050 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
52051 (GRUB_MOD_FINI): Likewise.
52052
52053 * normal/misc.c: Include grub/mm.h.
52054
52055 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
52056 vbe_list_modes with vbetest.mod and vbeinfo.mod.
52057 (vbe_list_modes_mod_SOURCES): Removed.
52058 (vbe_list_modes_mod_CFLAGS): Likewise.
52059 (vbe_test_mod_SOURCES): Likewise.
52060 (vbe_test_mod_CFLAGS): Likewise.
52061 (vbeinfo_mod_SOURCES): New variable.
52062 (vbeinfo_mod_CFLAGS): Likewise.
52063 (vbetest_mod_SOURCES): Likewise.
52064 (vbetest_mod_CFLAGS): Likewise.
52065
52066 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
52067
52068 * normal/misc.c: New file.
52069
52070 * DISTLIST: Added normal/misc.c.
52071
52072 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
52073 DISK to HOOK. Call HOOK with DISK.
52074 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52075 * partmap/pc.c (pc_partition_map_iterate): Likewise.
52076 * partmap/sun.c (sun_partition_map_iterate): Likewise.
52077
52078 * normal/menu_entry.c (struct screen): Added a new member
52079 "completion_shown".
52080 (completion_buffer): New global variable.
52081 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
52082 (store_completion): New function.
52083 (complete): Likewise.
52084 (clear_completions): Likewise.
52085 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
52086 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
52087 a tab, call complete.
52088
52089 * normal/completion.c (disk_dev): Removed.
52090 (print_simple_completion): Likewise.
52091 (print_partition_completion): Likewise.
52092 (print_func): New global variable.
52093 (add_completion): Do not take the arguments WHAT or PRINT any
52094 longer. Added a new argument TYPE. Instead of printing directly,
52095 call PRINT_FUNC if not NULL.
52096 All callers changed.
52097 (complete_device): Use a local variable DEV instead of
52098 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
52099 (grub_normal_do_completion): Take a new argument HOOK. Do not
52100 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
52101 empty string, return NULL instead.
52102 All callers changed.
52103
52104 * normal/cmdline.c (print_completion): New function.
52105
52106 * kern/partition.c (grub_partition_iterate): Add an argument DISK
52107 to HOOK.
52108 All callers changed.
52109
52110 * kern/disk.c (grub_print_partinfo): Removed.
52111
52112 * include/grub/partition.h (struct grub_partition_map): Add a new
52113 argument DISK into HOOK of ITERATE.
52114 (grub_partition_iterate): Add a new argument DISK to HOOK.
52115
52116 * include/grub/normal.h (enum grub_completion_type): New enum.
52117 (grub_completion_type_t): New type.
52118 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
52119 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
52120 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
52121 (GRUB_COMPLETION_TYPE_FILE): Likewise.
52122 (grub_normal_do_completion): Added a new argument HOOK.
52123 (grub_normal_print_device_info): New prototype.
52124
52125 * include/grub/disk.h (grub_print_partinfo): Removed.
52126
52127 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
52128 (normal_mod_SOURCES): Likewise.
52129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52130 (normal_mod_SOURCES): Likewise.
52131
52132 * commands/ls.c (grub_ls_list_disks): Use
52133 grub_normal_print_device_info instead of grub_print_partinfo. Free
52134 PNAME.
52135 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52136 duplicating the code.
52137
52138 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52139
52140 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
52141 follow GCS more precisely.
52142 * commands/i386/pc/vbe_test.c: Likewise.
52143 * include/grub/i386/pc/vbe.h: Likewise.
52144 * term/i386/pc/vesafb.c: Likewise.
52145 * video/i386/pc/vbe.c: Likewise.
52146
52147 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52148
52149 * DISTLIST: Added term/i386/pc/vesafb.c
52150 DISTLIST: Added video/i386/pc/vbe.c
52151 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52152 DISTLIST: Added commands/i386/pc/vbe_test.c.
52153 * commands/i386/pc/vbe_list_modes.c: New file.
52154 * commands/i386/pc/vbe_test.c: Likewise.
52155 * term/i386/pc/vesafb.c: Likewise.
52156 * video/i386/pc/vbe.c: Likewise.
52157 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52158 (grub_vbe_probe) Added prototype.
52159 (grub_vbe_set_video_mode) Likewise.
52160 (grub_vbe_get_video_mode) Likewise.
52161 (grub_vbe_get_video_mode_info) Likewise.
52162 (grub_vbe_set_pixel_rgb) Likewise.
52163 (grub_vbe_set_pixel_index) Likewise.
52164 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52165 (pkgdata_MODULES): Added vesafb.mod.
52166 (pkgdata_MODULES): Added vbe_list_modes.mod.
52167 (pkgdata_MODULES): Added vbe_test.mod.
52168 (vbe_mod_SOURCES): Added.
52169 (vbe_mod_CFLAGS): Likewise.
52170 (vesafb_mod_SOURCES): Likewise.
52171 (vesafb_mod_CFLAGS): Likewise.
52172 (vbe_list_modes_mod_SOURCES): Likewise.
52173 (vbe_list_modes_mod_CFLAGS): Likewise.
52174 (vbe_test_mod_SOURCES): Likewise.
52175 (vbe_test_mod_CFLAGS): Likewise.
52176
52177 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52178
52179 * normal/command.c (grub_command_execute): If INTERACTIVE is
52180 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52181 CMDLINE. Disable the pager if INTERACTIVE is true.
52182 All callers are changed.
52183
52184 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52185 before reading a config file.
52186 * normal/main.c (read_config_file): Even if a command is not
52187 found, register it if it is within an entry.
52188
52189 * util/grub-emu.c: Include sys/types.h and unistd.h.
52190 (options): Added --hold.
52191 (struct arguments): Added a new member "hold".
52192 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52193 missing.
52194 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52195 cleared by a debugger, if it is not zero.
52196
52197 * include/grub/normal.h (grub_command_execute): Add an argument
52198 INTERACTIVE.
52199
52200 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52201
52202 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52203
52204 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52205
52206 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52207 program with another one, because the old one didn't detect a bug
52208 in gcc-3.4. Always use regparm 2, because the new test is still
52209 not enough for gcc-4.0. Someone must investigate a simple test
52210 case which detects a bug in gcc-4.0.
52211
52212 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52213
52214 * DISTLIST: Added normal/completion.c.
52215
52216 * normal/completion.c: New file.
52217
52218 * term/i386/pc/console.c (grub_console_getwh): New function.
52219 (grub_console_term): Assign grub_console_getwh to getwh.
52220
52221 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52222 function is defined in normal/completion.c as
52223 grub_normal_do_completion.
52224 (grub_cmdline_get): Use grub_normal_do_completion instead of
52225 grub_tab_complete.
52226
52227 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52228 returns non-zero, otherwise return 0.
52229 (grub_partition_iterate): First, probe the partition map. Then,
52230 call ITERATE only for this partition map.
52231
52232 * kern/misc.c (grub_strncmp): Rewritten.
52233
52234 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52235 returns non-zero. Otherwise return 0.
52236
52237 * include/grub/partition.h (grub_partition_map_iterate): Return
52238 int instead of void.
52239
52240 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52241
52242 * include/grub/misc.h (grub_strncmp): Change the type of N to
52243 grub_size_t.
52244
52245 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52246 of void.
52247
52248 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
52249 unsigned explicitly before comparing it with I.
52250
52251 * kern/main.c (grub_env_write_root): Add the attribute unused into
52252 VAR.
52253
52254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52255 normal/completion.c.
52256 (normal_mod_SOURCES): Likewise.
52257 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52258 (normal_mod_SOURCES): Likewise.
52259
52260 * normal/command.c (grub_iterate_commands): If ITERATE returns
52261 non-zero, return one immediately.
52262
52263 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52264
52265 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52266 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52267 descriptions.
52268 (grub_vbe_get_controller_info): New function.
52269 (grub_vbe_get_mode_info): Likewise.
52270 (grub_vbe_set_mode): Likewise.
52271 (grub_vbe_get_mode): Likewise.
52272 (grub_vbe_set_memory_window): Likewise.
52273 (grub_vbe_get_memory_window): Likewise.
52274 (grub_vbe_set_scanline_length): Likewise.
52275 (grub_vbe_get_scanline_length): Likewise.
52276 (grub_vbe_set_display_start): Likewise.
52277 (grub_vbe_get_display_start): Likewise.
52278 (grub_vbe_set_palette_data): Likewise.
52279 * include/grub/i386/pc/vbe.h: New file.
52280
52281 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52282
52283 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52284 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52285 * DISTLIST: Likewise.
52286 * kern/ieee1275/of.c: Moved to ...
52287 * kern/ieee1275/ieee1275.c: ... here.
52288
52289 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52290
52291 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52292 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52293 Pass 0 as `end' parameter to grub_strtoul().
52294
52295 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52296
52297 * include/grub/powerpc/ieee1275/console.h: Do not include
52298 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52299 ifdef.
52300 (grub_console_cur_color): Remove i386-specific prototype.
52301 (grub_console_real_putchar): Likewise.
52302 (grub_console_checkkey): Likewise.
52303 (grub_console_getkey): Likewise.
52304 (grub_console_getxy): Likewise.
52305 (grub_console_gotoxy): Likewise.
52306 (grub_console_cls): Likewise.
52307 (grub_console_setcursor): Likewise.
52308 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52309 Include <grub/machine/console.h>.
52310 * term/ieee1275/ofconsole.c: Likewise.
52311
52312 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52313
52314 * Makefile.in (LIBLZO): New variable.
52315
52316 * configure.ac: Check for LZO version 2.
52317
52318 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52319 lzo/lzo1x.h instead of lzo1x.h.
52320
52321 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52322 of -llzo.
52323
52324 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52325 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52326
52327 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52328 copying the data from PARTITION to P.
52329
52330 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52331
52332 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52333 negative, unload the module.
52334
52335 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52336 map is "pc_partition_map" but not "pc".
52337 (usage): Fix the description. The options are --boot-image and
52338 --core-image but not --boot-file or --core-file.
52339 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52340 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52341 DEFAULT_DIRECTORY.
52342
52343 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52344 --core-file. Specify INSTALL_DEVICE as an argument.
52345
52346 * util/console.c: Include config.h.
52347 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52348 [HAVE_NCURSES_H]: Include ncurses.h.
52349 [HAVE_CURSES_H]: Include curses.h.
52350 [!A_NORMAL] (A_NORMAL): Defined as zero.
52351 [!A_STANDOUT] (A_STANDOUT): Likewise.
52352
52353 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52354 -lncurses.
52355 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52356
52357 * configure.ac: Check for curses libraries and headers.
52358
52359 * Makefile.in (LIBCURSES): New variable.
52360
52361 * genmk.rb (Script::rule): Set the executable bits.
52362
52363 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52364 name of the PC partition map is "pc_partition_map" but not "pc".
52365
52366 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52367
52368 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52369 (modules): Likewise.
52370 (usage): Added descriptions for --modules and --grub-probefs.
52371 Handle --modules and --grub-probefs. Save the arguments in MODULES
52372 and GRUB_PROBEFS, respectively.
52373 Auto-detect a filesystem module against GRUBDIR. If the result is
52374 empty and modules are not specified explicitly, abort the
52375 installation. Add the result to MODULES.
52376
52377 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52378 disk/powerpc/ieee1275/ofdisk.c,
52379 include/grub/powerpc/ieee1275/init.h and
52380 term/powerpc/ieee1275/ofconsole.c.
52381 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52382 term/ieee1275/ofconsole.c.
52383
52384 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52385
52386 * COPYING: Upgraded to the latest version. Only the address of the
52387 FSF office has changed.
52388
52389 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52390
52391 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52392 kern/ieee1275.c with kern/ieee1275/of.c.
52393
52394 * kern/ieee1275.c: Moved to ...
52395 * kern/ieee1275/of.c: ... here.
52396
52397 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52398
52399 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
52400 readability.
52401
52402 * config.guess: Updated to the latest version from gnulib.
52403 * config.sub: Likewise.
52404 * install.sh: Likewise.
52405 * mkinstalldirs: Likewise.
52406
52407 * include/grub/console.h: Removed. This file is arch-specific. Do
52408 not put this in include/grub.
52409
52410 * include/grub/i386/pc/console.h: Resurrected.
52411
52412 * util/console.c: Include grub/machine/console.h instead of
52413 grub/console.h.
52414 * util/grub-emu.c: Likewise.
52415
52416 2005-08-04 Marco Gerards <metgerards@student.han.nl>
52417
52418 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52419 hardcoded value.
52420
52421 From Vincent Pelletier <subdino2004@yahoo.fr>
52422 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52423 Redefined to use grub_getwh.
52424 (grub_term): New member named getwh.
52425 (grub_getwh): New prototype.
52426 * kern/term.c (grub_getwh): New function.
52427 * term/i386/pc/console.c (grub_console_getwh): New function.
52428 (grub_console_term): New member `getwh'.
52429 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52430 (grub_vga_term): New member `getwh'.
52431 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
52432 grub_ssize_t.
52433 (grub_ofconsole_getw): New function.
52434 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52435 (grub_ofconsole_term): New field named getwh and new initial
52436 value.
52437
52438 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52439
52440 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52441 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52442 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52443 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52444 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52445 of <grub/machine/ieee1275.h>.
52446 * commands/ieee1275/reboot.c: Likewise.
52447 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52448 * kern/ieee1275.c: ... to here. All users updated. Change all
52449 parameter structs to use new type `grub_ieee1275_cell_t'.
52450 * term/powerpc/ieee1275/ofconsole.c: Move ...
52451 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52452 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52453 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52454 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52455 to return int.
52456 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52457 Remove unused prototypes. All users updated.
52458 * include/grub/powerpc/ieee1275/console.h: Removed.
52459 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52460 `grub_ieee1275_cell_t'.
52461 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52462 Cast comparisons with -1 to the correct type.
52463 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52464 type to match `grub_ieee1275_entry_fn'.
52465
52466 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52467
52468 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52469
52470 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52471 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52472 partmap/sun.c.
52473 (grub_probefs_SOURCES): New variable.
52474
52475 * util/i386/pc/grub-probefs.c: New file.
52476
52477 * util/i386/pc/grub-setup.c (main): Call
52478 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52479 grub_hfs_init and grub_jfs_init to initialize the system. Call
52480 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52481 grub_pc_partition_map_fini to finish the system.
52482
52483 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52484
52485 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52486 function.
52487 (grub_multiboot_load_elf32): Likewise.
52488 (grub_multiboot_is_elf64): Likewise.
52489 (grub_multiboot_load_elf64): Likewise.
52490 (grub_multiboot_load_elf): Likewise.
52491 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52492 an ELF32 or ELF64 file.
52493 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52494
52495 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52496 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52497 NULL before calling FS->LABEL.
52498 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52499 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52500 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52501 before calling FS->LABEL.
52502
52503 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52504
52505 * util/i386/pc/grub-install.in (datadir): New variable.
52506 (libdir): Removed.
52507 (pkgdatadir): New variable.
52508 (pkglibdir): Removed.
52509
52510 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52511
52512 * DISTLIST: Added util/i386/pc/grub-install.in.
52513
52514 * util/i386/pc/grub-install.in: New file.
52515
52516 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52517 (grub_install_SOURCES): Likewise.
52518
52519 * genmk.rb: Added support for scripts.
52520 (Script): New class.
52521 (scripts): New variable.
52522
52523 * Makefile.in (install-local): Install sbin_SCRIPTS by
52524 INSTALL_SCRIPT.
52525 (uninstall): Remove sbin_SCRIPTS.
52526
52527 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52528 device, try to get a GRUB device by
52529 grub_util_biosdisk_get_grub_dev.
52530 Free DEST_DEV.
52531
52532 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52533 description for --device-map.
52534
52535 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52536
52537 Change the semantics of variable hooks. They now return strings
52538 instead of error values.
52539
52540 * util/i386/pc/grub-setup.c: Include grub/env.h.
52541 (setup): Use grub_device_set_root instead of grub_env_set.
52542
52543 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52544 grub_env_get instead of grub_device_set_root and
52545 grub_device_get_root, respectively.
52546
52547 * kern/main.c (grub_env_write_root): New function.
52548 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52549 grub_env_set instead of grub_device_set_root.
52550
52551 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52552 many variables.
52553 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52554 rather than calling ENV->WRITE_HOOK afterwards.
52555 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52556 passing a pointer of a pointer.
52557 (grub_register_variable_hook): Change the types of "read_hook" and
52558 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52559 respectively.
52560 Allocate the default empty string on the heap, because this string
52561 may be freed later.
52562
52563 * kern/device.c: Include grub/env.h.
52564 (grub_device_set_root): Removed.
52565 (grub_device_get_root): Likewise.
52566 (grub_device_open): Use grub_env_get instead of
52567 grub_device_get_root.
52568
52569 * include/grub/env.h (grub_env_read_hook_t): New type.
52570 (grub_env_write_hook_t): Likewise.
52571 (grub_env_var): Change the types of "read_hook" and "write_hook"
52572 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52573 (grub_register_variable_hook): Likewise.
52574
52575 * include/grub/device.h (grub_device_set_root): Removed.
52576 (grub_device_set_root): Likewise.
52577
52578 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52579 make sure that DIRNAME terminates with '/', so that
52580 grub_fat_find_dir will fail if PATH is not a directory.
52581
52582 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52583 from DIRNAME.
52584 Use the qualifier auto for print_files and print_files_long.
52585 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52586 as a regular file.
52587 Put a newline only if there is no error.
52588 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52589 used.
52590
52591 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52592
52593 * kern/partition.c (grub_partition_probe): Initialize PART to
52594 NULL. Otherwise, when no partition map is registered, this returns
52595 a garbage.
52596
52597 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52598
52599 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52600 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52601 valid.
52602
52603 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52604
52605 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52606 information on each device, if it does not have partitions. Print
52607 "Device" instead of "Disk", because this function is not specific
52608 to disk devices.
52609
52610 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52611 static to ensure that it is put on the memory rather than a
52612 register.
52613
52614 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52615
52616 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52617 (grub_cat_init): Likewise.
52618 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52619 (options): Likewise.
52620 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52621 (grub_configfile_init): Likewise.
52622 * font/manager.c (GRUB_MOD_INIT): Likewise.
52623 * commands/help.c (GRUB_MOD_INIT): Likewise.
52624 (grub_help_init): Likewise.
52625 * normal/command.c (grub_command_init): Likewise.
52626 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52627 * disk/loopback.c (grub_loop_init): Likewise.
52628 (GRUB_MOD_INIT): Likewise.
52629 * commands/ls.c (grub_ls_init): Likewise.
52630 (GRUB_MOD_INIT): Likewise.
52631 (options): Likewise.
52632 * commands/boot.c (grub_boot_init): Likewise.
52633 (GRUB_MOD_INIT): Likewise.
52634 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52635 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52636 (GRUB_MOD_INIT): Likewise.
52637 * commands/cmp.c (grub_cmp_init): Likewise.
52638 (GRUB_MOD_INIT): Likewise.
52639
52640 * normal/arg.c: Use <> instead of "" to include header files.
52641 (SHORT_ARG_HELP): New macro.
52642 (SHORT_ARG_USAGE): Likewise.
52643 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52644 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52645 descriptions.
52646 (find_short): Check if C is 'h' or 'u' explicitly.
52647 (grub_arg_show_help): Use space characters instead of tabs. Treat
52648 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52649 are shown with --help and --usage only if they are not used for
52650 the command itself.
52651 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52652 'h' and 'u'.
52653
52654 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52655 const into "longarg". Change the type of "shortarg" to int.
52656
52657 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52658
52659 * boot/i386/pc/boot.S (boot_drive_check): New label.
52660
52661 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52662 macro.
52663
52664 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52665 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52666
52667 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52668
52669 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52670 When turning off Gate A20, skip the check and return immediately,
52671 because this is not fatal usually.
52672
52673 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52674
52675 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52676 be 0x7C00 instead of 0x8000.
52677
52678 * boot/i386/pc/pxeboot.S: Rewritten.
52679
52680 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52681 EXT_C.
52682 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52683 result.
52684
52685 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52686
52687 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52688 robustness. This routine now supports a BIOS call and System
52689 Control Port A to modify the gate A20.
52690
52691 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52692 Increased to 0x440.
52693
52694 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52695
52696 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52697 device path and resulting ihandle.
52698 (grub_ofdisk_close): dprintf the ihandle being closed.
52699 (grub_ofdisk_read): dprintf function parameters.
52700 * kern/mm.c (grub_mm_init_region): Likewise.
52701 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52702 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52703 size, and boot arguments.
52704 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52705 before loading into memory.
52706 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52707 before loading into memory.
52708
52709 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52710
52711 * kern/mm.c: Added much documentation.
52712 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52713 8, set to 5 instead of 8.
52714
52715 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52716
52717 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52718
52719 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52720 (grub_mkdevicemap_SOURCES): New variable.
52721
52722 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52723 lib/device.c of GRUB Legacy.
52724
52725 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52726
52727 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52728 instead of PATH is NULL.
52729
52730 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52731
52732 * commands/cmp.c (BUFFER_SIZE): New macro.
52733 (grub_cmd_cmp): Close the right file at the right time. Compare
52734 only data just read. Don't report files of different size as
52735 identical. Dynamically allocate buffers. Move variable
52736 declarations at the beginning of function.
52737
52738 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
52739
52740 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52741 reverse.
52742
52743 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52744
52745 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52746 when backspace is pressed at beginning of line.
52747
52748 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
52749
52750 * DISTLIST: Added genfslist.sh.
52751
52752 * normal/main.c (fs_module_list): New variable.
52753 (autoload_fs_module): New function.
52754 (read_fs_list): Likewise.
52755 (grub_normal_execute): Call read_fs_list.
52756
52757 * kern/fs.c (grub_fs_autoload_hook): New variable.
52758 (grub_fs_probe): Added support for auto-loading.
52759
52760 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52761 (grub_fs_module_list_t): New type.
52762
52763 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52764 (grub_fs_autoload_hook): New prototype.
52765
52766 * genfslist.sh: New file.
52767
52768 * genmk.rb: Added a rule to generate a filesystem list.
52769
52770 2005-06-30 Marco Gerards <metgerards@student.han.nl>
52771
52772 * configure.ac: Fix the test for cross-compiling.
52773
52774 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52775 define GRUB_UTIL anymore.
52776
52777 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52778 so this function works on other systems than just big endian.
52779 (load_modules): Likewise.
52780 (add_segments): Likewise.
52781
52782 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52783
52784 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52785 contains `l' modifier, get a long from va_arg().
52786
52787 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52788
52789 * kern/mm.c (grub_free): If the next free block which is being
52790 merged is the first free block, set the first block to the block
52791 being freed.
52792 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52793
52794 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52795
52796 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52797 `grub_ieee1275_chosen'.
52798
52799 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52800
52801 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52802 (grub_ieee1275_chosen): New variable.
52803 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52804 `chosen'.
52805 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52806 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52807 Rename first argument to `phandle' for consistency.
52808 (grub_ieee1275_get_property_length): Likewise.
52809 (grub_ieee1275_next_property): Likewise. Change type of first argument
52810 to grub_ieee1275_phandle_t.
52811 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52812 Move export next to declaration.
52813 (grub_ieee1275_chosen): New variable.
52814 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52815 Correct cosmetic typo.
52816 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52817 `grub_ieee1275_chosen'.
52818 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52819 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52820 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52821 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52822 `grub_ieee1275_chosen'.
52823
52824 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52825
52826 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52827 /chosen/bootargs.
52828 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52829 /chosen/bootargs as "variable=value" pairs.
52830
52831 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52832
52833 * include/grub/misc.h (grub_dprintf): New macro.
52834 (grub_real_dprintf): New prototype.
52835 (grub_strword): Likewise.
52836 (grub_iswordseparator): Likewise.
52837 * kern/misc.c (grub_real_dprintf): New function.
52838 (grub_strword): Likewise.
52839 (grub_iswordseparator): Likewise.
52840
52841 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52842
52843 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52844 (roundup): Remove macro.
52845 (grub_ieee1275_flags): Make static.
52846 (grub_ieee1275_realmode): Remove.
52847 (grub_ieee1275_test_flag): New function.
52848 (grub_ieee1275_set_flag): Likewise.
52849 (find_options): Rename to `grub_ieee1275_find_options'; update
52850 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52851 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52852 (cmain): New prototype.
52853 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52854 `grub_ieee1275_flags' directly.
52855 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52856 machine/biosdisk.h.
52857 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52858 Don't include grub/machine/init.h.
52859 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52860 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52861 Remove prototype.
52862 (grub_ieee1275_realmode): Likewise.
52863 (grub_ieee1275_flag): New enum.
52864 (grub_ieee1275_test_flag): New prototype.
52865 (grub_ieee1275_set_flag): New prototype.
52866 * include/grub/powerpc/ieee1275/init.h: Remove file.
52867 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52868 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52869 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52870 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52871 comment.
52872 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52873 `grub_ieee1275_test_flag'.
52874 (grub_ieee1275_encode_devname): Likewise.
52875
52876 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52877
52878 * include/grub/powerpc/ieee1275/ieee1275.h
52879 (grub_ieee1275_encode_devname): New prototype.
52880 (grub_ieee1275_get_filename): Likewise.
52881 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52882 function.
52883 (grub_set_prefix): Likewise.
52884 (grub_machine_init): Call grub_set_prefix.
52885 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52886 (grub_parse_type): New enum.
52887 (grub_ieee1275_get_devargs): New function.
52888 (grub_ieee1275_get_devname): Likewise.
52889 (grub_ieee1275_parse_args): Likewise.
52890 (grub_ieee1275_get_filename): Likewise.
52891 (grub_ieee1275_encode_devname): Likewise.
52892
52893 2005-03-30 Marco Gerards <metgerards@student.han.nl>
52894
52895 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52896 `grub_loader_unset'.
52897
52898 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52899
52900 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52901 instead of grub_ieee1275_interpret.
52902 (grub_halt_init): New function.
52903 (grub_halt_fini): Likewise.
52904 (GRUB_MOD_INIT): Correct message grammar.
52905 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52906 instead of grub_ieee1275_interpret.
52907 (grub_reboot_init): New function.
52908 (grub_reboot_fini): Likewise.
52909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52910 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52911 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52912 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52913 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52914 function.
52915 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52916 Add prototype.
52917 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52918 prototype.
52919 (grub_halt): Likewise.
52920 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52921 (cmain): Remove __attribute__((unused)).
52922 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52923 (grub_heap_len): Likewise.
52924 (grub_machine_fini): New function.
52925 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52926 (grub_halt): Likewise.
52927 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52928 function.
52929 * util/powerpc/ieee1275/misc.c: New file.
52930
52931 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52932
52933 * DISTLIST: New file.
52934 * gendistlist.sh: Likewise.
52935
52936 * Makefile.in (COMMON_DISTFILES): Removed.
52937 (BOOT_DISTFILES): Likewise.
52938 (CONF_DISTFILES): Likewise.
52939 (DISK_DISTFILES): Likewise.
52940 (FS_DISTFILES): Likewise.
52941 (INCLUDE_DISTFILES): Likewise.
52942 (KERN_DISTFILES): Likewise.
52943 (LOADER_DISTFILES): Likewise.
52944 (TERM_DISTFILES): Likewise.
52945 (UTIL_DISTFILES): Likewise.
52946 (DISTFILES): Likewise.
52947 (uninstall): Uninstall files in $(pkgdata_DATA).
52948 (DISTLIST): New target.
52949 (distdir): Use the contents of the file DISTLIST to get a list of
52950 distributed files.
52951
52952 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52953
52954 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52955 descriptor. This is ported from GRUB Legacy.
52956
52957 * gencmdlist.sh: Added an extra semicolon to make it work with
52958 old sed versions. Reported by Robert Bihlmeyer
52959 <robbe@orcus.priv.at>.
52960
52961 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
52962
52963 Automatic loading of commands is supported.
52964
52965 * normal/main.c (read_command_list): New function.
52966 (grub_normal_execute): Call read_command_list.
52967
52968 * normal/command.c (grub_register_command): Return zero or CMD.
52969 Allocate CMD->NAME from the heap.
52970 Initialize CMD->MODULE_NAME to zero.
52971 Find the same name as well. If the same command is found and it is
52972 a dummy command, overwrite members. If it is not a dummy command,
52973 return zero.
52974 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52975 (grub_command_find): If a dummy command is found, load a module
52976 and retry to find a command only once.
52977
52978 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52979 make sure that each command is loaded.
52980
52981 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52982 macro.
52983 (struct grub_command): Remove const from the member `name'.
52984 Add a new member `module_name'.
52985 (grub_register_command): Return grub_command_t.
52986
52987 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52988 sure that each command is loaded.
52989
52990 * genmk.rb (PModule::rule): Specify a module name without the
52991 suffix ".mod" to gencmdlist.sh.
52992
52993 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52994
52995 * gencmdlist.sh: New file.
52996
52997 * genmk.rb (PModule::rule): Generate a rule for a command list.
52998 Clean command.lst.
52999 Generate command.lst from $(COMMANDFILES).
53000
53001 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
53002 (DATA): Added $(pkgdata_DATA).
53003 (install-local): Install files in $(pkgdata_DATA).
53004
53005 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53006
53007 * term/i386/pc/vga.c (debug_command): Removed.
53008 (GRUB_MOD_INIT): Do not register the command "debug".
53009
53010 From Hollis Blanchard:
53011 * commands/configfile.c: New file.
53012 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53013 commands/configfile.c.
53014 (pkgdata_MODULES): Added configfile.mod.
53015 (configfile_mod_SOURCES): New variable.
53016 (configfile_mod_CFLAGS): Likewise.
53017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
53018 commands/configfile.c.
53019 (pkgdata_MODULES): Added configfile.mod.
53020 (configfile_mod_SOURCES): New variable.
53021 (configfile_mod_CFLAGS): Likewise.
53022 * util/grub-emu.c (main): Call grub_configfile_init and
53023 grub_configfile_fini.
53024 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
53025 prototype.
53026 [GRUB_UTIL] (grub_configfile_fini): Likewise.
53027
53028 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53029
53030 * normal/arg.c (grub_arg_show_help): Do not show the bug report
53031 address.
53032
53033 * commands/help.c (grub_cmd_help): Do not print newlines after
53034 the last command in print_command_help.
53035
53036 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53037
53038 * commands/default.h: New file.
53039 * commands/timeout.h: Likewise.
53040 * normal/context.c: Likewise.
53041
53042 * util/misc.c: Do not include sys/times.h.
53043 Include sys/time.h and grub/machine/time.h.
53044 (grub_get_rtc): Rewritten with gettimeofday.
53045
53046 * util/grub-emu.c (main): Call grub_default_init and
53047 grub_timeout_init before grub_normal_init, and call
53048 grub_timeout_fini and grub_default_fini after grub_main.
53049
53050 * util/console.c (grub_ncurses_checkkey): Return the read
53051 character or -1.
53052
53053 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
53054 timeouts.
53055
53056 * normal/main.c (read_config_file): Push MENU. If this fails,
53057 print an error and wait for a user input.
53058 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
53059 If a menu is empty or an error occurs, pop MENU.
53060 (grub_normal_execute): Pop and free MENU after grub_menu_run
53061 returns.
53062
53063 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
53064
53065 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
53066 include time.h.
53067 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53068 without GRUB_UTIL.
53069 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
53070 time.h.
53071 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53072 without GRUB_UTIL.
53073
53074 * include/grub/normal.h (struct grub_menu_list): New struct.
53075 (grub_menu_list_t): New type.
53076 (struct grub_context): New struct.
53077 (grub_context_t): New type.
53078 (grub_register_command): Got rid of EXPORT_FUNC.
53079 (grub_unregister_command): Likewise.
53080 (grub_context_get): New prototype.
53081 (grub_context_get_current_menu): Likewise.
53082 (grub_context_push_menu): Likewise.
53083 (grub_context_pop_menu): Likewise.
53084 [GRUB_UTIL] (grub_default_init): Likewise.
53085 [GRUB_UTIL] (grub_default_fini): Likewise.
53086 [GRUB_UTIL] (grub_timeout_init): Likewise.
53087 [GRUB_UTIL] (grub_timeout_fini): Likewise.
53088
53089 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
53090 commands/timeout.c and normal/context.c.
53091 (pkgdata_MODULES): Added default.mod and timeout.mod.
53092 (normal_mod_SOURCES): Added normal/context.c.
53093 (default_mod_SOURCES): New variable.
53094 (default_mod_CFLAGS): Likewise.
53095 (timeout_mod_SOURCES): Likewise.
53096 (timeout_mod_CFLAGS): Likewise.
53097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
53098 conf/i386-pc.rmk.
53099 (pkgdata_MODULES): Added default.mod and timeout.mod.
53100 (normal_mod_SOURCES): Added normal/context.c.
53101 (default_mod_SOURCES): New variable.
53102 (default_mod_CFLAGS): Likewise.
53103 (timeout_mod_SOURCES): Likewise.
53104 (timeout_mod_CFLAGS): Likewise.
53105
53106 * Makefile.in (all-local): Added $(MKFILES).
53107
53108 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
53109
53110 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
53111 (grub_emu_SOURCES): Likewise.
53112 (pkgdata_MODULES): Add `sun.mod'.
53113 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53115 `partmap/sun.c'.
53116 (pkgdata_MODULES): Add `sun.mod'.
53117 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53118 * include/grub/partition.h (grub_sun_partition_map_init): New
53119 prototype.
53120 (grub_sun_partition_map_fini): Likewise.
53121 * partmap/sun.c: New file.
53122 * util/grub-emu.c (main): Initialize and de-initialize the sun
53123 partitionmap support.
53124
53125 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
53126
53127 This implements an Emacs-like menu entry editor.
53128
53129 * normal/menu_entry.c: New file.
53130
53131 * util/console.c (grub_ncurses_putchar): Translate some Unicode
53132 characters to ASCII.
53133 (saved_char): New variable.
53134 (grub_ncurses_checkkey): Rewritten completely.
53135 (grub_ncurses_getkey): Likewise.
53136 (grub_ncurses_init): Call raw instead of cbreak.
53137
53138 * normal/menu.c (print_entry): Do not put a space.
53139 (init_page): Renamed to ...
53140 (grub_menu_init_page): ... this. All callers changed.
53141 (edit_menu_entry): Removed.
53142 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53143
53144 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53145
53146 * kern/misc.c (grub_vprintf): Call grub_refresh.
53147
53148 * normal/menu.c (DISP_LEFT): Renamed to ...
53149 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53150 * normal/menu.c (DISP_UP): Renamed to ...
53151 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53152 * normal/menu.c (DISP_RIGHT): Renamed to ...
53153 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53154 * normal/menu.c (DISP_DOWN): Renamed to ...
53155 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53156 * normal/menu.c (DISP_HLINE): Renamed to ...
53157 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53158 * normal/menu.c (DISP_VLINE): Renamed to ...
53159 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53160 * normal/menu.c (DISP_UL): Renamed to ...
53161 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53162 * normal/menu.c (DISP_UR): Renamed to ...
53163 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53164 * normal/menu.c (DISP_LL): Renamed to ...
53165 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53166 * normal/menu.c (DISP_LR): Renamed to ...
53167 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53168 * normal/menu.c (TERM_WIDTH): Renamed to ...
53169 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53170 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53171 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53172 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53173 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53174 * normal/menu.c (TERM_MARGIN): Renamed to ...
53175 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53176 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53177 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53178 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53179 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53180 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53181 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53182 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53183 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53184 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53185 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53186 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53187 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53188 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53189 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53190 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53191 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53192 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53193 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53194 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53195 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53196 All callers changed.
53197
53198 * include/grub/normal.h: New prototype.
53199
53200 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53201 normal/menu_entry.c.
53202 (normal_mod_SOURCES): Likewise.
53203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53204 (normal_mod_SOURCES): Likewise.
53205
53206 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53207
53208 * include/grub/normal.h (grub_halt_init): New prototype.
53209 (grub_halt_fini): Likewise.
53210 (grub_reboot_init): Likewise.
53211 (grub_reboot_fini): Likewise.
53212
53213 * util/grub-emu.c: Include signal.h.
53214 (main_env): New global variable.
53215 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53216 catch C-c.
53217 (grub_machine_fini): New function.
53218 (main): Call grub_halt_init and grub_reboot_init before
53219 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53220 Call setjmp with MAIN_ENV to go back afterwards.
53221 Call grub_machine_fini right before return.
53222
53223 * include/grub/util/misc.h: Include setjmp.h.
53224 (main_env): New prototype.
53225
53226 * include/grub/kernel.h (grub_machine_fini): New prototype.
53227 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53228 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53229
53230 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53231 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53232 * term/i386/pc/console.c (grub_console_fini): Likewise.
53233
53234 * util/i386/pc/misc.c: New file.
53235
53236 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53237 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53238 commands/i386/pc/reboot.c.
53239
53240 2005-02-14 Guillem Jover <guillem@hadrons.org>
53241
53242 * include/grub/dl.h (grub_dl_check_header): New prototype.
53243 (grub_arch_dl_check_header): Change return type to grub_err_t,
53244 remove size parameter and export function. Update all callers.
53245 * kern/dl.c (grub_dl_check_header): New function.
53246 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53247 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53248 are inside the core.
53249 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53250 independent ELF header checks.
53251 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53252 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53253 `grub_dl_check_header' instead of explicit checks. Check for the
53254 ELF type.
53255 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53256 `grub_dl_check_header' instead of explicit checks. Remove arch
53257 specific ELF header checks.
53258
53259 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53260 argument SIZE.
53261
53262 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53263
53264 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53265 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53266
53267 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53268
53269 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
53270 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
53271 (part_map_iterate): Clear `grub_errno' and return 0 if
53272 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
53273 * partmap/amiga.c (amiga_partition_map_iterate): Return
53274 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53275 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53276
53277 2005-02-01 Guillem Jover <guillem@hadrons.org>
53278
53279 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53280 help info.
53281
53282 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53283
53284 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53285 Removed prototype.
53286 (grub_rescue_cmd_linux): New prototype.
53287 (grub_rescue_cmd_initrd): Likewise.
53288 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53289 `bi_rec'.
53290 (grub_linux_release_mem): Release the memory for the initrd.
53291 (grub_load_linux): Renamed from this...
53292 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53293 Changed `entry' not to be static. Loop over memory regions to
53294 find another one when the default fails.
53295 (grub_rescue_cmd_initrd): New function.
53296 (grub_linux_init): Remove function.
53297 (grub_linux_fini): Likewise.
53298 (GRUB_MOD_INIT): Register `initrd'.
53299 (GRUB_MOD_FINI): Unregister `initrd'.
53300 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53301 Function removed.
53302 (grub_linux_normal_fini): Likewise.
53303 (GRUB_MOD_INIT): Register `initrd'.
53304 (GRUB_MOD_FINI): Unregister `initrd'.
53305
53306 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53307
53308 * commands/help.c: New file.
53309 * normal/arg.c (show_help): Renamed to...
53310 (grub_arg_show_help): ... this.
53311 * commands/i386/pc/halt.c: New file.
53312 * commands/i386/pc/reboot.c: Likewise.
53313 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53314 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53315 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53316 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53317 variables.
53318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53319 `commands/help.c'.
53320 (pkgdata_MODULES): Add `help.mod'.
53321 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53322 * grub/i386/pc/init.h (grub_reboot): New prototype.
53323 (grub_halt): Likewise.
53324 * include/grub/normal.h (grub_arg_show_help): New prototype.
53325 (grub_help_init): Likewise.
53326 (grub_help_fini): Likewise.
53327 * util/grub-emu.c (main): Initialize and deinitialize the help
53328 command.
53329
53330 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53331
53332 * normal/command.c (grub_command_init): Fixed the description of
53333 the `set' and `unset' commands.
53334
53335 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53336
53337 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53338 function.
53339 * commands/ieee1275/halt.c: New file.
53340 * commands/ieee1275/reboot.c: Likewise.
53341 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53342 `__attribute__ ((unused))'. Some GCS related fixed.
53343 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53344 (grub_suspend_fini): Likewise.
53345 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53346 and `halt.mod'.
53347 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53348 (halt_mod_CFLAGS): New variables.
53349 * include/grub/powerpc/ieee1275/ieee1275.h
53350 (grub_ieee1275_interpret): New prototype.
53351
53352 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53353
53354 * include/grub/misc.h (memmove): New prototype.
53355 (memcpy): Likewise.
53356
53357 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53358
53359 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53360 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53361
53362 2005-01-22 Marco Gerards <metgerards@student.han.nl>
53363
53364 * kern/misc.c (grub_strndup): Function rewritten.
53365
53366 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53367
53368 * normal/menu.c (TERM_WIDTH): Macro redefined.
53369 (TERM_TOP_BORDER_Y): Likewise.
53370 (draw_border): Replaced while-loop by a for-loop. Make the number
53371 of lines consistent with the number of lines displayed in
53372 print_entries. Added a margin below the rectangle.
53373 (print_entry): Make the entry fit in the rectangle.
53374 (print_entries): Display the scroll arrows next to the right
53375 border.
53376
53377 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53378
53379 * fs/minix.c (grub_minix_find_file): Reserve more space for
53380 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53381 `grub_strncpy' to copy `path' into it.
53382
53383 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53384
53385 Add the loopback device, a device via which files can be accessed
53386 as devices.
53387
53388 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53389 (pkgdata_MODULES): Add loopback.mod.
53390 (loopback_mod_SOURCES): New variable.
53391 (loopback_mod_CFLAGS): Likewise.
53392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53393 `disk/loopback.c'.
53394 (pkgdata_MODULES): Add loopback.mod.
53395 (loopback_mod_SOURCES): New variable.
53396 (loopback_mod_CFLAGS): Likewise.
53397 * disk/loopback.c: new file.
53398 * include/grub/normal.h (grub_loop_init): New prototype.
53399 (grub_loop_fini): New prototype.
53400 * util/grub-emu.c (main): Initialize and de-initialize loopback
53401 support.
53402 * include/grub/disk.h (grub_disk_dev_id): Add
53403 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53404
53405 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53406
53407 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53408 function.
53409 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53410 (suspend_mod_SOURCES): New variable.
53411 (suspend_mod_CFLAGS): Likewise.
53412 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53413 New prototype.
53414 * commands/ieee1275/suspend.c: New file.
53415
53416 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53417
53418 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
53419 ((unused))' to `__attribute__ ((used))'.
53420 (GRUB_MOD_FINI): Likewise.
53421 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53422 * genmk.rb (PModule): Assign space to common symbols when linking
53423 modules.
53424
53425 2005-01-20 Marco Gerards <metgerards@student.han.nl>
53426
53427 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53428 `unsigned' arguments to `grub_size_t'.
53429 (grub_malloc): Likewise.
53430 (grub_realloc): Likewise.
53431 (grub_memalign): Likewise.
53432 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53433 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53434 * util/misc.c (grub_malloc): Likewise.
53435 (grub_realloc): Likewise.
53436 * kern/mm.c (get_header_from_pointer): Change the casts to
53437 `unsigned' into a cast to `grub_size_t'.
53438
53439 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53440 point to `currnode' when `currnode' is changed.
53441
53442 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53443 Schottelius <nico-linux@schottelius.org>.
53444
53445 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53446
53447 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53448 (note_path): Remove variable.
53449 (GRUB_IEEE1275_NOTE_NAME): New macro.
53450 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53451 (grub_ieee1275_note_hdr): New structure.
53452 (grub_ieee1275_note_desc): Likewise.
53453 (grub_ieee1275_note): Likewise.
53454 (load_note): Remove `dir' argument. All callers updated. Remove
53455 `note_img' and `path'. Do not load a file from `note_path'.
53456 Initialize a struct grub_ieee1275_note and write that to `out'.
53457 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53458
53459 2005-01-05 Marco Gerards <metgerards@student.han.nl>
53460
53461 * util/misc.c (grub_util_read_image): Revert last change. It
53462 called `grub_util_read_at', which seeks from the beginning of the
53463 file.
53464
53465 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53466
53467 * TODO: Add note about endianness in grub-mkimage.
53468 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53469 section.
53470 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53471 (grub_mkimage_SOURCES): New target.
53472 * include/grub/kernel.h (grub_start_addr): Remove variable.
53473 (grub_end_addr): Likewise.
53474 (grub_total_module_size): Likewise.
53475 (grub_kernel_image_size): Likewise.
53476 (GRUB_MODULE_MAGIC): New constant.
53477 (grub_module_info): New structure.
53478 (grub_arch_modules_addr): New prototype.
53479 (grub_get_end_addr): Remove prototype.
53480 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53481 * include/grub/powerpc/ieee1275/kernel.h: New file.
53482 * include/grub/util/misc.h (grub_util_get_fp_size): New
53483 prototype.
53484 (grub_util_read_at): Likewise.
53485 (grub_util_write_image_at): Likewise.
53486 * kern/main.c (grub_get_end_addr): Remove function.
53487 (grub_load_modules): Call grub_arch_modules_addr instead of using
53488 grub_end_addr. Look for a grub_module_info struct in memory. Use
53489 the grub_module_info fields instead of calling grub_get_end_addr
53490 as loop conditions. Move grub_add_unused_region code here.
53491 (grub_add_unused_region): Remove function.
53492 * kern/i386/pc/init.c: Include grub/cache.h.
53493 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53494 one call to add_mem_region.
53495 (grub_arch_modules_addr): New function.
53496 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53497 (grub_total_module_size): Likewise.
53498 Include grub/machine/kernel.h.
53499 (grub_arch_modules_addr): New function.
53500 * util/grub-emu.c (grub_end_addr): Remove variable.
53501 (grub_total_module_size): Likewise.
53502 (grub_arch_modules_addr): New function.
53503 * util/misc.c: Include unistd.h.
53504 (grub_util_get_fp_size): New function.
53505 (grub_util_read_at): Likewise.
53506 (grub_util_write_image_at): Likewise.
53507 (grub_util_read_image): Call grub_util_read_at.
53508 (grub_util_write_image): Call grub_util_write_image_at.
53509 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53510 additional memory in kernel_img for a struct grub_module_info.
53511 Fill in that grub_module_info.
53512 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53513
53514 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53515
53516 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53517 New function.
53518 * include/grub/powerpc/ieee1275/ieee1275.h
53519 (grub_ieee1275_milliseconds): New prototype.
53520 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53521 Change to 1000.
53522 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53523 grub_ieee1275_milliseconds.
53524
53525 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53526
53527 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53528 variable.
53529 (find_options): New function.
53530 (cmain): Call find_options.
53531 * include/grub/powerpc/ieee1275/ieee1275.h
53532 (grub_ieee1275_realmode): New extern variable.
53533 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53534 grub_map if grub_ieee1275_realmode is false.
53535
53536 2004-12-29 Marco Gerards <metgerards@student.han.nl>
53537
53538 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53539 lines are inserted and make it work like readline. Reported by
53540 Vincent Pelletier <subdino2004@yahoo.fr>.
53541
53542 2004-12-28 Marco Gerards <metgerards@student.han.nl>
53543
53544 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53545
53546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53547 `kern/powerpc/cache.S'.
53548
53549 2004-12-27 Marco Gerards <metgerards@student.han.nl>
53550
53551 * genmk.rb: Handle the `Program' class in the main loop. Written
53552 by Johan Rydberg <jrydberg@gnu.org>.
53553 (Program): New class.
53554 (programs): New variable.
53555 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53556 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53557 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53558 (help_arch): Function removed.
53559 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53560 `powerpc/libgcc.h' and `loader.h'.
53561 (pkgdata_PROGRAMS): New variable.
53562 (sbin_UTILITIES): Variable removed.
53563 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53564 (grubof_SOURCES): Variable re-defined so it only includes the
53565 core functionality.
53566 (grubof_CFLAGS): Remove `-DGRUBOF'.
53567 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53568 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53569 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53570 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53571 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53572 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53573 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53574 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53575 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53576 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53577 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53578 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53579 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53580 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53581 (pc_mod_CFLAGS): New variables.
53582 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53583 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53584 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53585 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53586 Moved from here...
53587 * include/grub/i386/pc/init.h (grub_os_area_addr)
53588 (rub_os_area_size): ... to here.
53589 * include/grub/powerpc/ieee1275/ieee1275.h
53590 (grub_ieee1275_entry_fn): Export symbol.
53591 * include/grub/powerpc/ieee1275/init.h: New file.
53592 * include/grub/powerpc/libgcc.h: Likewise.
53593 * include/grub/cache.h: Likewise.
53594 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53595 <hollis@penguinppc.org>.
53596 * kern/dl.c: Include <grub/cache.h>.
53597 (grub_dl_flush_cache): New function.
53598 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53599 for this module.
53600 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53601 (grub_console_init): Removed prototypes.
53602 (grub_machine_init): Don't initialize the modules anymore.
53603 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53604 static.
53605 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53606 Macro undef removed.
53607 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53608 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53609 relocation `R_PPC_REL32'. Return an error when the relocation is
53610 unknown.
53611 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53612 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53613 * util/misc.c (grub_arch_sync_caches): Likewise.
53614
53615 2004-12-19 Marco Gerards <metgerards@student.han.nl>
53616
53617 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53618 `symlist.c', add `grubof_symlist.c'.
53619 (symlist.c): Variable removed.
53620 (grubof_HEADERS): Variable added.
53621 (grubof_symlist.c): New target.
53622 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53623 `kernel_img_HEADERS'.
53624 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53625 * kern/powerpc/dl.c: New file.
53626 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53627 Function removed.
53628 (grub_arch_dl_relocate_symbols): Likewise.
53629 (grub_register_exported_symbols): Likewise.
53630
53631 2004-12-13 Marco Gerards <metgerards@student.han.nl>
53632
53633 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53634 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53635 to fail instead. Reported by Vincent Pelletier
53636 <subdino2004@yahoo.fr>.
53637
53638 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53639 it is not allocated. Reported by Vincent Pelletier
53640 <subdino2004@yahoo.fr>.
53641
53642 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53643 output so the output looks better.
53644
53645 2004-12-04 Marco Gerards <metgerards@student.han.nl>
53646
53647 Modulize the partition map support and add support for the amiga
53648 partition map.
53649
53650 * commands/ls.c: Include <grub/partition.h> instead of
53651 <grub/machine/partition.h>.
53652 * kern/disk.c: Likewise.
53653 * kern/rescue.c: Likewise.
53654 * loader/i386/pc/chainloader.c: Likewise.
53655 * normal/cmdline.c: Likewise.
53656 * kern/powerpc/ieee1275/init.c: Likewise.
53657 (grub_machine_init): Call `grub_pc_partition_map_init',
53658 `grub_amiga_partition_map_init' and
53659 `grub_apple_partition_map_init'.
53660 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53661 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53662 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53663 `partition.h' and `pc_partition.h'.
53664 (grub_setup_SOURCES): Remove
53665 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53666 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53667 (grub_emu_SOURCES): Likewise.
53668 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53669 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53670 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53672 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53673 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53674 (grubof_SOURCES): Likewise.
53675 * disk/i386/pc/partition.c: File removed.
53676 * disk/powerpc/ieee1275/partition.c: Likewise.
53677 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53678 * include/grub/i386/pc/partition.h: Likewise.
53679 * kern/partition.c: New file.
53680 * partmap/amiga.c: Likewise.
53681 * partmap/apple.c: Likewise.
53682 * partmap/pc.c: Likewise.
53683 * include/grub/partition.h: Likewise..
53684 * include/grub/pc_partition.h: Likewise.
53685 * util/grub-emu.c: Include <grub/partition.h> instead of
53686 <grub/machine/partition.h>.
53687 (main): Call `grub_pc_partition_map_init',
53688 `grub_amiga_partition_map_init' and
53689 `grub_apple_partition_map_init' and deinitialize afterwards.
53690 * util/i386/pc/biosdisk.c: Include `#include
53691 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53692 `<grub/machine/partition.h>'.
53693 * util/i386/pc/grub-setup.c: Likewise.
53694 * util/i386/pc/biosdisk.c: Likewise.
53695 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53696 partition information in case of a PC partition.
53697 * util/i386/pc/grub-setup.c: Include `#include
53698 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53699 `<grub/machine/partition.h>'.
53700 (setup): Only access the PC specific partition information in case
53701 of a PC partition.
53702
53703 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
53704
53705 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53706 (grub_longjmp): Likewise.
53707 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53708 20.
53709 * normal/powerpc/setjmp.S: New file.
53710 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53711 `normal/powerpc/setjmp.S'.
53712 (grubof_CFLAGS): Add `-DGRUBOF'.
53713 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53714 [GRUB_UTIL && !GRUBOF].
53715
53716 2004-11-16 Marco Gerards <metgerards@student.han.nl>
53717
53718 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53719 property named `name'. Correctly handle the error returned by
53720 `grub_ieee1275_finddevice' if a device can not be opened.
53721
53722 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53723
53724 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53725 `actual' for negativity.
53726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53727 kern/fshelp.c.
53728
53729 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53730
53731 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53732 (PAGE_OFFSET): New macro.
53733 (CRTC_ADDR_PORT): Likewise.
53734 (CRTC_DATA_PORT): Likewise.
53735 (START_ADDR_HIGH_REGISTER): Likewise.
53736 (START_ADDR_LOW_REGISTER): Likewise.
53737 (GRAPHICS_ADDR_PORT): Likewise.
53738 (GRAPHICS_DATA_PORT): Likewise.
53739 (READ_MAP_REGISTER): Likewise.
53740 (INPUT_STATUS1_REGISTER): Likewise.
53741 (INPUT_STATUS1_VERTR_BIT): Likewise.
53742 (page): New variable.
53743 (wait_vretrace): New function.
53744 (set_read_map): Likewise.
53745 (set_start_address): Likewise.
53746 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53747 the right page.
53748 (check_vga_mem): Take the page into account.
53749 (write_char): Likewise.
53750 (write_cursor): Likewise.
53751 (scroll_up): Likewise. Copy the page to the page that is not
53752 shown and switch between both pages.
53753 (grub_vga_putchar): Fix off by one error.
53754 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53755 account.
53756
53757 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53758
53759 Add support for iso9660 (including rockridge).
53760
53761 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53762 (iso9660_mod_SOURCES): New variable.
53763 (iso9660_mod_CFLAGS): Likewise.
53764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53765 * include/grub/fs.h (grub_iso9660_init): New prototype.
53766 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53767 * fs/iso9660.c: New file.
53768
53769 * include/grub/misc.h (grub_strncat): New prototype.
53770 * kern/misc.c (grub_strncat): New function.
53771
53772 * fs/hfs.c (grub_hfs_mount): Translate the error
53773 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53774 * fs/jfs.c (grub_jfs_mount): Likewise.
53775 * fs/ufs.c (grub_ufs_mount): Likewise.
53776
53777 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53778
53779 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53780 which initialized BAT registers.
53781 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53782 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53783 Move from here...
53784 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53785 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53786 ... to here.
53787 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53788 (grub_mapclaim): Likewise.
53789 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53790 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53791 hand.
53792
53793 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53794
53795 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53796 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53797 -ffreestanding and -msoft-float.
53798
53799 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53800
53801 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53802 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53803 set in grub_ieee1275_flags.
53804
53805 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53806
53807 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53808 prototype.
53809 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53810 grub_console_init first.
53811 Change the memory range used for grub_ieee1275_claim and
53812 grub_mm_init_region.
53813 Print an error message if the claim fails.
53814 Include <grub/misc.h>.
53815
53816 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53817
53818 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53819 Call grub_children_iterate for device nodes of type `scsi',
53820 `ide', or `ata'.
53821 (grub_ofdisk_open): Remove manual device alias resolution.
53822 Fix memory leak when device cannot be opened.
53823 * include/grub/powerpc/ieee1275/ieee1275.h
53824 (grub_children_iterate): New prototype.
53825 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53826 New function.
53827 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53828 Return -1 if args.size was -1.
53829
53830 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53831
53832 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53833 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53834 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53835 Open Firmware's memory for it; claim memory from _start to _end.
53836 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53837 (_end): New extern.
53838 (_start): Zero BSS from __bss_start to _end.
53839 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53840 New extern.
53841 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53842
53843 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53844
53845 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53846 -1 if args.base was -1.
53847
53848 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53849
53850 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53851 escape sequence instead of a literal ^L. Also call
53852 grub_ofconsole_gotoxy.
53853
53854 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53855
53856 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53857 void * arguments to grub_addr_t. All callers updated. Also make
53858 the `result' argument optional.
53859 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53860 All callers updated.
53861
53862 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53863
53864 * commands/ls.c (grub_ls_list_files): Use the string following the
53865 initial ')', if present, as the filesystem path.
53866 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53867
53868 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53869
53870 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53871
53872 Make the source code of the menu interface more readable.
53873
53874 * normal/menu.c: Include grub/mm.h.
53875 (TERM_WIDTH): New macro.
53876 (TERM_HEIGHT): Likewise.
53877 (TERM_INFO_HEIGHT): Likewise.
53878 (TERM_MARGIN): Likewise.
53879 (TERM_SCROLL_WIDTH): Likewise.
53880 (TERM_TOP_BORDER_Y): Likewise.
53881 (TERM_LEFT_BORDER_X): Likewise.
53882 (TERM_BORDER_WIDTH): Likewise.
53883 (TERM_MESSAGE_HEIGHT): Likewise.
53884 (TERM_BORDER_HEIGHT): Likewise.
53885 (TERM_NUM_ENTRIES): Likewise.
53886 (TERM_FIRST_ENTRY_Y): Likewise.
53887 (TERM_ENTRY_WIDTH): Likewise.
53888 (TERM_CURSOR_X): Likewise.
53889 (draw_border): Use macros instead of magic numbers.
53890 (print_entry): Likewise.
53891 (print_entries): Likewise.
53892 (run_menu): Likewise. Also, handle the key 'e'.
53893 (run_menu_entry): Ignore empty command lines.
53894 (print_message): Added a new argument EDIT. If EDIT is true,
53895 print a different message.
53896 (init_page): Likewise.
53897 (edit_menu_entry): New function. Not implemented yet.
53898
53899 2004-09-17 Marco Gerards <metgerards@student.han.nl>
53900
53901 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53902 can be loaded from normal mode.
53903
53904 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53905 `multiboot.mod'.
53906 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53907 (multiboot_mod_CFLAGS): New variables.
53908 * loader/i386/pc/linux_normal.c: New file.
53909 * loader/i386/pc/multiboot_normal.c: Likewise.
53910
53911 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53912 attribute `unused'.
53913
53914 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53915 `fdiro' to read the mode information from instead of `diro'.
53916
53917 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53918 looking up a symlink.
53919
53920 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53921 macro.
53922 * normal/command.c (grub_command_execute): Don't parse the
53923 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53924 flags of the command.
53925
53926 * normal/menu.c (grub_menu_run): Fix typo.
53927
53928 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53929
53930 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53931
53932 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53933 `y + 1' instead of `y - 1'.
53934
53935 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
53936
53937 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53938
53939 From Hollis Blanchard <hollis@penguinppc.org>:
53940 * kern/misc.c (memmove): New alias for grub_memmove.
53941 (memcmp): New alias for grub_memcmp.
53942 (memset): New alias for grub_memset.
53943 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53944 Change "int handle" to "grub_ieee1275_phandle_t handle".
53945 * include/grub/powerpc/ieee1275/ieee1275.h
53946 (grub_ieee1275_get_property): Likewise.
53947
53948 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53949
53950 Added normal mode command `chainloader' as module chain.mod, which
53951 depends on normal.mod and _chain.mod.
53952
53953 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53954 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53955 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53956 Deleted prototype.
53957 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53958 but arguments parsing moved to ...
53959 (grub_chainloader_cmd): ... here. New function.
53960 * include/grub/i386/pc/chainloader.h: New file.
53961 * loader/i386/pc/chainloader_normal.c: Likewise.
53962
53963 2004-09-11 Marco Gerards <metgerards@student.han.nl>
53964
53965 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53966 (grub_mkimage_LDFLAGS): Likewise.
53967 (grub_emu_SOURCES): Likewise.
53968 (kernel_img_HEADERS): Added fshelp.h.
53969 * fs/ext2.c: Include <grub/fshelp.h>.
53970 (FILETYPE_REG): New macro.
53971 (FILETYPE_INO_REG): Likewise.
53972 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53973 Changed all users.
53974 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53975 all users.
53976 (grub_fshelp_node): New struct.
53977 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53978 to a pointer.
53979 (grub_ext2_get_file_block): Removed function.
53980 (grub_ext2_read_block): New function.
53981 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53982 This function was written.
53983 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53984 (grub_ext2_find_file): Removed function.
53985 (grub_ext2_read_symlink): New function.
53986 (grub_ext2_iterate_dir): Likewise.
53987 (grub_ext2_open): Rewritten.
53988 (grub_ext2_dir): Rewritten.
53989 * include/grub/fshelp.h: New file.
53990 * fs/fshelp.c: Likewise.
53991
53992 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53993
53994 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53995 (print_message): Add a missing newline.
53996 (run_menu): Added timeout support.
53997 (run_menu_entry): New local function.
53998 (grub_menu_run): Added support for booting.
53999
54000 * kern/loader.c (grub_loader_is_loaded): New function.
54001
54002 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
54003 (grub_get_rtc): Exported.
54004
54005 * include/grub/i386/pc/time.h: Include grub/symbol.h.
54006 (grub_get_rtc): Exported.
54007
54008 * include/grub/normal.h (struct grub_command_list): Remove
54009 constant from the member `command'.
54010
54011 * include/grub/loader.h (grub_loader_is_loaded): Declared.
54012
54013 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
54014
54015 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
54016
54017 2004-08-28 Marco Gerards <metgerards@student.han.nl>
54018
54019 Add support for the JFS filesystem.
54020
54021 * fs/jfs.c: New file.
54022 * include/grub/fs.h (grub_jfs_init): New prototype.
54023 (grub_jfs_fini): New prototype.
54024 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
54025 (grub_emu_SOURCES): Likewise.
54026 (pkgdata_MODULES): Add jfs.mod.
54027 (jfs_mod_SOURCES): New variable.
54028 (jfs_mod_CFLAGS): Likewise.
54029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
54030 (grubof_SOURCES): Likewise.
54031 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
54032
54033 * fs/fat.c (grub_fat_find_dir): Convert the filename little
54034 endian to the host endian.
54035 (grub_fat_utf16_to_utf8): Move function from there...
54036 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
54037 the endianness of the source string anymore.
54038 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
54039
54040 2004-08-24 Marco Gerards <metgerards@student.han.nl>
54041
54042 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
54043 (grub_boot_fini) [GRUB_UTIL]: Likewise.
54044 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
54045 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
54046
54047 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
54048 (grub_hfs_iterate_dir): Make the function static. Add prototypes
54049 for `node_found' and `it_dir'.
54050 (grub_hfs_dir): Add prototype for `dir_hook'.
54051
54052 * fs/minix.c (grub_minix_get_file_block): Add prototype for
54053 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
54054 and `indir32' to silence a gcc warning.
54055
54056 * include/grub/fs.h (grub_hfs_init): New prototype.
54057 (grub_hfs_fini): Likewise.
54058
54059
54060 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
54061
54062 Each disk device has its own id now. This is useful to make use
54063 of multiple disk devices.
54064
54065 * include/grub/disk.h (grub_disk_dev_id): New enum.
54066 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
54067 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
54068
54069 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
54070 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54071
54072 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
54073 GRUB_DISK_DEVICE_OFDISK_ID as an id.
54074
54075 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
54076 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54077
54078 * include/grub/disk.h (struct grub_disk_dev): Added a new member
54079 "id" which is used by the cache manager.
54080
54081 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
54082 of just "GRUB".
54083
54084 2004-08-18 Marco Gerards <metgerards@student.han.nl>
54085
54086 * fs/hfs.c: New file.
54087 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
54088 (grub_emu_SOURCES): Likewise.
54089 (pkgdata_MODULES): Add hfs.mod.
54090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
54091 (grubof_SOURCES): Likewise.
54092 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
54093
54094 * include/grub/misc.h (grub_strncasecmp): Add prototype.
54095 * kern/misc.c (grub_strncasecmp): Add function.
54096
54097 2004-08-14 Marco Gerards <metgerards@student.han.nl>
54098
54099 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
54100 with parentheses.
54101
54102 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
54103 (grub_ext2_dir): In case the directory entry type is unknown, read
54104 it from the inode.
54105
54106 2004-08-02 Peter Bruin <pjbruin@dds.nl>
54107
54108 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
54109 grub_load_linux instead of grub_rescue_cmd_linux as second
54110 argument of grub_rescue_register_command.
54111
54112 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
54113
54114 2004-07-27 Marco Gerards <metgerards@student.han.nl>
54115
54116 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
54117 function.
54118 * commands/boot.c: Remove the check for `GRUB_UTIL'.
54119 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
54120 `loader/powerpc/ieee1275/linux.c',
54121 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
54122 * include/grub/powerpc/ieee1275/ieee1275.h
54123 (grub_ieee1275_release): New prototype.
54124 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
54125 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
54126 normal, boot, linux and linux_normal.
54127 * loader/powerpc/ieee1275/linux.c: New file.
54128 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
54129
54130 2004-07-12 Marco Gerards <metgerards@student.han.nl>
54131
54132 * normal/arg.c (grub_arg_parse): Correct error handling after
54133 reallocating the argumentlist (check if `argl' is not null instead
54134 of checking if `args' is not null).
54135 * kern/mm.c (grub_realloc): Return the same pointer when using the
54136 same region, instead of returning the header address.
54137
54138 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54139
54140 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54141 one block instead of two when looking for the initial partition.
54142 (grub_partition_probe): Initialize the local variable `p' with 0.
54143 Use base 10 for the grub_strtoul call.
54144 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54145 need for one local variable.
54146 (grub_strtoul): Don't add the new value to `num', instead of that
54147 just assign it.
54148
54149 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54150
54151 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54152 (pxeboot_img_SOURCES): New variable.
54153 (pxeboot_img_ASFLAGS): Likewise.
54154 (pxeboot_img_LDFLAGS): Likewise.
54155 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54156 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54157 <lode_leroy@hotmail.com>.
54158
54159 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54160
54161 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54162 there was no input.
54163
54164 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54165
54166 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54167 the history buffer logic.
54168
54169 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54170
54171 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54172 (FILETYPE_INO_SYMLINK): New macros.
54173 (grub_ext2_find_file): Check if the node is a directory using the
54174 inode stat information instead of using the filetype in the
54175 dirent. Exclude the first character of an absolute symlink.
54176 (grub_ext2_dir): Mask out the filetype part of the mode member of
54177 the inode.
54178
54179 2004-05-24 Marco Gerards <metgerards@student.han.nl>
54180
54181 Add support for UFS version 1 and 2. Add support for the minix
54182 filesystem version 1 and 2, both the variants with 14 and 30 long
54183 filenames.
54184
54185 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54186 fs/minix.c.
54187 (grub_emu_SOURCES): Likewise.
54188 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54189 (ufs_mod_SOURCES): New variable.
54190 (ufs_mod_CFLAGS): Likewise.
54191 (minix_mod_SOURCES): Likewise.
54192 (minix_mod_CFLAGS): Likewise.
54193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54194 fs/minix.c.
54195 (grubof_SOURCES): Likewise.
54196 * fs/ufs.c: New file.
54197 * fs/minix.c: New file.
54198 * include/grub/fs.h (grub_ufs_init): New prototype.
54199 (grub_ufs_fini): Likewise.
54200 (grub_minix_init): Likewise.
54201 (grub_minix_fini): Likewise.
54202 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54203 minix fs.
54204
54205 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54206
54207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54208 commands/ls.c, commands/terminal.c, commands/boot.c,
54209 commands/cmp.c and commands/cat.c.
54210 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54211
54212 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54213 "env.h"
54214
54215 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54216
54217 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54218 and grub_, respectively. Because the conversion is trivial and
54219 mechanical, I omit the details here. Please refer to the CVS
54220 if you need more information.
54221
54222 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54223
54224 * include/pupa: Renamed to ...
54225 * include/grub: ... this.
54226 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54227 * util/i386/pc/grub-mkimage.c: ... this.
54228 * util/i386/pc/pupa-setup.c: Renamed to ...
54229 * util/i386/pc/grub-setup.c: ... this.
54230 * util/pupa-emu.c: Renamed to ...
54231 * util/grub-emu.c: ... this.
54232
54233 2004-03-29 Marco Gerards <metgerards@student.han.nl>
54234
54235 Add support for the newworld apple macintosh (PPC). This has been
54236 tested on the powerbook 2000 only. It only adds support for
54237 generic ieee1275 functions, console and disk support. This should
54238 be easy to port to other architectures with support for Open
54239 Firmware.
54240
54241 * configure.ac: Accept the powerpc as host_cpu. In the case of
54242 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54243 specific tests are only executed while building for the i386.
54244 Inverse test for crosscompile.
54245 * genmk.rb (Utility): Allow assembler files.
54246 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54247 * conf/powerpc-ieee1275.rmk: New file.
54248 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54249 * disk/powerpc/ieee1275/partition.c: Likewise.
54250 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54251 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54252 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54253 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54254 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54255 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54256 * include/pupa/powerpc/ieee1275/loader.h
54257 * include/pupa/powerpc/setjmp.h: Likewise.
54258 * include/pupa/powerpc/types.h: Likewise.
54259 * kern/powerpc/ieee1275/init.c: Likewise.
54260 * kern/powerpc/ieee1275/openfw.c: Likewise.
54261 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54262
54263 These files were written by Johan Rydberg
54264 (jrydberg@night.trouble.net) and I only modified them slightly.
54265
54266 * boot/powerpc/ieee1275/cmain.c: New file.
54267 * boot/powerpc/ieee1275/crt0.S: Likewise.
54268 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54269 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54270
54271 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54272
54273 * Makefile.in: Update copyright.
54274 * genmodsrc.sh: Likewise.
54275 * gensymlist.sh: Likewise.
54276 * term/i386/pc/vga.c: Indent correctly.
54277
54278 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54279 bugreporting address.
54280 * util/i386/pc/pupa-setup.c (usage): Likewise,
54281 (main): Call pupa_ext2_init and pupa_ext2_fini.
54282
54283 * fs/fat.c (log2): Renamed to ...
54284 (fat_log2): ... this.
54285 All callers changed.
54286 * kern/misc.c (memcpy): Alias to pupa_memmove.
54287 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54288 lvalue cast.
54289 * util/console.c (pupa_ncurses_fini): Return 0.
54290
54291 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54292 Move fail label here.
54293 [__GNU__]: Don't warn when using stat.
54294 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54295 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54296 long int. Use strtol instead of strtoul.
54297
54298 2004-03-14 Marco Gerards <metgerards@student.han.nl>
54299
54300 * commands/boot.c: New file.
54301 * commands/cat.c: Likewise.
54302 * commands/cmp.c: Likewise.
54303 * commands/ls.c: Likewise.
54304 * commands/terminal.c: Likewise.
54305 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54306 (pupa_register_command): Changed interface to match the new
54307 argument parser.
54308 (pupa_command_execute): Changed (almost rewritten) so it uses
54309 pupa_split_command. Added support for setting variables using the
54310 syntax `foo=bar'.
54311 (rescue_command): Changed to work with the new argument parser.
54312 (terminal_command): Moved from here to commands/terminal.c.
54313 (set_command): New function.
54314 (unset_command): New function.
54315 (insmod_command): New function.
54316 (rmmod_command): New function.
54317 (lsmod_command): New function.
54318 (pupa_command_init): Don't initialize the command terminal
54319 anymore. Initialize the commands set, unset, insmod, rmmod and
54320 lsmod.
54321 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54322 (kernel_img_HEADERS): Add arg.h and env.h.
54323 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54324 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54325 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54326 normal/arg.c.
54327 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54328 terminal.mod.
54329 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54330 (boot_mod_SOURCES): New variable.
54331 (terminal_mod_SOURCES): Likewise.
54332 (ls_mod_SOURCES): Likewise.
54333 (cmp_mod_SOURCES): Likewise.
54334 (cat_mod_SOURCES): Likewise.
54335
54336 * normal/arg.c: New file.
54337 * kern/env.c: Likewise.
54338 * include/pupa/arg.h: Likewise.
54339 * include/pupa/env.h: Likewise.
54340 * font/manager.c (font_command): Changed to match argument parsing
54341 interface changes.
54342 (PUPA_MOD_INIT): Likewise.
54343 * hello/hello.c (pupa_cmd_hello): Likewise.
54344 (PUPA_MOD_INIT): Likewise.
54345 * include/pupa/disk.h: Include <pupa/device.h>.
54346 (pupa_print_partinfo): New prototype.
54347 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54348 (pupa_dl_get_prefix): Likewise.
54349 * include/pupa/misc.h: Include <pupa/err.h>.
54350 (pupa_isgraph): New prototype.
54351 (pupa_isdigit): Likewise.
54352 (pupa_split_cmdline): Likewise.
54353 * include/pupa/normal.h: Include <pupa/arg.h>.
54354 (pupa_command): Changed the prototype of the member `func' to
54355 match the argument parsing interface. Added member `options'.
54356 (pupa_register_command): Updated to match function.
54357 (pupa_arg_parse): New prototype.
54358 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54359 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54360 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54361 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54362 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54363 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54364 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54365 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54366 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54367 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54368 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54369 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54370 * kern/disk.c: Include <pupa/file.h>.
54371 (pupa_print_partinfo): New function.
54372 * kern/dl.c: Include <pupa/env.h>.
54373 (pupa_dl_dir): Variable removed.
54374 (pupa_dl_load): Use the environment variable `prefix' instead of
54375 the variable pupa_dl_dir.
54376 (pupa_dl_set_prefix): Function removed.
54377 (pupa_dl_get_prefix): Likewise.
54378 * kern/i386/pc/init.c: Include <pupa/env.h>.
54379 (pupa_machine_init): Use the environment variable `prefix' instead of
54380 using pupa_dl_set_prefix to set the prefix.
54381 * kern/main.c: Include <pupa/env.h>.
54382 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54383 using pupa_dl_get_prefix to get the prefix.
54384 * kern/misc.c: Include <pupa/env.h>.
54385 (pupa_isdigit): New function.
54386 (pupa_isgraph): Likewise.
54387 (pupa_ftoa): Likewise.
54388 (pupa_vsprintf): Added support for printing values of the type
54389 `double'. Make it possible to format variable output when using
54390 formatting like `%1.2%f'.
54391 (pupa_split_cmdline): New function.
54392 * kern/rescue.c: Include <pupa/env.h>.
54393 (next_word): Removed function.
54394 (pupa_rescue_cmd_prefix): Likewise.
54395 (pupa_rescue_cmd_set): New function.
54396 (pupa_rescue_cmd_unset): New function.
54397 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54398 split the command line instead of splitting it here. Added
54399 support for setting variables using the syntax `foo=bar'. Don't
54400 initialize the prefix command anymore. Initialized the set and
54401 unset commands.
54402 * normal/cmdline.c: Include <pupa/env.h>.
54403 (pupa_tab_complete): Added prototypes for print_simple_completion,
54404 print_partition_completion, add_completion, iterate_commands,
54405 iterate_dev, iterate_part and iterate_dir. Moved code to print
54406 partition information from here to kern/disk.c.
54407 (pupa_cmdline_run): Don't check if the function exists anymore.
54408 * normal/main.c: Include <pupa/env.h>.
54409 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54410 instead of using pupa_dl_get_prefix to get the prefix.
54411 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54412 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54413 warning.
54414 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54415 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54416 ((unused))' to silence a gcc warning.
54417 (pupa_vga_setcolor): Likewise.
54418 (debug_command): Changed to match argument parsing
54419 interface changes.
54420 * util/pupa-emu.c: Include <pupa/env.h>.
54421 (options): Added 0's for unused fields to silence a gcc warning.
54422 (argp): Likewise.
54423 (main): Use the environment variable `prefix' instead of using
54424 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54425 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54426 and terminal.
54427
54428 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54429 * util/misc.c: Include <malloc.h>.
54430 (pupa_malloc): Rewritten so errors are correctly reported.
54431 (pupa_realloc): Likewise.
54432 (pupa_memalign): Likewise.
54433 (pupa_mm_init_region): Declare unused variables with
54434 `__attribute__ ((unused))' to silence a gcc warning.
54435 * normal/i386/setjmp.S: Remove tab at the end of the file to
54436 silence a gcc warning.
54437 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54438 variables with `__attribute__ ((unused))' to silence a gcc
54439 warning.
54440 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54441 local variable i unsigned to silence a gcc warning.
54442
54443 * kern/term.c: Include <pupa/misc.h>.
54444 (pupa_more_lines): New variable.
54445 (pupa_more): Likewise.
54446 (pupa_putcode): When the pager is active pause at the end of every
54447 screen.
54448 (pupa_set_more): New function.
54449 * include/pupa/term.h (pupa_set_more): New prototype.
54450
54451
54452 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54453
54454 Now this project is GRUB 2 rather than PUPA. The location of
54455 the CVS repository was moved to GRUB's.
54456
54457 * configure.ac: Use bug-grub as the reporting address.
54458 Use GRUB instead of PUPA.
54459 Change the version number to 1.90.
54460
54461 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54462
54463 * genkernsyms.sh: Updated copyright information.
54464 * genmk.rb: Likewise.
54465 * genmodsrc.sh: Likewise.
54466 * gensymlist.sh: Likewise.
54467 * boot/i386/pc/boot.S: Likewise.
54468 * boot/i386/pc/diskboot.S: Likewise.
54469 * disk/i386/pc/biosdisk.c: Likewise.
54470 * disk/i386/pc/partition.c: Likewise.
54471 * font/manager.c: Likewise.
54472 * fs/ext2.c: Likewise.
54473 * fs/fat.c: Likewise.
54474 * include/pupa/boot.h: Likewise.
54475 * include/pupa/device.h: Likewise.
54476 * include/pupa/disk.h: Likewise.
54477 * include/pupa/dl.h: Likewise.
54478 * include/pupa/elf.h: Likewise.
54479 * include/pupa/err.h: Likewise.
54480 * include/pupa/file.h: Likewise.
54481 * include/pupa/font.h: Likewise.
54482 * include/pupa/fs.h: Likewise.
54483 * include/pupa/kernel.h: Likewise.
54484 * include/pupa/loader.h: Likewise.
54485 * include/pupa/misc.h: Likewise.
54486 * include/pupa/mm.h: Likewise.
54487 * include/pupa/net.h: Likewise.
54488 * include/pupa/normal.h: Likewise.
54489 * include/pupa/rescue.h: Likewise.
54490 * include/pupa/setjmp.h: Likewise.
54491 * include/pupa/symbol.h: Likewise.
54492 * include/pupa/term.h: Likewise.
54493 * include/pupa/types.h: Likewise.
54494 * include/pupa/i386/setjmp.h: Likewise.
54495 * include/pupa/i386/types.h: Likewise.
54496 * include/pupa/i386/pc/biosdisk.h: Likewise.
54497 * include/pupa/i386/pc/boot.h: Likewise.
54498 * include/pupa/i386/pc/console.h: Likewise.
54499 * include/pupa/i386/pc/init.h: Likewise.
54500 * include/pupa/i386/pc/kernel.h: Likewise.
54501 * include/pupa/i386/pc/linux.h: Likewise.
54502 * include/pupa/i386/pc/loader.h: Likewise.
54503 * include/pupa/i386/pc/memory.h: Likewise.
54504 * include/pupa/i386/pc/multiboot.h: Likewise.
54505 * include/pupa/i386/pc/partition.h: Likewise.
54506 * include/pupa/i386/pc/time.h: Likewise.
54507 * include/pupa/i386/pc/vga.h: Likewise.
54508 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54509 * include/pupa/util/getroot.h: Likewise.
54510 * include/pupa/util/misc.h: Likewise.
54511 * include/pupa/util/resolve.h: Likewise.
54512 * kern/device.c: Likewise.
54513 * kern/disk.c: Likewise.
54514 * kern/dl.c: Likewise.
54515 * kern/err.c: Likewise.
54516 * kern/file.c: Likewise.
54517 * kern/fs.c: Likewise.
54518 * kern/loader.c: Likewise.
54519 * kern/main.c: Likewise.
54520 * kern/misc.c: Likewise.
54521 * kern/mm.c: Likewise.
54522 * kern/rescue.c: Likewise.
54523 * kern/term.c: Likewise.
54524 * kern/i386/dl.c: Likewise.
54525 * kern/i386/pc/init.c: Likewise.
54526 * kern/i386/pc/lzo1x.S: Likewise.
54527 * kern/i386/pc/startup.S: Likewise.
54528 * loader/i386/pc/chainloader.c: Likewise.
54529 * loader/i386/pc/linux.c: Likewise.
54530 * loader/i386/pc/multiboot.c: Likewise.
54531 * normal/cmdline.c: Likewise.
54532 * normal/command.c: Likewise.
54533 * normal/main.c: Likewise.
54534 * normal/menu.c: Likewise.
54535 * normal/i386/setjmp.S: Likewise.
54536 * term/i386/pc/console.c: Likewise.
54537 * term/i386/pc/vga.c: Likewise.
54538 * util/console.c: Likewise.
54539 * util/genmoddep.c: Likewise.
54540 * util/misc.c: Likewise.
54541 * util/pupa-emu.c: Likewise.
54542 * util/resolve.c: Likewise.
54543 * util/unifont2pff.rb: Likewise.
54544 * util/i386/pc/biosdisk.c: Likewise.
54545 * util/i386/pc/getroot.c: Likewise.
54546 * util/i386/pc/pupa-mkimage.c: Likewise.
54547 * util/i386/pc/pupa-setup.c: Likewise.
54548
54549 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54550
54551 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54552 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54553 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54554 reading and reset it after reading.
54555 (pupa_ext2_close): Return PUPA_ERR_NONE.
54556
54557 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54558 Correct value.
54559 (struct linux_kernel_header): Add kernel_version and
54560 initrd_addr_max.
54561 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54562 pupa_file_read succeeds.
54563 (pupa_rescue_cmd_initrd): Implement.
54564
54565 2003-12-03 Marco Gerards <metgerards@student.han.nl>
54566
54567 * fs/ext2.c (pupa_ext2_label): New function.
54568 (pupa_ext2_fs): Added label.
54569 * fs/fat.c (pupa_fat_label): New function.
54570 (pupa_fat_fs): Added label.
54571 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54572
54573 * kern/misc.c (pupa_strndup): New function.
54574 * include/pupa/misc.h (pupa_strndup): New prototype.
54575
54576 * include/pupa/normal.h: Include <pupa/err.h>.
54577 (pupa_set_history): New prototype.
54578 (pupa_iterate_commands): New prototype.
54579 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54580 <pupa/disk.h>, <pupa/file.h>.
54581 (hist_size): New variable.
54582 (hist_lines): Likewise.
54583 (hist_end): Likewise.
54584 (hist_used): Likewise.
54585 (pupa_set_history): New function.
54586 (pupa_history_get): Likewise.
54587 (pupa_history_add): Likewise.
54588 (pupa_history_replace): Likewise.
54589 (pupa_tab_complete): Likewise.
54590 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54591 completion shows partitionnames while completing partitions, this
54592 feature was suggested by Jeff Bailey.
54593 * normal/command.c (pupa_iterate_commands): New function.
54594 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54595 (pupa_normal_init): Initialize history buffer.
54596 (PUPA_MOD_INIT): Likewise.
54597 (pupa_normal_fini): Free the history buffer.
54598 (PUPA_MOD_FINI): Likewise.
54599
54600 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54601 key.
54602
54603 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54604 * configure.ac [i386]: Check for regparam bug.
54605 (NESTED_FUNC_ATTR) [! i386]: Defined.
54606
54607 2003-11-17 Marco Gerards <metgerards@student.han.nl>
54608
54609 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54610 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54611 (pupa_emu_SOURCES): New variable.
54612 (pupa_emu_LDFLAGS): Likewise.
54613 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54614 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54615 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54616 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54617 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54618 (pupa_jmp_buf): New typedef.
54619 (pupa_setjmp) [PUPA_UTIL]: New macro.
54620 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54621 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54622 (pupa_refresh): New prototype.
54623 * include/pupa/util/getroot.h: New file.
54624 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54625 it.
54626 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54627 (pupa_rescue_cmd_cat): Likewise.
54628 (pupa_rescue_cmd_ls): Likewise.
54629 (pupa_rescue_cmd_testload): Likewise.
54630 (pupa_rescue_cmd_lsmod): Likewise.
54631 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54632 * normal/menu.c (run_menu): Likewise.
54633 * kern/term.c (pupa_cls): Likewise.
54634 (pupa_refresh): New function.
54635 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54636 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54637 * util/console.c: New file.
54638
54639 * util/i386/pc/getroot.c: New file.
54640 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54641 (pupa_putchar): New function.
54642 (pupa_refresh): Likewise.
54643 (xgetcwd): Function moved to ...
54644 (strip_extra_slashes): Likewise.
54645 (get_prefix): Likewise.
54646 * util/i386/pc/getroot.c: ... here.
54647 (find_root_device): Function moved and renamed to...
54648 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54649 Changed all callers.
54650 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54651 and renamed to...
54652 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54653 Changed all callers.
54654 * util/misc.c (pupa_memalign): New function.
54655 (pupa_mm_init_region): Likewise.
54656 (pupa_register_exported_symbols): Likewise.
54657 (pupa_putchar): Function removed.
54658 * util/pupa-emu.c: New file.
54659
54660 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54661
54662 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54663 (_multiboot_mod_SOURCES): New variable.
54664 (_multiboot_mod_CFLAGS): Likewise.
54665 * loader/i386/pc/multiboot.c: New file.
54666 * include/pupa/i386/pc/multiboot.h: Likewise.
54667 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54668 (pupa_multiboot_real_boot): New function.
54669 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54670 (pupa_multiboot_real_boot): New prototype.
54671 (pupa_rescue_cmd_multiboot): Likewise
54672 (pupa_rescue_cmd_module): Likewise.
54673
54674 * kern/loader.c (pupa_loader_set): Continue when
54675 pupa_loader_unload_func() fails.
54676 (pupa_loader_unset): New function.
54677 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54678
54679 * kern/misc.c (pupa_stpcpy): New function.
54680 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54681
54682 2003-11-12 Marco Gerards <metgerards@student.han.nl>
54683
54684 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54685 for available extensions.
54686
54687 * include/pupa/i386/pc/time.h: New file.
54688 * kern/disk.c: Include <pupa/machine/time.h>.
54689 (PUPA_CACHE_TIMEOUT): New macro.
54690 (pupa_last_time): New variable.
54691 (pupa_disk_open): Flush the cache when there was a timeout.
54692 (pupa_disk_close): Reset the timer.
54693 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54694 pupa_currticks.
54695 * util/misc.c: Include <sys/times.h>
54696 (pupa_get_rtc): New function.
54697
54698 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54699
54700 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54701 as blocks.
54702 (pupa_ext2_get_file_block): Use blocks member.
54703
54704 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54705 first block. Return -1 instead of pupa_errno on error.
54706
54707 2003-10-27 Marco Gerards <metgerards@student.han.nl>
54708
54709 * README: In the pupa-mkimage example use _chain instead of chain
54710 and ext2 instead of fat.
54711 * TODO: Replace ext2fs with jfs as an example. Add an item for
54712 adding journal playback for ext2fs.
54713 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54714 (pkgdata_MODULES): Added ext2.mod.
54715 (ext2_mod_SOURCES): New variable.
54716 (ext2_mod_CFLAGS): Likewise.
54717 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54718 * include/pupa/misc.h (pupa_strncpy): New prototype.
54719 (pupa_strcat): Likewise.
54720 (pupa_strncmp): Likewise.
54721 * kern/misc.c (pupa_strcat): Enable function.
54722 (pupa_strncpy): New function.
54723 (pupa_strncmp): Likewise.
54724 * fs/ext2.c: New file.
54725
54726 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54727 when the read failed before retrying.
54728 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54729 (_FILE_OFFSET_BITS): Likewise.
54730 * configure.ac: Added AC_SYS_LARGEFILE.
54731
54732 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54733
54734 * genmk.rb (PModule#rule): Make sure to get only symbol names
54735 from the output of nm.
54736 Reported by Robert Millan <rmh.grub@aybabtu.com>.
54737
54738 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54739
54740 I forgot to check in these changes for a long time. This adds
54741 incomplete support for VGA console, and this is still very
54742 buggy. Also, a lot of consideration is required for I18N,
54743 UNICODE, and VGA font issues. Therefore, assume that this is
54744 such that "better than nothing".
54745
54746 * font/manager.c: New file.
54747 * include/pupa/font.h: Likewise.
54748 * include/pupa/i386/pc/vga.h: Likewise.
54749 * term/i386/pc/vga.c: Likewise.
54750 * util/unifont2pff.rb: Likewise.
54751
54752 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54753 (pkgdata_MODULES): Added vga.mod and font.mod.
54754 (vga_mod_SOURCES): New variables.
54755 (vga_mod_CFLAGS): Likewise.
54756 (font_mod_SOURCES): Likewise.
54757 (font_mod_CFLAGS): Likewise.
54758
54759 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54760
54761 * include/pupa/term.h: Include pupa/err.h.
54762 (struct pupa_term): Added init and fini.
54763 Changed the argument of putchar to pupa_uint32_t.
54764
54765 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54766 (pupa_console_real_putchar): New prototype.
54767 (pupa_console_putchar): Removed.
54768 (pupa_console_checkkey): Exported.
54769 (pupa_console_getkey): Likewise.
54770
54771 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54772 characters.
54773
54774 * kern/term.c (pupa_term_set_current): Rewritten.
54775 (pupa_putchar): Likewise.
54776 (pupa_putcode): New function.
54777
54778 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54779 (pupa_console_real_putchar): ... this.
54780 (pupa_vga_set_mode): New function.
54781 (pupa_vga_get_font): Likewise.
54782
54783 * normal/command.c: Include pupa/term.h.
54784 (terminal_command): New function.
54785 (pupa_command_init): Register the command "terminal".
54786
54787 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54788 (DISP_UP): Likewise.
54789 (DISP_RIGHT): Likewise.
54790 (DISP_DOWN): Likewise.
54791 (DISP_HLINE): Likewise.
54792 (DISP_VLINE): Likewise.
54793 (DISP_UL): Likewise.
54794 (DISP_UR): Likewise.
54795 (DISP_LL): Likewise.
54796 (DISP_LR): Likewise.
54797
54798 * term/i386/pc/console.c (pupa_console_putchar): New function.
54799
54800 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54801
54802 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54803 FIX. Reverse the path_list.
54804
54805 * include/pupa/normal.h: Export pupa_register_command and
54806 pupa_unregister_command.
54807
54808 * hello/hello.c (pupa_cmd_hello): New module.
54809 * conf/i386-pc.rmk: Added hello.mod.
54810
54811 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54812
54813 * kern/i386/pc/lzo1x.S: New file.
54814
54815 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54816 (compress_kernel): New variable.
54817 (generate_image): Heavily modified to support compressing a
54818 large part of the core image.
54819
54820 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54821 leak.
54822 (pupa_util_load_image): New function.
54823
54824 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54825 (pupa_compressed_size): New variable.
54826 (codestart): Enable Gate A20 here.
54827 Decompress the compressed part of the core image.
54828 Rearrange the code to put functions and variables which are
54829 required for initialization in the non-compressed part.
54830 Include lzo1x.S.
54831
54832 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54833 here.
54834
54835 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54836
54837 * include/pupa/i386/pc/kernel.h
54838 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54839 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54840 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54841 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54842 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54843
54844 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54845
54846 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54847 (Utility#rule): Likewise.
54848
54849 * configure.ac: Check if LZO is available.
54850
54851 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54852
54853 * include/pupa/normal.h: New file.
54854 * include/pupa/setjmp.h: Likewise.
54855 * include/pupa/i386/setjmp.h: Likewise.
54856 * normal/cmdline.c: Likewise.
54857 * normal/command.c: Likewise.
54858 * normal/main.c: Likewise.
54859 * normal/menu.c: Likewise.
54860 * normal/i386/setjmp.S: Likewise.
54861
54862 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54863 (pupa_rescue_cmd_initrd): Likewise.
54864
54865 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54866 Likewise.
54867
54868 * kern/i386/pc/startup.S (translation_table): New variable.
54869 (translate_keycode): New function.
54870 (pupa_console_getkey): Call translate_keycode.
54871
54872 * kern/rescue.c (attempt_normal_mode): New function.
54873 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54874 it failed, print a message.
54875
54876 * kern/mm.c (pupa_real_malloc): Print more information when a
54877 free magic is broken.
54878 (pupa_free): If the first free header is not free actually, set
54879 it to P.
54880
54881 * kern/main.c (pupa_load_normal_mode): Just load the module
54882 "normal".
54883 (pupa_main): Don't print the message
54884 "Entering into rescue mode..." here.
54885
54886 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54887 Declared.
54888 (pupa_rescue_cmd_initrd): Likewise.
54889 (pupa_rescue_cmd_initrd): Likewise.
54890
54891 * include/pupa/symbol.h (FUNCTION): Specify the type.
54892 (VARIABLE): Likewise.
54893
54894 * include/pupa/err.h (pupa_err_t): Added
54895 PUPA_ERR_UNKNOWN_COMMAND.
54896
54897 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54898 (pupa_dl_get_prefix): Likewise.
54899
54900 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54901 Added _chain.mod and _linux.mod instead of chain.mod and
54902 linux.mod.
54903 (chain_mod_SOURCES): Renamed to ...
54904 (_chain_mod_SOURCES): ... this.
54905 (chain_mod_CFLAGS): Renamed to ...
54906 (_chain_mod_CFLAGS): ... this.
54907 (linux_mod_SOURCES): Renamed to ...
54908 (_linux_mod_SOURCES): ... this.
54909 (linux_mod_CFLAGS): Renamed to ...
54910 (_linux_mod_CFLAGS): ... this.
54911 (normal_mod_SOURCES): New variable.
54912 (normal_mod_CFLAGS): Likewise.
54913 (normal_mod_ASFLAGS): Likewise.
54914
54915 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54916
54917 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54918 possible.
54919
54920 * kern/dl.c (pupa_dl_ref): Refer depending modules
54921 recursively.
54922 (pupa_dl_unref): Unrefer depending modules recursively.
54923 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54924 a module is unloaded before one depending on that module is
54925 unloaded.
54926 (pupa_dl_unload): Unload depending modules explicitly,
54927 if possible.
54928
54929 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54930
54931 * include/pupa/i386/pc/linux.h: New file.
54932 * loader/i386/pc/linux.c: Likewise.
54933
54934 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54935 Removed.
54936 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54937 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54938 of PUPA_CHAINLOADER_BOOT_SECTOR.
54939
54940 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54941 (pupa_linux_prot_size): New variable.
54942 (pupa_linux_tmp_addr): Likewise.
54943 (pupa_linux_real_addr): Likewise.
54944 (pupa_linux_boot_zimage): New function.
54945 (pupa_linux_boot_bzimage): Likewise.
54946
54947 * kern/i386/pc/init.c (struct mem_region): New structure.
54948 (MAX_REGIONS): New macro.
54949 (mem_regions): New variable.
54950 (num_regions): Likewise.
54951 (pupa_os_area_addr): Likewise.
54952 (pupa_os_area_size): Likewise.
54953 (pupa_lower_mem): Likewise.
54954 (pupa_upper_mem): Likewise.
54955 (add_mem_region): New function.
54956 (compact_mem_regions): Likewise.
54957 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54958 the size of the conventional memory and that of so-called upper
54959 memory (before the first memory hole).
54960 Instead of adding each found region to free memory, use
54961 add_mem_region and add them after removing overlaps.
54962 Also, add only 1/4 of the upper memory to free memory. The rest
54963 is used for loading OS images. Maybe this is ad hoc, but this
54964 makes it much easier to relocate OS images when booting.
54965
54966 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54967 (pupa_enter_rescue_mode): Don't register initrd and module.
54968
54969 * kern/mm.c: Include pupa/dl.h.
54970
54971 * kern/main.c: Include pupa/file.h and pupa/device.h.
54972
54973 * kern/loader.c (pupa_loader_load_module_func): Removed.
54974 (pupa_loader_load_module): Likewise.
54975
54976 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54977 ``.o''.
54978
54979 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54980 (pupa_linux_tmp_addr): Likewise.
54981 (pupa_linux_real_addr): Likewise.
54982 (pupa_linux_boot_zimage): Likewise.
54983 (pupa_linux_boot_bzimage): Likewise.
54984
54985 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54986 (pupa_upper_mem): Likewise.
54987 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54988 module is too dangerous.
54989
54990 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54991 (pupa_os_area_size): Likewise.
54992 (pupa_loader_set): Remove the first argument. Loader doesn't
54993 manage modules or initrd any longer.
54994 (pupa_loader_load_module): Removed.
54995
54996 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54997 (linux_mod_SOURCES): New variable.
54998 (linux_mod_CFLAGS): Likewise.
54999
55000 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
55001
55002 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
55003 the length of a blocklist correctly.
55004
55005 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
55006 Use ioctl only if the OS file is a block device.
55007 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
55008 not very useful for normal files.
55009
55010 * kern/main.c (pupa_set_root_dev): New function.
55011 (pupa_load_normal_mode): Likewise.
55012 (pupa_main): Call those above.
55013
55014 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
55015 pupa_uint16_t.
55016
55017 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
55018
55019 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
55020
55021 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
55022 (setup): Configure the installed partition information and the
55023 dl prefix.
55024
55025 * loader/i386/pc/chainloader.c (my_mod): New variable.
55026 (pupa_chainloader_unload): New function.
55027 (pupa_rescue_cmd_chainloader): Refer itself.
55028 (PUPA_MOD_INIT): Save its own module in MY_MOD.
55029
55030 * kern/i386/pc/startup.S (install_partition): Removed.
55031 (version_string): Likewise.
55032 (config_file): Likewise.
55033 (pupa_install_dos_part): New variable.
55034 (pupa_install_bsd_part): Likewise.
55035 (pupa_prefix): Likewise.
55036 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
55037
55038 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
55039 and pupa/misc.h.
55040 (make_install_device): New function.
55041 (pupa_machine_init): Set the dl prefix.
55042
55043 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
55044 (buf): Renamed to ...
55045 (linebuf): ... this.
55046 (pupa_rescue_cmd_prefix): New function.
55047 (pupa_rescue_cmd_insmod): Likewise.
55048 (pupa_rescue_cmd_rmmod): Likewise.
55049 (pupa_rescue_cmd_lsmod): Likewise.
55050 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
55051 rmmod and lsmod.
55052
55053 * kern/mm.c (pupa_memalign): If failed even after invalidating
55054 disk caches, unload unneeded modules and retry.
55055
55056 * kern/misc.c (pupa_memmove): New function.
55057 (pupa_memcpy): Removed.
55058 (pupa_strcpy): New function.
55059 (pupa_itoa): Made static.
55060
55061 * kern/dl.c (pupa_dl_iterate): New function.
55062 (pupa_dl_ref): Likewise.
55063 (pupa_dl_unref): Likewise.
55064 (pupa_dl_unload): Return if succeeded or not.
55065 (pupa_dl_unload_unneeded): New function.
55066 (pupa_dl_unload_all): Likewise.
55067 (pupa_dl_init): Renamed to ...
55068 (pupa_dl_set_prefix): ... this.
55069 (pupa_dl_get_prefix): New function.
55070
55071 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
55072 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
55073 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55074 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55075 (pupa_install_dos_part): Declared.
55076 (pupa_install_bsd_part): Likewise.
55077 (pupa_prefix): Likewise.
55078 (pupa_boot_drive): Likewise.
55079
55080 * include/pupa/types.h: Fix a typo.
55081
55082 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
55083 pupa_memmove.
55084 (pupa_memmove): Declared.
55085 (pupa_strcpy): Likewise.
55086
55087 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
55088 pupa_mod_init takes one argument, its own module.
55089 (pupa_dl_unload_unneeded): Declared.
55090 (pupa_dl_unload_all): Likewise.
55091 (pupa_dl_ref): Likewise.
55092 (pupa_dl_unref): Likewise.
55093 (pupa_dl_iterate): Likewise.
55094 (pupa_dl_init): Renamed to ...
55095 (pupa_dl_set_prefix): ... this.
55096 (pupa_dl_get_prefix): Declared.
55097
55098 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
55099 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
55100 unloaded.
55101 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
55102 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
55103
55104 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
55105 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
55106
55107 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55108
55109 * util/i386/pc/pupa-setup.c (setup): Define the internal
55110 function find_first_partition_start at the top level, because GCC
55111 3.0.x cannot compile internal functions in deeper scopes
55112 correctly.
55113 (find_root_device): Use lstat instead of stat.
55114 Don't follow symbolic links.
55115 Fix the path-constructing code.
55116
55117 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
55118 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
55119 by a BLKGETSIZE ioctl first, because block devices don't fill
55120 the member st_mode of the structure stat on Linux.
55121 [__linux__] (linux_find_partition): Use a temporary buffer
55122 REAL_DEV for the working space. Copy it to DEV before returning.
55123 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
55124 buffer cache consistent.
55125 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
55126 strncmp. The previous value was merely wrong.
55127 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
55128
55129 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
55130 FAT size is 12. The previous value was merely wrong.
55131
55132 * kern/main.c (pupa_main): Don't split the starting message from
55133 newlines.
55134
55135 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55136 LF, because BIOS goes crazy about character attributes in this
55137 case.
55138
55139 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55140
55141 * include/i386/pc/util/biosdisk.h: New file.
55142 * util/i386/pc/biosdisk.c: Likewise.
55143 * util/i386/pc/pupa-setup.c: Likewise.
55144
55145 * Makefile.in (INCLUDE_DISTFILES): Added
55146 include/pupa/i386/pc/util/biosdisk.h.
55147 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55148 directory util/i386/pc.
55149 (install-local): Added a rule for sbin_UTILITIES.
55150 (uninstall): Likewise.
55151
55152 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55153
55154 * util/misc.c (xrealloc): New function.
55155 (pupa_malloc): Likewise.
55156 (pupa_free): Likewise.
55157 (pupa_realloc): Likewise.
55158 (pupa_stop): Likewise.
55159 (pupa_putchar): Likewise.
55160
55161 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55162
55163 * include/pupa/util/misc.h (xrealloc): Declared.
55164
55165 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55166 macro.
55167 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55168 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55169
55170 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55171 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55172
55173 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55174 way should be implemented.
55175 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55176
55177 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55178 the size of NAME for safety.
55179 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55180 0x88.
55181
55182 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55183 (pupa_setup_SOURCES): Likewise.
55184
55185 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55186
55187 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55188
55189 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55190 bunch of pushl's from pusha, because this destroys the return
55191 value.
55192
55193 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55194
55195 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55196 This means that any missing prototypes could be fatal. Also, you
55197 must take care when writing assembly code. See the comments at
55198 the beginning of startup.S, for more details.
55199
55200 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55201 compilation mechanism.
55202 (pupa_chainloader_real_boot): Likewise.
55203 (pupa_biosdisk_rw_int13_extensions): Likewise.
55204 (pupa_biosdisk_rw_standard): Likewise.
55205 (pupa_biosdisk_check_int13_extensions): Likewise.
55206 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55207 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55208 (pupa_get_memsize): Likewise.
55209 (pupa_get_mmap_entry): Likewise.
55210 (pupa_console_putchar): Likewise.
55211 (pupa_console_setcursor): Likewise.
55212 (pupa_getrtsecs): Use pushl instead of push.
55213
55214 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55215 memory instead of the stack for a mmap entry, because some
55216 BIOSes may ignore the maximum size and overflow.
55217
55218 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55219
55220 * genmk.rb (PModule#rule): Compile automatically generated
55221 sources with module-specific CFLAGS as well as other sources.
55222
55223 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55224
55225 * configure.ac: Check ld.
55226 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55227 respectively, before checking endianness and sizes.
55228
55229 * Makefile.in (LD): New variable.
55230
55231 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55232
55233 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55234
55235 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55236
55237 * Changelog: New file.
55238